update
This commit is contained in:
2735
daten/RAG/.pruefung.json
Normal file
2735
daten/RAG/.pruefung.json
Normal file
File diff suppressed because it is too large
Load Diff
93
daten/RAG/admin.md
Normal file
93
daten/RAG/admin.md
Normal file
@@ -0,0 +1,93 @@
|
||||
<!-- titel -->
|
||||
Admin
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Bietet Zugriff auf Enterprise-Betriebsdaten und Systemüberwachung für Administratoren
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- POST-Operationen erfordern gültiges CSRF-Token
|
||||
- Wiederherstellung erfordert ROLE_SUPER_ADMIN
|
||||
- Ergebnis jeder Operation als Flash-Meldung
|
||||
- Backup-Download erfordert ROLE_SUPER_ADMIN
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Betrieb einsehen
|
||||
<!-- ziel -->
|
||||
Verschafft Admins einen Überblick über den Betriebszustand aller Systeme
|
||||
<!-- regeln -->
|
||||
- Backup- und Restore-Bereitschaft zeigt Status
|
||||
- Sicherheit und Datenschutz zeigt Bereitschaft
|
||||
- Deployment-Scheduler zeigt Bereitschaft
|
||||
- Backup-Übersicht zeigt vorhandene Sicherungen
|
||||
- Operator-Prüfprotokoll zeigt letzte 8 Prüfungen
|
||||
- Übersicht kombiniert alle Berichte
|
||||
<!-- testen -->
|
||||
- Admin-Dashboard öffnen
|
||||
- Backup- und Restore-Bereitschaft anzeigen
|
||||
- Sicherheit und Datenschutz anzeigen
|
||||
- Deployment-Scheduler anzeigen
|
||||
- Backup-Übersicht mit vorhandenen Sicherungen
|
||||
- Operator-Prüfprotokoll mit letzten 8 Einträgen
|
||||
- Kombinierte Übersicht aller Berichte
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Dashboard anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt Systemzustand und Konfiguration im Admin-Bereich
|
||||
<!-- regeln -->
|
||||
- Rendered admin dashboard index html twig
|
||||
- Enthält Chunk-Zähler und Chunk-Limit
|
||||
- Enthält Vektor- und Tag-Gesundheitsdaten
|
||||
- Enthält Reset-Konfiguration
|
||||
<!-- testen -->
|
||||
- Admin-Dashboard aufrufen
|
||||
- HTTP 200 zurückerhalten
|
||||
- admin-dashboard-index-html-twigt Template prüfen
|
||||
- Chunk-Zähler im Response vorhanden
|
||||
- Vektor-Gesundheitsdaten im Response vorhanden
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Logout einleiten
|
||||
<!-- ziel -->
|
||||
Beendet die aktive Adminsession sicher
|
||||
<!-- regeln -->
|
||||
- GET oder POST an Admin-Logout startet Logout
|
||||
- Wird vom Framework-Sicherheitssystem abgefangen
|
||||
- Leere Methoden-Signatur
|
||||
- Löscht Session und Authentifizierungsdaten
|
||||
<!-- testen -->
|
||||
- Klick auf Logout-Button im Admin
|
||||
- Weiterleitung zur Login-Seite
|
||||
- Session beendet
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Wiederherstellung testen
|
||||
<!-- ziel -->
|
||||
Prueft ob ein Backup sich vollständig wiederherstellen laesst
|
||||
<!-- regeln -->
|
||||
- Benoetigt ROLE_SUPER_ADMIN
|
||||
- POST-Request mit CSRF-Token
|
||||
- Prueft angegebene Backup-ID gegen Muster retriex-backup-YYYYMMDD-HHMMSS
|
||||
- Trockenlauf ohne tatsaechliche Wiederherstellung
|
||||
- Ergebnis als Flash-Meldung nach Startseite
|
||||
<!-- testen -->
|
||||
- Admin-Enterprise-Seite aufrufen
|
||||
- Dry-Run-Wiederherstellung mit gueltigem CSRF-Token absenden
|
||||
- Rueckleitung auf Admin-Enterprise mit Flash-Meldung pruefen
|
||||
- Flash-Meldung zeigt Warnungen und Fehler oder Erfolg
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Zum Dashboard weiterleiten
|
||||
<!-- ziel -->
|
||||
Leitet admin und admin- auf das Dashboard um
|
||||
<!-- regeln -->
|
||||
- Admin leitet zum Dashboard um
|
||||
- Verhindert doppelten Inhalt
|
||||
<!-- testen -->
|
||||
- admin aufrufen
|
||||
- Weiterleitung zu dashboard prüfen
|
||||
- admin-Abschluss aufrufen
|
||||
- Weiterleitung zu dashboard prüfen
|
||||
286
daten/RAG/agenten.md
Normal file
286
daten/RAG/agenten.md
Normal file
@@ -0,0 +1,286 @@
|
||||
<!-- titel -->
|
||||
Agenten
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Steuert Agentenaktivitaet und prueft deren Komponenten automatisiert
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- JSON-Ausgabe bei gesetztem --json Flag
|
||||
- Self-TestsFuehrenKeineMCPTransportAufrufeAus
|
||||
- AgentenaktivitaetSeiteAusQueryParameterPage
|
||||
- LimitZwischen1Und200Standardmaessig50
|
||||
- StreamingGibtJedesTokenSofortAus
|
||||
- Inspector liefert paths, meta und ndjson
|
||||
- paths zeigen konfigurierte Agentenlogikdateien
|
||||
- meta enthält Statistiken zur Agentenaktivität
|
||||
- ndjson enthält paginierte Aktivitätseinträge
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Agentenaktivität anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt eine liste der agentenaktivitäten
|
||||
<!-- regeln -->
|
||||
- Seite aus Query-Parameter page
|
||||
- Limit zwischen 1 und 200
|
||||
- Standardlimit 50
|
||||
<!-- testen -->
|
||||
- Admin-System-Agent abrufen
|
||||
- Antwort ist 200
|
||||
- Debug-Count zeigt Itemanzahl
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Chat-Auswahl-Guard testen
|
||||
<!-- ziel -->
|
||||
Validiert dass der Chat-Auswahl-Guard korrekt funktioniert
|
||||
<!-- regeln -->
|
||||
- Command mto:agent:knowledge-space:chat-selection-guard-self-test
|
||||
- json gibt strukturierte Daten aus
|
||||
- Exit-Code 0 bei Status OK, sonst 1
|
||||
<!-- testen -->
|
||||
- Command mit --json Flag ausführen
|
||||
- JSON mit status summary cases enthält
|
||||
- Exit-Code entspricht Status
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Fähigkeiten ermitteln
|
||||
<!-- ziel -->
|
||||
Listet verfügbare Resources, Tools und Prompts eines Admin-MCP-Servers auf
|
||||
<!-- regeln -->
|
||||
- Benötigt gespeicherten Admin-MCP-Server
|
||||
- read liest Resource-URIs metadaten
|
||||
- json maschinelles Format
|
||||
- Status ready bei erfolgreicher Erkennung
|
||||
- Runtime-Calls gezählt
|
||||
<!-- testen -->
|
||||
- Befehl mit gespeichertem Servernamen ausführen
|
||||
- Ausgabe auf Status ready prüfen
|
||||
- Resources, Tools und Prompts in Ausgabe
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Hybrid-Tool-Auswahl testen
|
||||
<!-- ziel -->
|
||||
Stellt sicher, dass LLM-Vorschlag und RetrieX-Validierung bei der Tool-Auswahl zusammenarbeiten
|
||||
<!-- regeln -->
|
||||
- Planner besteht eigenen Self-Test
|
||||
- AgentRunner nutzt LLM für Vorschlag vor RetrieX-Validierung
|
||||
- Loader zeigt Status beim Tool-Auswählen
|
||||
- Model-Config enthält dediziertes mcp_tool_selection-Modell
|
||||
<!-- testen -->
|
||||
- mto:agent:mcp:hybrid-tool-selection-planner-self-test --json ausführen
|
||||
- JSON-Ausgabe auf status OK prüfen
|
||||
- Alle vier Cases mit Status PASS vorhanden
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
MCP-Gateway trocken ausführen
|
||||
<!-- ziel -->
|
||||
Prüft ob eine Resource die Gateway-Policy erfüllt und welches Evidence erzeugt wird
|
||||
<!-- regeln -->
|
||||
- Kein MCP-Transport wird geöffnet
|
||||
- fixture nutzt eingebaute Testdaten
|
||||
- Exit-Code 0 bei Status ready
|
||||
- json gibt Ergebnis als JSON aus
|
||||
<!-- testen -->
|
||||
- bin console mto agent mcp gateway-dry-run --fixture ausführen
|
||||
- Ausgabe zeigt status ready
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
MCP-Laufzeit-Gate prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob ein MCP-Read-Only-Zugriff erlaubt ist, ohne Transport zu öffnen
|
||||
<!-- regeln -->
|
||||
- Gate ohne Transport öffnen
|
||||
- fixture nutzt eingebaute Testdaten
|
||||
- assume-enabled simuliert aktivierte MCP-Konfiguration
|
||||
- JSON-Ausgabe verfügbar
|
||||
<!-- testen -->
|
||||
- Console-Befehl mit --json ausführen
|
||||
- Exit-Code auf SUCCESS prüfen
|
||||
- JSON auf Status ready und Fehler prüfen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
MCP-Laufzeitgrenze testen
|
||||
<!-- ziel -->
|
||||
Validiert, dass MCP-Server nur Admin-gesteuert und begrenzt in der Antwort-Runtime verwendet werden
|
||||
<!-- regeln -->
|
||||
- McpDataRoomStore nur in Admin, CLI, ReadModels referenziert
|
||||
- Keine externen MCP-Abrufe in Runtime-Boundary
|
||||
- Keine Chat-, Retrieval- oder Evidence-Beruehrung
|
||||
- Tool-Nachweise unterscheiden sichtbare Tool-Ausfuehrung
|
||||
- Tool-first-Inhalts-Fallback bleibt im Statusprotokoll sichtbar
|
||||
- Live-Inhalts-Fallback buendelt MCP-JSON-RPC-Resource-Reads
|
||||
<!-- testen -->
|
||||
- Rueckgabewert pruefen: Exitcode 0 bestaetigt OK
|
||||
- Rueckgabewert pruefen: Exitcode 1 bestaetigt FAIL
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
MCP-Quelle prüfen
|
||||
<!-- ziel -->
|
||||
Prüft eine gespeicherte Admin-MCP-Quelle als registrierungskompatible Richtlinie
|
||||
<!-- regeln -->
|
||||
- Lokale Prüfung ohne MCP-Transport
|
||||
- server wählt die gespeicherte Quelle
|
||||
- audit-all prüft alle Quellen
|
||||
- online führt einen Nur-Lese-Netzwerktest durch
|
||||
- json gibt nur Metadaten aus
|
||||
<!-- testen -->
|
||||
- mto:agent:mcp:admin-source-check --server=my_source
|
||||
- Ergebnis zeigt Status, Label und Fehler
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Mit Agent chatten
|
||||
<!-- ziel -->
|
||||
Stellt Fragen an den KI-Agenten und empfängt Antworten in Echtzeit
|
||||
<!-- regeln -->
|
||||
- Streaming-Ausgabe jedes Tokens sofort
|
||||
- Beendet auf Eingabe von exit
|
||||
- Beendet auf Strg+C
|
||||
- Leerer Prompt beendet
|
||||
- user-id Standardwert ist cli
|
||||
<!-- testen -->
|
||||
- mto:agent:chat ausführen
|
||||
- Frage eingeben
|
||||
- Antwort tokenweise empfangen
|
||||
- exit eingeben
|
||||
- CLI beendet
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Performance-Cache leeren
|
||||
<!-- ziel -->
|
||||
Leert alle RetrieX Runtime-Caches und den Python Vector-Service-Query-Cache
|
||||
<!-- regeln -->
|
||||
- Löscht den PHP Runtime-Cache
|
||||
- Löscht optional den Vector-Service-Query-Cache
|
||||
- skip-vector-service überspringt den Vector-Service-Cache
|
||||
- json gibt maschinenlesbare Ausgabe aus
|
||||
<!-- testen -->
|
||||
- php bin console mto:agent:performance:cache:clear json
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Produktlabel-Formatierer testen
|
||||
<!-- ziel -->
|
||||
Validiert die p465-Formatter-Extraktion ohne Laufzeiteffekte
|
||||
<!-- regeln -->
|
||||
- Liest nur lokale Quelldateien
|
||||
- Ruft keine Chat-, Retrieval-, Shop-, MCP- oder LLM-Dienste auf
|
||||
- Prüft AgentRunner-Delegation an ProductLabelFormatter
|
||||
- Prüft Formatter-Besitz reiner Anzeige-Methoden
|
||||
- Prüft Formatter-Besitz reiner Label-Methoden
|
||||
- Prüft Abwesenheit von Runtime-Dependencies im Formatter
|
||||
- Prüft Abwesenheit von p465-Methoden im AgentRunner
|
||||
- Prüft Dokumentationsabdeckung in allen Referenzdateien
|
||||
<!-- testen -->
|
||||
- Produktlabel-Formatter-Selbsttest mit --json ausführen
|
||||
- JSON zeigt status OK und 11 PASS
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Release-Selbsttest bereitstellen
|
||||
<!-- ziel -->
|
||||
Validiert den v1.10.8 Release-Lock ohne Seiteneffekte im Chat-Pipeline, Agent-Runtime, Retrieval, Ranking, Shop, Followup, Evidence oder Truth Layer.
|
||||
<!-- regeln -->
|
||||
- Prüft 22 Release-Artefakte
|
||||
- Prüft 8 zentrale Produktdokumente auf v1.10.8
|
||||
- Prüft 16 Required-Release-Phrasen
|
||||
- Liest nur lokale Dateien
|
||||
- Führt keine Chat-, LLM- oder MCP-Live-Aufrufe aus
|
||||
- Führt keine Retrieval-, Shop- oder Netzaufrufe aus
|
||||
<!-- testen -->
|
||||
- Ausgabe zeigt Status PASS
|
||||
- JSON zeigt status OK und runtime_calls 0
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Ressource abrufen
|
||||
<!-- ziel -->
|
||||
Liest eine erlaubte MCP-Ressource über die CLI ab
|
||||
<!-- regeln -->
|
||||
- Nur allowlisted Ressourcen abrufbar
|
||||
- MIME-Typ geprüft
|
||||
- Ergebnis enthält Status, Metadaten und Fehler
|
||||
<!-- testen -->
|
||||
- Befehl mit Optionen ausführen
|
||||
- Kurzformat prüfen
|
||||
- json Flag verwenden
|
||||
- Status ready und Ressource vorhanden
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Ressource validieren
|
||||
<!-- ziel -->
|
||||
Ermöglicht das Prüfen, ob eine MCP-Ressource_URI auf der Allowlist steht
|
||||
<!-- regeln -->
|
||||
- Prüft URI gegen konfigurierten Allowlist-Eintrag
|
||||
- Prüft MIME-Type gegen erlaubte Typen des Eintrags
|
||||
- Gibt Fehler und Warnungen aus
|
||||
- CLI-Exit-Code spiegelt Entscheidung wider
|
||||
<!-- testen -->
|
||||
- CLI-Befehl mit --server und --resource-uri ausführen
|
||||
- Option --mime-type ergänzen
|
||||
- Exit-Code zeigt Ergebnis an
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Rollencode-Zuweisung prüfen
|
||||
<!-- ziel -->
|
||||
Validiert die p465b-Rollencode-Zuweisungs-Grenzen ohne Laufzeiteffekte
|
||||
<!-- regeln -->
|
||||
- Prüft statische Artefakte nur
|
||||
- Keine Chat-, Retrieval- oder LLM-Laufzeit
|
||||
- Keine Shop-Suche
|
||||
- Keine MCP-Aufrufe
|
||||
- ProductLabelFormatter bleibt frei von Shop, Retrieval, Evidence und LLM
|
||||
- AgentRunner bleibt Orchestrator
|
||||
<!-- testen -->
|
||||
- Befehl ausführen: mto:agent:architecture:product-role-code-assignment-guard-self-test
|
||||
- Ausgabe auf Status OK prüfen
|
||||
- Ergebnis: status = OK oder FAIL mit Details
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Stabilitäts-Selbsttest bereitstellen
|
||||
<!-- ziel -->
|
||||
Validierung der Shop- und Follow-up-Ankerwächter vor dem Deployment
|
||||
<!-- regeln -->
|
||||
- Prüft REQUIRED_METHODS in AgentRunner.php
|
||||
- Prüft keine FORBIDDEN_GUARD_MARKERS in Ankerwächter-Methoden
|
||||
- Liest PATCH_MANIFEST.md und patch_history-Dateien
|
||||
- Erzeugt Report ohne Runtime-Seiteneffekte
|
||||
- json gibt maschinenlesbares Format aus
|
||||
<!-- testen -->
|
||||
- Binconsole mto:agent:shop-followup-anchor-stability-self-test
|
||||
- Status OK prüfen
|
||||
- passed größer 0 prüfen
|
||||
- failed gleich 0 prüfen
|
||||
- Binconsole mit --json
|
||||
- JSON-Status OK prüfen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
System rebuild bereitstellen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Vektordienst steuern
|
||||
<!-- ziel -->
|
||||
Steuert den Vektorsuchdienst über die Kommandozeile
|
||||
<!-- regeln -->
|
||||
- Rufzeit 300 Sekunden
|
||||
- Standard-Host 0.0.0.0
|
||||
- Standard-Port 8090
|
||||
- Ruft Vector-Kontrollskript auf
|
||||
<!-- testen -->
|
||||
- Status wird angezeigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Wissensbatch finalisieren testen
|
||||
<!-- ziel -->
|
||||
Prüft die Verknüpfung von Batch-Abschluss und Bericht ohne Seiteneffekte
|
||||
<!-- regeln -->
|
||||
- Prüft ohne Import, LLM-Aufruf oder Index-Rebuild
|
||||
- Neun Prüfungen für Routing, Report und Abhängigkeiten
|
||||
- Gibt FAIL bei einer einzigen fehlgeschlagenen Prüfung
|
||||
- JSON-Ausgabe enthält status, scope, checks und failed
|
||||
<!-- testen -->
|
||||
- Command ausführen: mto:agent:knowledge:batch-finalize-self-test
|
||||
- Ausgabe zeigt status OK oder FAIL
|
||||
- JSON-Flag setzen: --json
|
||||
- JSON enthält status und failed-Liste
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
MCP-Allowlist prüfen
|
||||
43
daten/RAG/anleitungen.md
Normal file
43
daten/RAG/anleitungen.md
Normal file
@@ -0,0 +1,43 @@
|
||||
<!-- titel -->
|
||||
Anleitungen
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Zeigt Anleitungen als gerendertes Markdown im Admin-Bereich
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Erste H1 als Titel
|
||||
- Ohne H1 wird Slug als Titel verwendet
|
||||
- H1 erscheint doppelt: als Titel und im gerenderten Inhalt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Anleitung anzeigen
|
||||
<!-- ziel -->
|
||||
Liest eine Markdown-Datei und zeigt sie als HTML gerendert an
|
||||
<!-- regeln -->
|
||||
- Ungültiger Slug wirft 404
|
||||
- Fehlende Datei wirft 404
|
||||
- Titel aus erster H1 oder aus Slug
|
||||
- Markdown als HTML gerendert
|
||||
<!-- testen -->
|
||||
- admin guides beispiel-seite aufrufen
|
||||
- Titel und HTML-Inhalt sehen
|
||||
- admin guides ungueltig aufrufen
|
||||
- 404-Fehlerseite
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Anleitungsübersicht öffnen
|
||||
<!-- ziel -->
|
||||
Listet alle verfügbaren Anleitungen zur schnellen Auswahl auf
|
||||
<!-- regeln -->
|
||||
- Markdown-Dateien aus bestimmtem Ordner
|
||||
- Erste Überschrift als Titel
|
||||
- Ohne Ordner wird leere Liste angezeigt
|
||||
- Alphabetisch nach Titel sortiert
|
||||
- Ungültige Dateinamen ignoriert
|
||||
<!-- testen -->
|
||||
- Admin-Bereich öffnen
|
||||
- Klick auf Anleitungen
|
||||
- Anleitungen alphabetisch aufgelistet
|
||||
94
daten/RAG/auftraege.md
Normal file
94
daten/RAG/auftraege.md
Normal file
@@ -0,0 +1,94 @@
|
||||
<!-- titel -->
|
||||
Aufträge
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Verarbeitet asynchrone Aufgaben mit Verfolgung von Status und Ereignissen
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- ROLE_ADMIN_AREA für Admin-Statusabruf erforderlich
|
||||
- Admin-Bereich für Ereignisse gilt ohne Events-Endpunkt
|
||||
- Antwort enthält lastEventId, updatedAt, startedAt, completedAt, runningStaleAfterSeconds
|
||||
- Vollständiger Kontext muss explizit angefordert werden, Standard ist eingeschränkter Kontext
|
||||
- Abgeschlossene, fehlgeschlagene und abgebrochene Ingest-Jobs werden mit Exitcode SUCCESS beendet
|
||||
- Dry-Run gibt im Output einen Hinweis zum Zwischenspeicher-Status aus
|
||||
- Ingest-Job-Verarbeitung leert PHP-Laufzeit- und Vector-Service-Cache nach Abschluss
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Auftrag starten
|
||||
<!-- ziel -->
|
||||
Übermittelt einen Prompt zur asynchronen Verarbeitung im Hintergrund
|
||||
<!-- regeln -->
|
||||
- Leere Prompts werden abgelehnt
|
||||
- Prompts über dem Zeichenlimit werden abgelehnt
|
||||
- Ungültige Upload-IDs werden abgelehnt
|
||||
- Job-ID besteht aus 48 Hexadezimalzeichen
|
||||
- Erstellt Job mit Status pending
|
||||
<!-- testen -->
|
||||
- POST ask-jobs mit gültigem Prompt
|
||||
- Antwort enthält jobId
|
||||
- Statuscode ist 200
|
||||
- POST ask-jobs mit leerem Prompt
|
||||
- Statuscode ist 400
|
||||
- POST ask-jobs mit zu langem Prompt
|
||||
- Statuscode ist 413
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Auftragsereignisse abrufen
|
||||
<!-- ziel -->
|
||||
Ermöglicht dem Client, Auftragsereignisse zu pollen
|
||||
<!-- regeln -->
|
||||
- Unbekannte Auftrags-ID gibt HTTP 404 zurück
|
||||
- Veraltete laufende Aufträge werden als fehlgeschlagen markiert
|
||||
- Ereignisse nach after werden zurückgegeben
|
||||
<!-- testen -->
|
||||
- GET ask-jobs jobId events after 0
|
||||
- Antwort enthält status, events, lastEventId
|
||||
- Unbekannte jobId gibt HTTP 404
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Auftragsstatus anzeigen
|
||||
<!-- ziel -->
|
||||
Ermöglicht dem Admin, den aktuellen Status eines Auftrags ohne Seitenreload zu prüfen
|
||||
<!-- regeln -->
|
||||
- ROLE_ADMIN_AREA erforderlich
|
||||
- JSON mit id, type, status, startedAt, finishedAt, errorMessage, logPath
|
||||
- 404 bei unbekannter Auftrags-ID
|
||||
<!-- testen -->
|
||||
- Detailseite eines Auftrags öffnen
|
||||
- Statusabfrage per AJAX auslösen
|
||||
- JSON mit status und Zeitstempeln empfangen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Auftragsstatus prüfen
|
||||
<!-- ziel -->
|
||||
Ermöglicht das Prüfen des aktuellen Zustands eines Auftrags
|
||||
<!-- regeln -->
|
||||
- jobId ist eine 48-stellige Hexadezimalzahl
|
||||
- Ungültige jobId liefert Status missing
|
||||
- Abgelaufene Aufträge werden als failed markiert
|
||||
- Antwort enthält status, message, timestamps und serverTime
|
||||
<!-- testen -->
|
||||
- ask-jobs-Endpunkt mit jobId aufrufen
|
||||
- JSON-Antwort mit Status prüfen
|
||||
- Status pending, running, completed, interrupted oder failed zurückgegeben
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Ingest-Job starten
|
||||
<!-- ziel -->
|
||||
Startet einen bereitgestellten Ingest-Job über seine UUID
|
||||
<!-- regeln -->
|
||||
- Job-ID als Pflichtargument erforderlich
|
||||
- Job-Status muss ausführbar sein
|
||||
- Abgeschlossene Jobs werden nicht erneut ausgeführt
|
||||
- Dry-Run vermeidet Seiteneffekte
|
||||
- Fehler führen zu FAILURE-Exitcode
|
||||
<!-- testen -->
|
||||
- Befehl mit gültiger Job-ID ausführen
|
||||
- Job wird verarbeitet
|
||||
- Erfolgsmeldung erscheint
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Ingest-Jobs auflisten
|
||||
97
daten/RAG/backup.md
Normal file
97
daten/RAG/backup.md
Normal file
@@ -0,0 +1,97 @@
|
||||
<!-- titel -->
|
||||
Backup
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Erstellt, prüft und stellt Backups bereit
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- POST-Routen erfordern CSRF-Token
|
||||
- Super Admin darf Restore-Prüfungen ausführen
|
||||
- Flash-Meldung zeigt Status nach jeder Aktion
|
||||
- Alle Prüfungen werden protokolliert
|
||||
- Backup-IDs folgen dem Muster retriex-backup-Datum-Uhrzeit
|
||||
- json gibt maschinenlesbare Ausgabe zurück
|
||||
- Ungueltiges CSRF-Token zeigt Flash-Meldung
|
||||
- Backup herunterladen mit "Neueste" waehlt aktuelles Backup
|
||||
- Operator-Report als JSON exportieren
|
||||
- Deployment-Scheduler-Pruefung mit Beschreibung in Flash-Meldung
|
||||
- Sicherheit-und-Datenschutz-Pruefung mit Beschreibung in Flash-Meldung
|
||||
- Backup-Dry-Run erwähnt fehlende Dateischreibweise in Flash-Meldung
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Backup herunterladen
|
||||
<!-- ziel -->
|
||||
Ermöglicht dem Super Admin das Herunterladen einer Sicherungsdatei
|
||||
<!-- regeln -->
|
||||
- Nur Super Admin
|
||||
- Backup-ID aus Liste oder "Neueste"
|
||||
- Fehlgeschlagener Download zeigt Flash-Meldung
|
||||
- Erfolgreicher Download protokolliert OperatorCheckProtocol
|
||||
<!-- testen -->
|
||||
- admin_enterprise_operations öffnen
|
||||
- Backup-ID aus Liste auswählen
|
||||
- Klick auf Download-Button
|
||||
- Datei im Browser heruntergeladen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Backup starten
|
||||
<!-- ziel -->
|
||||
Erstellt eine Sicherungskopie mit allen konfigurierten Quellen
|
||||
<!-- regeln -->
|
||||
- CSRF-Token erforderlich
|
||||
- Ablauf im Operator-Protokoll
|
||||
- Flash-Meldung je nach Status
|
||||
- Database-Dump als Option
|
||||
<!-- testen -->
|
||||
- Backup-Endpunkt per POST aufrufen
|
||||
- _token und include_database_dump senden
|
||||
- Flash-Meldung zeigt Status
|
||||
- Backup erstellt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Backup-Tauglichkeit prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob das System alle Voraussetzungen für Backup und Restore erfüllt
|
||||
<!-- regeln -->
|
||||
- JSON-Ausgabe mit --json
|
||||
- Tabelle zeigt alle Testfälle
|
||||
- Rückgabe SUCCESS bei Status OK
|
||||
<!-- testen -->
|
||||
- Befehl mto:agent:enterprise:backup-restore-readiness ausführen
|
||||
- Tabelle mit Testfällen prüfen
|
||||
- Rückgabe SUCCESS bei Status OK
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Backup-Trockenlauf prüfen
|
||||
<!-- ziel -->
|
||||
Prüft die Wiederherstellbarkeit eines Backups ohne tatsächlichen Restore
|
||||
<!-- regeln -->
|
||||
- Nur Super-Admin darf Funktion ausführen
|
||||
- CSRF-Token wird geprüft
|
||||
- Report wird im Prüfprotokoll aufgezeichnet
|
||||
- Flash-Nachricht zeigt Status, Backup-ID und Anzahl Warnungen sowie Fehler
|
||||
<!-- testen -->
|
||||
- POST an admin enterprise restore dry-run latest
|
||||
- Erfolg: Redirect zur Übersicht mit Flash-Nachricht
|
||||
- Fehler: Redirect zur Übersicht mit Fehlermeldung
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Backup-Wiederherstellung prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob Backup-Pfad, Restore-Nachweis und Betreiberhinweise vorhanden sind
|
||||
<!-- regeln -->
|
||||
- CSRF-Token erforderlich
|
||||
- Flash-Meldung zeigt Zusammenfassung
|
||||
- Protokolliert den Check
|
||||
<!-- testen -->
|
||||
- POST an /admin/enterprise/check/backup-restore
|
||||
- ungültiges CSRF-Token senden
|
||||
- Weiterleitung mit Fehlermeldung
|
||||
- gültiges CSRF-Token senden
|
||||
- Weiterleitung mit Zusammenfassung
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Operatorbericht als JSON exportieren
|
||||
89
daten/RAG/benutzer.md
Normal file
89
daten/RAG/benutzer.md
Normal file
@@ -0,0 +1,89 @@
|
||||
<!-- titel -->
|
||||
Benutzer
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Ermöglicht Super-Admins die Verwaltung aller Benutzer des Systems
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- POST-Requests erfordern gültiges CSRF-Token
|
||||
- Mindestens eine Rolle erforderlich
|
||||
- Statusfilter akzeptiert nur all, active, inactive
|
||||
- Statusfilter default bei ungueltigem Wert ist all
|
||||
- Rollefilter default bei ungueltiger Rolle ist all
|
||||
- Vorname ist optional
|
||||
- Abteilung ist optional
|
||||
- Passwort ist erforderlich
|
||||
- is_active ist standardmaessig inaktiv
|
||||
- Rollen werden als Array uebergeben
|
||||
- Bearbeiten erfordert aktuellen Benutzer
|
||||
- Benutzer-ID muss UUID-Format haben
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Benutzer aktivieren
|
||||
<!-- ziel -->
|
||||
Aktiviert oder deaktiviert einen Benutzer sofort
|
||||
<!-- regeln -->
|
||||
- Nur ROLE_SUPER_ADMIN hat Zugriff
|
||||
- POST mit gültigem CSRF-Token nötig
|
||||
- Umschalten zwischen Aktiv und Inaktiv
|
||||
- Redirect zur Übersicht nach Umschalten
|
||||
<!-- testen -->
|
||||
- Admin-Übersicht öffnen
|
||||
- LMB auf Toggle-Button eines aktiven Benutzers
|
||||
- Benutzer ist inaktiv
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Benutzer anlegen
|
||||
<!-- ziel -->
|
||||
Legt einen Anwendungsbenutzer über die Konsole an
|
||||
<!-- regeln -->
|
||||
- E-Mail gültig und einmalig
|
||||
- Passwort mindestens 8 Zeichen
|
||||
- Passwort zweimal identisch eingegeben
|
||||
- Mindestens eine Rolle zugewiesen
|
||||
<!-- testen -->
|
||||
- mto-agent-user-create aufrufen
|
||||
- Ungültige E-Mail eingeben
|
||||
- Validierungsfehler erwarten
|
||||
- Gültige E-Mail eingeben
|
||||
- Zu kurzes Passwort eingeben
|
||||
- Validierungsfehler erwarten
|
||||
- Passwort eingeben
|
||||
- Anderes Passwort wiederholen
|
||||
- Validierungsfehler erwarten
|
||||
- Passwort wiederholen
|
||||
- Rollen auswählen
|
||||
- Benutzeraktivierung bestätigen
|
||||
- Ausgabe zeigt E-Mail Rolle Aktiv
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Benutzer auflisten
|
||||
<!-- ziel -->
|
||||
Zeigt admin-seitig alle Benutzer mit Filteroptionen an
|
||||
<!-- regeln -->
|
||||
- Nur Super-Admin darf zugreifen
|
||||
- Filterung nach Suchbegriff, Status und Rolle
|
||||
- Standardfilterung ohne Parameter zeigt alle
|
||||
<!-- testen -->
|
||||
- Seite /admin/users aufrufen
|
||||
- Seite zeigt Benutzerliste mit Rollen und Status
|
||||
- Filter auf Status "aktiv" setzen
|
||||
- Liste zeigt nur aktive Benutzer
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Benutzer bearbeiten
|
||||
<!-- ziel -->
|
||||
Änderungen an Benutzerdaten speichern
|
||||
<!-- regeln -->
|
||||
- Super Admin erforderlich
|
||||
- CSRF-Token erforderlich
|
||||
- E-Mail muss gültig sein
|
||||
- Neues Passwort optional
|
||||
<!-- testen -->
|
||||
- Bearbeitungsseite für Benutzer öffnen
|
||||
- Formular mit geänderten Daten absenden
|
||||
- Erfolgsmeldung anzeigen
|
||||
- Zur Übersicht redirect
|
||||
90
daten/RAG/berichte.md
Normal file
90
daten/RAG/berichte.md
Normal file
@@ -0,0 +1,90 @@
|
||||
<!-- titel -->
|
||||
Berichte
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Berichte aus Enterprise-Diensten generieren, herunterladen und löschen
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Rolle SUPER_ADMIN statt EDITOR für Bericht als JSON herunterladen erforderlich
|
||||
- Akzeptanzbericht generieren fehlt Ausgabe als Markdown für Nachweisprotokoll
|
||||
- FAIL-Status: Exitcode 1 nur im JSON-Modus
|
||||
- Operatorbericht als Markdown herunterladen fehlt als Funktion
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Akzeptanzbericht generieren
|
||||
<!-- ziel -->
|
||||
Zeigt zusammengefasste Ergebnisse der Operator-Prüfungen im Terminal
|
||||
<!-- regeln -->
|
||||
- markdown-Option gibt Markdown aus
|
||||
- json-Option gibt JSON aus
|
||||
- Standardausgabe formatiert als Tabelle
|
||||
<!-- testen -->
|
||||
- Kommando mit markdown-Option ausführen
|
||||
- Markdown-Tabelle erscheint
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Bericht als JSON herunterladen
|
||||
<!-- ziel -->
|
||||
Exportiert einen Batch-Bericht als JSON-Datei zum Speichern
|
||||
<!-- regeln -->
|
||||
- Rolle EDITOR erforderlich
|
||||
- Format muss json oder md sein
|
||||
- Datei muss existieren
|
||||
<!-- testen -->
|
||||
- Batch-Übersicht öffnen
|
||||
- LMB auf JSON-Download-Link eines Batch-Berichts
|
||||
- Datei wird heruntergeladen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Bericht löschen
|
||||
<!-- ziel -->
|
||||
Entfernt einen nicht mehr benötigten Batch-Bericht dauerhaft
|
||||
<!-- regeln -->
|
||||
- POST-Methode erforderlich
|
||||
- CSRF-Token obligatorisch
|
||||
- Nur ROLE_EDITOR hat Zugriff
|
||||
- Erfolgs- oder Warnmeldung als Flash
|
||||
- Zur Berichte-Übersicht weitergeleitet
|
||||
<!-- testen -->
|
||||
- Batch-Bericht öffnen
|
||||
- Löschen-Schaltfläche klicken
|
||||
- Bestätigungsdialog bestätigen
|
||||
- Zur Übersicht weitergeleitet
|
||||
- Flash-Meldung 'gelöscht' sichtbar
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Berichte auflisten
|
||||
<!-- ziel -->
|
||||
Zeigt alle Batch-Importe zur Übersicht
|
||||
<!-- regeln -->
|
||||
- listReports liefert alle Berichte
|
||||
- defaultReportDir wird übergeben
|
||||
<!-- testen -->
|
||||
- GET admin knowledge-batches aufrufen
|
||||
- Seite mit Berichtsliste wird angezeigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Übersicht rendern
|
||||
<!-- ziel -->
|
||||
Zeigt den Betriebszustand aller Enterprise-Komponenten auf einen Blick
|
||||
<!-- regeln -->
|
||||
- Baut Berichte aller Enterprise-Dienste
|
||||
- json gibt maschinenlesbares JSON aus
|
||||
- Ohne Flag formatiert SymfonyStyle-Ausgabe
|
||||
- FAIL-Status gibt Exitcode 1 zurück
|
||||
<!-- testen -->
|
||||
- php bin console mto:agent:enterprise:operations-overview --json
|
||||
- JSON-Ausgabe enthält Felder status, progress, components, primary_action
|
||||
- Exitcode ist 1 bei Status FAIL
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Operatorbericht als Markdown herunterladen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Batch-Bericht hochladen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Batch-Bericht anzeigen
|
||||
53
daten/RAG/chat.md
Normal file
53
daten/RAG/chat.md
Normal file
@@ -0,0 +1,53 @@
|
||||
<!-- titel -->
|
||||
Chat
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Ermöglicht authentifizierten Nutzern, Prompts zu senden und Antworten als Event-Stream zu empfangen
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Eigener Login-Bereich
|
||||
- Upload-IDs werden gegen Client-ID validiert
|
||||
- CHAT_HANDBOOK.md wird aus Projektverzeichnis gelesen
|
||||
- Fehlende oder leere CHAT_HANDBOOK.md als nicht verfügbar
|
||||
- Anonym bei fehlendem Namen
|
||||
- Handbook maximal 512 KB
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Abmelden ermöglichen
|
||||
<!-- testen -->
|
||||
- Abmelden wählen
|
||||
- Anmeldung beendet
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Chat streamen
|
||||
<!-- ziel -->
|
||||
Liefert eine Chat-Antwort als kontinuierlichen Datenstrom im Browser
|
||||
<!-- regeln -->
|
||||
- POST mit Prompt im Body
|
||||
- Prompt zu lang: Stream mit error-Event
|
||||
- Prompt leer: Stream mit error-Event
|
||||
- Upload-IDs werden validiert
|
||||
- Antwort im Format text event-stream
|
||||
- retry: 3000 bei Verbindungsproblemen
|
||||
<!-- testen -->
|
||||
- Ask-SSE-Endpunkt mit gültigem Prompt ansprechen
|
||||
- Daten-Chunks aus Stream empfangen
|
||||
- event: done als Abschluss
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Chatseite anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt die Chatseite mit Prompt-Benutzername und Wissensraum-Auswahl
|
||||
<!-- regeln -->
|
||||
- Liest CHAT_HANDBOOK.md aus dem Projektverzeichnis
|
||||
- Fehlende oder leere Datei wird als nicht verfügbar behandelt
|
||||
- Eigene Vorlage: chat index.html.twig
|
||||
<!-- testen -->
|
||||
- GET chat aufrufen
|
||||
- Seite rendert ohne Fehler
|
||||
- Prompt-Benutzername ist Anonym
|
||||
- Wissensraum-Auswahl wird angezeigt
|
||||
- Handbuch-Verfügbarkeit wird angezeigt
|
||||
386
daten/RAG/diagnose.md
Normal file
386
daten/RAG/diagnose.md
Normal file
@@ -0,0 +1,386 @@
|
||||
<!-- titel -->
|
||||
Diagnose
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Ermöglicht Betreibern die Überprüfung von Systemzustand, Konfiguration und Datenqualität ohne produktive Änderungen
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Alle Diagnosekommandos bieten --json-Ausgabe
|
||||
- Exit-Code 0 spiegelt Status OK wider
|
||||
- Exit-Code 1 zeigt Fehler oder Befunde an
|
||||
- Diagnoseoperationen verändern keine Daten
|
||||
- Kein Diagnosebefehl ruft LLM während der Prüfung auf
|
||||
- MAX_LINE_BYTES = 2097152
|
||||
- limit-Option: Standardwert 10
|
||||
- Diagnostic-only-Hinweis im Footer
|
||||
- Patchline-Pruefung bei Architecture Release Lock
|
||||
- Genau ein AgentRunner-Boundary-Call sichtbar
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Abdeckung prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob gespeicherte Ingest-Facts eine Anfrage abdecken
|
||||
<!-- regeln -->
|
||||
- Query muss nicht leer sein
|
||||
- index.ndjson muss existieren
|
||||
- Treffer nach State-Rang und Score sortiert
|
||||
- json gibt maschinenlesbare Daten zurück
|
||||
<!-- testen -->
|
||||
- Command mit Query ausführen
|
||||
- Diagnoseausgabe mit Abdeckungsdaten prüfen
|
||||
- Command mit --json ausführen
|
||||
- JSON-Struktur mit rows und summary prüfen
|
||||
- Command mit --min-score und --limit ausführen
|
||||
- Gefilterte Treffer nach Score geordnet
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Abrufgrenzen prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob Retrieval-Architekturgrenzen eingehalten werden
|
||||
<!-- regeln -->
|
||||
- Required-Dateien sind vorhanden
|
||||
- AgentRunner besitzt Retrieval-Orchestrierung
|
||||
- Genau ein Boundary-Call in AgentRunner
|
||||
- Boundary-Service bleibt dünn
|
||||
- Flow bleibt trace-only
|
||||
- ReadModel bleibt beschränkt
|
||||
- PostCallFocus erweitert keinen Constructor
|
||||
- RetrieverInterface bleibt minimal
|
||||
- HybridRetriever bleibt in Retrieval-Layer
|
||||
- Dokumentation sichert Architecture Release Lock
|
||||
<!-- testen -->
|
||||
- Command ausführen mit --json
|
||||
- Ausgabe zeigt Status OK
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Bereitschaftsbericht ausgeben
|
||||
<!-- ziel -->
|
||||
Prüft Bereitschaft von Deployment und Scheduler und zeigt Ergebnisse an
|
||||
<!-- regeln -->
|
||||
- json-Option gibt maschinenlesbares JSON aus
|
||||
- Standardausgabe zeigt DefinitionList und Tabelle
|
||||
- Exit-Code 0 bei Status OK
|
||||
<!-- testen -->
|
||||
- Befehl mit --json ausführen
|
||||
- JSON-Ausgabe validieren
|
||||
- Befehl ohne Option ausführen
|
||||
- Tabelle mit Status OK prüfen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Datenqualität prüfen
|
||||
<!-- ziel -->
|
||||
Prüft die Qualität von Text-Chunks im Original und nach Markdown-Umsetzung auf Datenverluste
|
||||
<!-- regeln -->
|
||||
- Liest ausschließlich ohne Index-Schreibzugriff
|
||||
- Kein Ranking und keine Antwortlogik
|
||||
- Argument document-id ist erforderlich
|
||||
- Option version wählt eine bestimmte Dokumentversion
|
||||
- Option json liefert maschinenlesbare Ausgabe
|
||||
<!-- testen -->
|
||||
- php bin/console mto:agent:ingest:chunk-quality {uuid}
|
||||
- Ausgabe zeigt Titel und ausgewählte Version
|
||||
- Abschnitt Original zeigt Chunk-Profil
|
||||
- Abschnitt Markdown zeigt Chunk-Profil
|
||||
- Abschnitt Vergleich zeigt Kennzahlen und Delta
|
||||
- Abschnitt Interpretation zeigt strukturierte Hinweise
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Diagnose anzeigen
|
||||
<!-- ziel -->
|
||||
Ermöglicht dem Administrator die MCP-Anbindungen und Wissensraum-Inhalte zu prüfen und zu verwalten
|
||||
<!-- regeln -->
|
||||
- Nur Super-Administratoren haben Zugriff
|
||||
- Vier Ansichten: Übersicht, Anbindung, Wissensräume, System
|
||||
- Vorgangsvarianten werden als Flash-Meldungen zurückgemeldet
|
||||
- Formularaktionen erfordern gültiges CSRF-Token
|
||||
- Transienter Zustand wird über POST-GET-Redirect erhalten
|
||||
<!-- testen -->
|
||||
- Admin-MCP-Seite aufrufen
|
||||
- Route antwortet mit Status 200
|
||||
- Übersicht der Anbindungen sichtbar
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Genre-Hotspots prüfen
|
||||
<!-- ziel -->
|
||||
Entdeckt genrespezifische Begriffe im Kerncode, die das Sprachmodell beeinflussen können
|
||||
<!-- regeln -->
|
||||
- Ergebnis ist schreibgeschützt
|
||||
- json gibt maschinenlesbare Daten aus
|
||||
- strict gibt Nicht-Null-Exit-Code bei Befunden aus
|
||||
- details zeigt alle Ergebniszeilen
|
||||
<!-- testen -->
|
||||
- Terminal öffnen
|
||||
- Befehl ohne Parameter ausführen
|
||||
- Zusammenfassung mit Befunden erscheint
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Guard-Mechanismus prüfen
|
||||
<!-- ziel -->
|
||||
Prüft die Guard-Implementierung ohne Seiteneffekte
|
||||
<!-- regeln -->
|
||||
- Liest nur lokale Dateien
|
||||
- Keine Runtime-Aufrufe
|
||||
- Prüft 8 Testfälle
|
||||
<!-- testen -->
|
||||
- Befehl ausführen: mto:agent:proofing:unsupported-tool-term-guard-self-test
|
||||
- Status OK in JSON-Ausgabe prüfen
|
||||
- Alle 8 Testfälle bestanden
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Hygieneregeln prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob Batch-Hygieneregeln korrekt implementiert und nicht in die Antwortlaufzeit verdrahtet sind
|
||||
<!-- regeln -->
|
||||
- source_noise_cleaner_entfernt_PDF_Restzeichen
|
||||
- validator_entfernt_QUELLSEGMENT_Echo
|
||||
- directory_cleanup_entfernt_leere_Admin-Upload_Ordner
|
||||
- directory_cleanup_verschiebt_Legacy_failed_Eintraege
|
||||
- batch_reports_sind_loeschbar_mit_CSRF_Schutz
|
||||
- document_delete_bereinigt_physische_Dateien
|
||||
- failed_skipped_resolvt_ausserhalb_inbox
|
||||
- keine_Hygiene_Dienste_in_Antwortlaufzeit_verdrahtet
|
||||
<!-- testen -->
|
||||
- Befehl `mto:agent:knowledge:batch-hygiene-self-test` ausfuehren
|
||||
- JSON-Ausgabe pruefen
|
||||
- Alle Faelle Status OK
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Indizierungszustand prüfen
|
||||
<!-- ziel -->
|
||||
Prüft automatisch, ob der verzögerte Indizierungsvertrag in allen Dateien korrekt umgesetzt ist
|
||||
<!-- regeln -->
|
||||
- Liest Controller, Services, Repositories und Templates ein
|
||||
- Prüft 19 Vertragsfälle zum verzögerten Indizierungsworkflow
|
||||
- Gibt Zusammenfassung oder strukturiertes JSON aus
|
||||
- Gibt Erfolgscode bei allen bestandenen Fällen zurück
|
||||
<!-- testen -->
|
||||
- Befehl mit --json ausführen
|
||||
- Ausgabe auf "OK" oder "FAILED" prüfen
|
||||
- FEHLGESCHLAGEN: Case entfernt ungültigen startJob-Aufruf in activateVersion
|
||||
- FEHLGESCHLAGEN: Case entfernt verzögertes setCurrentVersion in documentService
|
||||
- Alle Cases bestanden: Rückgabewert Command::SUCCESS
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Konfiguration prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob alle RetrieX-Einstellungen gültig sind und zeigt Fehler oder Warnungen an
|
||||
<!-- regeln -->
|
||||
- mto:agent:config:validate als Konsolenbefehl verfügbar
|
||||
- Gibt Fehler und Warnungen aus
|
||||
- json gibt maschinenlesbares Ergebnis aus
|
||||
- Rückgabewert 0 bei gültiger Konfiguration
|
||||
- Rückgabewert 1 bei ungültiger Konfiguration
|
||||
- Regression Guardrails werden geprüft
|
||||
<!-- testen -->
|
||||
- php bin/console mto:agent:config:validate ausführen
|
||||
- Ergebnis auf Fehler und Warnungen prüfen
|
||||
- Exitcode prüfen
|
||||
- Konfiguration gültig: Exitcode 0
|
||||
- php bin/console mto:agent:config:validate --json ausführen
|
||||
- JSON-Ausgabe enthält status, errors, warnings
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Provenienz prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob Provenienzdiagnostik ohne Ranking- oder Antwortwirkung funktioniert
|
||||
<!-- regeln -->
|
||||
- Liest Ingest-Service, Admin-Inspektor, Template und Styles
|
||||
- Prüft Provenienz-Metadaten in NDJSON
|
||||
- Prüft Diagnostik-Metadaten in NDJSON
|
||||
- Prüft Sidecar-Lesen ohne LLM-Aufruf
|
||||
- Prüft Admin-Ansicht mit Provenienz und Heading-Pfad
|
||||
- Prüft Read-only-Label in UI
|
||||
- Prüft Kein Antwort-Runtime-Einfluss
|
||||
- Prüft Genre-Neutralität der Diagnostik
|
||||
<!-- testen -->
|
||||
- mto agent ingest markdown-derived-chunk-diagnostics-self-test ausführen
|
||||
- Kommando endet erfolgreich
|
||||
- Ausgabe zeigt status OK
|
||||
- Alle 8 Cases zeigen status OK
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Retrieval-Pipeline testen
|
||||
<!-- ziel -->
|
||||
Ermöglicht die Überprüfung der Retrieval-Pipeline mit detailliertem Debug-Output
|
||||
<!-- regeln -->
|
||||
- Prompt als Argument erforderlich
|
||||
- Leerer Prompt erzeugt Fehler
|
||||
- json gibt Rohdaten ohne Formatierung aus
|
||||
- show-text zeigt ungekürzte Chunk-Texte
|
||||
<!-- testen -->
|
||||
- mto:agent:retrieval:test mit Prompt ausführen
|
||||
- Ausgabe auf Pipeline-Summary prüfen
|
||||
- mto:agent:retrieval:test --json ausführen
|
||||
- JSON-Struktur mit duration_ms und results vorhanden
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Retrieval-Qualität testen
|
||||
<!-- ziel -->
|
||||
Prüft ob die Konfiguration passende Inhalte findet
|
||||
<!-- regeln -->
|
||||
- Erfordert ROLE_KNOWLEDGE_ADMIN
|
||||
- GET zeigt leere Maske
|
||||
- POST führt TestRetrieval aus
|
||||
<!-- testen -->
|
||||
- Seite test-retrieval öffnen
|
||||
- Prompt eingeben und absenden
|
||||
- Ergebnisse werden angezeigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Segmentierung prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob Segmentierung korrekt ausgeführt wird
|
||||
<!-- regeln -->
|
||||
- Liest alle relevanten Dateien ein
|
||||
- Prüft required_files_present
|
||||
- Prüft execution_uses_complete_segment_plan
|
||||
- Prüft segment_prompt_is_fragment_only
|
||||
- Prüft llm_called_per_segment_with_long_transport
|
||||
- Prüft sidecar_records_segment_processing_without_raw_payloads
|
||||
- Prüft generated_version_remains_inactive
|
||||
- Prüft no_index_or_answer_runtime_wiring
|
||||
- Prüft no_genre_runtime_gate_markers
|
||||
- Report enthält Status und Zusammenfassung
|
||||
<!-- testen -->
|
||||
- mto:agent:ingest:segmented-markdown-normalization-self-test ausführen
|
||||
- Status OK oder FAIL prüfen
|
||||
- Testläufe als Zusammenfassung sehen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Shop-Suche testen
|
||||
<!-- ziel -->
|
||||
Prüft die Shop-Suche mit detaillierter Ausgabe von Suchvorschau, Ergebnissen und optionalem Repair
|
||||
<!-- regeln -->
|
||||
- Standard-Query: 'zeige mir produkte unter 5000 euro'
|
||||
- repair aktiviert zusätzliche Search-Repair-Suche
|
||||
- json gibt maschinenlesbare Ausgabe aus
|
||||
- Primärsuche wird immer ausgeführt
|
||||
<!-- testen -->
|
||||
- mto:agent:test:shop-search ausführen
|
||||
- Suchvorschau und Primärergebnisse prüfen
|
||||
- mto:agent:test:shop-search laptop --repair ausführen
|
||||
- Repair-Auswertung mit Ergebnissen prüfen
|
||||
- mto:agent:test:shop-search laptop --json ausführen
|
||||
- JSON-Ausgabe mit query, preview und repair prüfen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Sicherheitsstatus prüfen
|
||||
<!-- ziel -->
|
||||
Prüft den Security- und Datenschutz-Bereitschaftsgrad ohne Seiteneffekte
|
||||
<!-- regeln -->
|
||||
- Kommandoname: mto:agent:enterprise:security-data-protection-readiness
|
||||
- json gibt maschinenlesbares JSON aus
|
||||
- Erfolg bei Status OK
|
||||
- Fehler bei Status nicht OK
|
||||
<!-- testen -->
|
||||
- php bin/console mto:agent:enterprise:security-data-protection-readiness
|
||||
- Tabelle mit Cases wird ausgegeben
|
||||
- php bin/console mto:agent:enterprise:security-data-protection-readiness --json
|
||||
- JSON-Objekt wird ausgegeben
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Stapel-Upload verifizieren
|
||||
<!-- ziel -->
|
||||
Prüft die Integrität des Batch-Upload-Systems ohne Dokumente zu importieren
|
||||
<!-- regeln -->
|
||||
- Trockenlauf ohne Dokumentenimport
|
||||
- Ruft kein LLM auf
|
||||
- Ändert keine Daten im Wissensspeicher
|
||||
- Gibt maschinenlesbares JSON aus
|
||||
- Prüft CSRF-Schutz, Dienstintegration und Fortschrittsanzeige
|
||||
- Prüft PDF-Schutz, Speichergrenzen und Leerraum-Bereinigung
|
||||
- Prüft CLI-Progress und keine Agent-Verschaltung
|
||||
<!-- testen -->
|
||||
- PHP-Befehl aus src Command KnowledgeBatchAdminUploadSelfTestCommand.php ausführen
|
||||
- Alle 10 Cases in der Tabelle prüfen
|
||||
- Jeder Case zeigt Status OK oder FAIL
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Systemzustand prüfen
|
||||
<!-- ziel -->
|
||||
Prüft NDJSON und FAISS-Konsistenz
|
||||
<!-- regeln -->
|
||||
- Gibt JSON aus
|
||||
- OK-Status gibt SUCCESS zurück
|
||||
- Fehler-Status gibt FAILURE zurück
|
||||
<!-- testen -->
|
||||
- php bin console mto:agent:vector:health
|
||||
- Konsistente Indices: OK-Status in JSON
|
||||
- Fehler: FAILURE und Fehlermeldung in JSON
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Tag-Index-Gesundheit prüfen
|
||||
<!-- ziel -->
|
||||
Prüft die Konsistenz zwischen Tag-Daten und FAISS-Index
|
||||
<!-- regeln -->
|
||||
- summary zeigt Zusammenfassung statt JSON
|
||||
- Exitcode 0 bei Status OK oder OK_EMPTY
|
||||
- Exitcode 1 bei allen anderen Status
|
||||
- Prüft tags_ndjson_exists, vector_exists, meta_valid
|
||||
<!-- testen -->
|
||||
- bin console mto:agent:tag:health ausführen
|
||||
- LMB auf --summary
|
||||
- Zusammenfassung mit Status, Zählern und Gültigkeit
|
||||
- Befehl mit Exitcode 0 beendet
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Tags neu indizieren
|
||||
<!-- ziel -->
|
||||
Echtzeitaktualisierung des Neuindizierungsfortschritts im Browser
|
||||
<!-- regeln -->
|
||||
- Lädt alle 2 Sekunden neuen Status
|
||||
- Sendet Ereignis nur bei Hash-Änderung
|
||||
- Sendet Keepalive alle 10 Sekunden
|
||||
- Endet bei Verbindungsabbruch
|
||||
<!-- testen -->
|
||||
- Stream-Endpunkt aufrufen
|
||||
- MIME-Typ text event stream prüfen
|
||||
- Antwortet mit Stream
|
||||
- Event-Stream antwortet
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Verankerung testen
|
||||
<!-- ziel -->
|
||||
Diagnostiziert die Verankerung von Nachfolgedialogen in der Historie
|
||||
<!-- regeln -->
|
||||
- Kein Laufzeitverhalten geändert
|
||||
- Report als Text oder JSON ausgebbar
|
||||
- sample führt integrierten Smoke-Test aus
|
||||
- Historie aus Datei, STDIN oder Option lesbar
|
||||
<!-- testen -->
|
||||
- Sample-Dry-Run ausführen
|
||||
- Text-Report auf erkennbaren Anker prüfen
|
||||
- Kernprodukt und Nachfolgedialog identifizieren
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Vergleichsgrenzen validieren
|
||||
<!-- ziel -->
|
||||
Prueft, ob alle Dateien und Muster fuer die Chunk-Qualitaetsvalidierung vorhanden sind
|
||||
<!-- regeln -->
|
||||
- Liest src Service Admin DocumentChunkQualityComparisonService php
|
||||
- Liest src Command IngestChunkQualityCommand php
|
||||
- Liest src Controller Admin DocumentController php
|
||||
- Liest templates admin document show html twig
|
||||
- Liest public assets styles base css
|
||||
- Liest DocumentMarkdownSegmentationPlanService php
|
||||
- Liest AgentRunner php und KnowledgeIngestService php
|
||||
- Prueft Dateien auf vorhandene Strings mit str_contains
|
||||
- Prueft Dateien auf abwesende Strings mit !str_contains
|
||||
- Gibt FAIL zurueck sobald ein Fall fehlschlaegt
|
||||
- x-Icon
|
||||
<!-- testen -->
|
||||
- php bin console mto agent ingest chunk-quality-self-test ausfuehren
|
||||
- Rueckgabe auf vollstaendige Faelle pruefen
|
||||
- Status OK bei allen gueltigen Implementierungen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Titelvorschläge-Selbsttest bereitstellen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Konfigurationsquellen prüfen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Batch-Markdown-Normalisierung testen
|
||||
127
daten/RAG/dokumente.md
Normal file
127
daten/RAG/dokumente.md
Normal file
@@ -0,0 +1,127 @@
|
||||
<!-- titel -->
|
||||
Dokumente
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Organisiert Dokumente mit Versionierung und prüft deren Bereitschaft für den Wissensindex
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- POST-Operationen erfordern CSRF-Token
|
||||
- Versionen absteigend nach Versionsnummer sortiert
|
||||
- Fehler bei API-Routen liefern ok=false mit Meldung
|
||||
- Dateien im konfigurierten Upload-Verzeichnis gespeichert
|
||||
- Index-Neuaufbau erfordert bewusste Auslösung
|
||||
- Titelvorschläge erzeugen: Endpunkt fehlt
|
||||
- Version ableiten: Endpunkt fehlt
|
||||
- Version aktivieren: Endpunkt fehlt
|
||||
- Version ingest: Endpunkt fehlt
|
||||
- Formularansicht GET fehlt
|
||||
- TagController mit Tag erstellen, Tag entfernen, Tag zuweisen fehlt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Abschnitte laden
|
||||
<!-- ziel -->
|
||||
Markiert eine Dokumentversion für den nächsten Index-Neuaufbau
|
||||
<!-- regeln -->
|
||||
- Nur aktive Versionen sind zulässig
|
||||
- CSRF-Token erforderlich
|
||||
- Editor-Rolle erforderlich
|
||||
<!-- testen -->
|
||||
- Abschnitte über Admin-Endpunkt laden mit gültigem Token
|
||||
- Aktive Version auswählen
|
||||
- Erfolgsmeldung: Version für Index-Neuaufbau vorgemerkt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Abschnittsqualität laden
|
||||
<!-- ziel -->
|
||||
Zeigt Qualitätskennzahlen der Textabschnitte einer Dokumentversion im Admin-Bereich
|
||||
<!-- regeln -->
|
||||
- Benötigt ROLE_EDITOR
|
||||
- Liefert JSON mit Qualitätsdaten
|
||||
- Fehler liefert ok=false mit Fehlermeldung
|
||||
<!-- testen -->
|
||||
- Admin-Endpunkt abrufen
|
||||
- Valides CSRF und Version vorhanden
|
||||
- JSON mit ok=true und quality-Daten
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Dokument anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt alle Details eines Dokuments mit Versionshistorie und Qualitätsindikatoren
|
||||
<!-- regeln -->
|
||||
- Nur Benutzer mit ROLE_EDITOR
|
||||
- DocumentVersionPreviewService lädt Inhalt
|
||||
- DocumentChunkInspectionService prüft Segmentierung
|
||||
- DocumentMarkdownNormalizationInspector analysiert Markdown
|
||||
- DocumentIndexReadinessService zeigt Indexbereitschaft
|
||||
<!-- testen -->
|
||||
- Admin-Dokumentenansicht öffnen
|
||||
- Seite zeigt Dokument mit Versionen und Qualitätsdaten
|
||||
- Chunk-Übersicht sichtbar
|
||||
- Markdown-Normalisierungsstatus sichtbar
|
||||
- Index-Bereitschaftsanzeige sichtbar
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Dokument entfernen
|
||||
<!-- ziel -->
|
||||
Entfernt ein Dokument dauerhaft aus dem System
|
||||
<!-- regeln -->
|
||||
- Entfernt alle Versionen des Dokuments
|
||||
- Loescht verknuepfte Ingest-Jobs
|
||||
- Bereinigt zugeordnete Dateien
|
||||
<!-- testen -->
|
||||
- Entfernen-Knopf betaetigen
|
||||
- Bestaetigung bestaetigen
|
||||
- Dokument nicht mehr in Uebersicht
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Dokument erstellen
|
||||
<!-- ziel -->
|
||||
Erstellt ein neues Dokument aus einer hochgeladenen Datei
|
||||
<!-- regeln -->
|
||||
- Erfordert Rolle ROLE_EDITOR
|
||||
- Nur POST-Requests erzeugen ein Dokument
|
||||
- CSRF-Token Pflicht
|
||||
- Hochgeladene Datei Pflicht
|
||||
- Titel Pflicht
|
||||
- Titel maximal 255 Zeichen
|
||||
- Dateiname normiert
|
||||
- Datei gespeichert im konfigurierten Upload-Verzeichnis
|
||||
<!-- testen -->
|
||||
- Admin-Dokumente-Neu aufrufen
|
||||
- Formular mit Datei und Titel absenden
|
||||
- Erfolgsmeldung und Weiterleitung zur Dokumentdetailseite
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Dokumente auflisten
|
||||
<!-- ziel -->
|
||||
Zeigt alle Dokumente mit Statistiken und Filtern an
|
||||
<!-- regeln -->
|
||||
- Filter werden aus URL-Parametern geladen
|
||||
- Aktive Filter werden hervorgehoben
|
||||
- Zeigt Statistiken zur Dokumentenübersicht
|
||||
- Index-Bereitschaft wird angezeigt
|
||||
<!-- testen -->
|
||||
- admin/documents öffnet die Übersicht
|
||||
- Dokumente werden mit Titeln angezeigt
|
||||
- LMB auf Filterfeld
|
||||
- Filterkriterium auswählen
|
||||
- Ergebnis zeigt gefilterte Dokumente
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Markdown bereinigen
|
||||
<!-- ziel -->
|
||||
Erstellt eine normalisierte Markdown-Version aus dem Original
|
||||
<!-- regeln -->
|
||||
- CSRF-Token erforderlich
|
||||
- Neue Version ist inaktiv
|
||||
- Abgeleitet von ausgewaehlter Version
|
||||
<!-- testen -->
|
||||
- Seite der Dokumentversion öffnen
|
||||
- POST an markdown-normalize-Endpunkt senden
|
||||
- Neue inaktive Version erzeugt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Version-Chunks abrufen
|
||||
100
daten/RAG/evaluation.md
Normal file
100
daten/RAG/evaluation.md
Normal file
@@ -0,0 +1,100 @@
|
||||
<!-- titel -->
|
||||
Evaluation
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Führt Testläufe für AI-Agenten aus und liefert strukturierte Berichte
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- ROLE_KNOWLEDGE_ADMIN für alle Admin-Funktionen
|
||||
- CSRF-Token für alle POST-Operationen
|
||||
- Berichte als JSON-Dateien gespeichert
|
||||
- Exitcode FAILURE bei einem oder mehr Fehlern
|
||||
- Standardtyp retrieval ohne explizite Angabe
|
||||
- Parallele Ausführung als Child-Prozesse
|
||||
- Reportdateiname ist retrieval-last-run.json
|
||||
- Meta-Review-Signale werden als PASS+REVIEW angezeigt
|
||||
- json gibt den vollständigen Bericht als JSON aus
|
||||
- no-write unterdrückt das Schreiben der Reportdatei
|
||||
- list-cases listet Eval-Fälle ohne Ausführung
|
||||
- duration-profile zeigt Laufzeitprofil der langsamsten Fälle
|
||||
- jobs bestimmt die Anzahl paralleler Child-Prozesse
|
||||
- Report enthält scheduled_children und max_running_children
|
||||
- Report enthält wall_duration_ms und summed_case_duration_ms
|
||||
- Fail-Fast im Parallelmodus ist soft und sammelt laufende Prozesse
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Berichte bereinigen
|
||||
<!-- ziel -->
|
||||
Entfernt alte oder alle Testläufe aus dem Dateisystem, um Speicherplatz freizugeben
|
||||
<!-- regeln -->
|
||||
- Nur Admins mit ROLE_KNOWLEDGE_ADMIN
|
||||
- POST nur mit gültigem CSRF-Token
|
||||
- mode=trim löscht alle außer der letzten Konfiguration
|
||||
- mode=delete_all löscht alle historischen Testläufe
|
||||
- report_scope=all wirkt auf alle Bereiche
|
||||
<!-- testen -->
|
||||
- POST cleanup mit mode trim und CSRF-Token
|
||||
- Erfolg zeigt gelöschte Anzahl
|
||||
- POST cleanup mit mode delete_all
|
||||
- Löschung bestätigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Eval-Berichte anzeigen
|
||||
<!-- ziel -->
|
||||
Ermöglicht das Anzeigen von Eval-Berichten mit Vergleich und Übersicht
|
||||
<!-- regeln -->
|
||||
- ROLE_KNOWLEDGE_ADMIN erforderlich
|
||||
- type-Parameter bestimmt den Berichtstyp
|
||||
- scope und genre bestimmen den Eval-Kontext
|
||||
- compare_report zeigt Vergleichsbericht an
|
||||
<!-- testen -->
|
||||
- Admin-Bereich öffnen
|
||||
- GET admin evals aufrufen
|
||||
- Bericht wird mit Übersicht angezeigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Eval-Fälle ausführen
|
||||
<!-- ziel -->
|
||||
Führt Eval-Fälle für den RetrieX-Agenten aus und meldet Ergebnisse
|
||||
<!-- regeln -->
|
||||
- Selector enthält Typ und optional Ziel und Falltyp
|
||||
- case führt nur den Eval-Fall mit dieser ID aus
|
||||
- Report wird als JSON-Datei geschrieben
|
||||
- Exitcode ist FAILURE bei einem oder mehr fehlgeschlagenen Fällen
|
||||
<!-- testen -->
|
||||
- mto:agent:eval:run retrieval ausführen
|
||||
- Passende Eval-Fälle werden geladen
|
||||
- Jeder Fall zeigt PASS oder FAIL mit Dauer
|
||||
- Zusammenfassung zeigt total, passed, failed
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Eval-Fälle parallelisieren
|
||||
<!-- ziel -->
|
||||
Führt Eval-Fälle gleichzeitig in Child-Prozessen aus, um die Wandzeit zu verkürzen
|
||||
<!-- regeln -->
|
||||
- Erstellt einen Pool mit maximal --jobs Child-Prozessen
|
||||
- Terminiert überzählige Child-Prozesse bei Timeout
|
||||
- Fail-Fast bricht das Scheduling nach dem ersten Fehler ab
|
||||
- Ergebnisse werden in der ursprünglichen Reihenfolge zurückgegeben
|
||||
- Child-Prozesse werden nach Abschluss bereinigt
|
||||
<!-- testen -->
|
||||
- Kommando mit --jobs 4 ausführen
|
||||
- Läuft mit der angegebenen Anzahl paralleler Child-Prozesse
|
||||
- Alle Fälle werden ausgeführt und Ergebnisse gesammelt
|
||||
- Pool endet mit Ergebnissen in Eingabereihenfolge
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Evaluation ausführen
|
||||
<!-- ziel -->
|
||||
Führt Testsuite aus und zeigt das Ergebnis
|
||||
<!-- regeln -->
|
||||
- Erfordert Rolle ROLE_KNOWLEDGE_ADMIN
|
||||
- CSRF-Token erforderlich
|
||||
- Flash zeigt Zusammenfassung mit Bestehensrate
|
||||
<!-- testen -->
|
||||
- Als Admin Rolle an AdminEvalController senden
|
||||
- POST an Admin-Evals-Run mit gültigem _token
|
||||
- Flash-Meldung zeigt Testergebnis
|
||||
74
daten/RAG/faelle.md
Normal file
74
daten/RAG/faelle.md
Normal file
@@ -0,0 +1,74 @@
|
||||
<!-- titel -->
|
||||
Fälle
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Verwalten von Testfällen für das Evaluationssystem
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Jede POST-Operation erfordert ein gültiges CSRF-Token
|
||||
- Leerer Entwurf wird bereitgestellt, wenn keine Quelle angegeben ist
|
||||
- source_type und source_case_id erstellen Entwurf aus Testergebnis
|
||||
- Erfolgreiches Erstellen leitet auf Indexseite um
|
||||
- Index zeigt Zusammenfassung aller Fälle nach Typ
|
||||
- type-Parameter defaultet auf 'retrieval'
|
||||
- Wizard bietet leeren Entwurf zum Ausfüllen
|
||||
- Wizard-Erstellung erfordert CSRF-Token
|
||||
- case_delete erfordert eval_scope als separaten Parameter
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Assistent anzeigen
|
||||
<!-- ziel -->
|
||||
Führt durch die Erstellung eines Tests mit Hilfestellung
|
||||
<!-- regeln -->
|
||||
- Erfordert ROLE_KNOWLEDGE_ADMIN
|
||||
- Type ist retrieval, wenn nicht unterstützt
|
||||
- Leerer Entwurf wird bereitgestellt
|
||||
<!-- testen -->
|
||||
- Admin-Evals-Cases-Wizard aufrufen
|
||||
- Seite mit Assistent wird angezeigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Fall anlegen
|
||||
<!-- ziel -->
|
||||
Bereitet ein Formular zum Anlegen eines neuen Testfalls vor
|
||||
<!-- regeln -->
|
||||
- Nur ROLE_KNOWLEDGE_ADMIN hat Zugriff
|
||||
- Erstellt Entwurf aus existierendem Testergebnis bei source_type und source_case_id
|
||||
- Erstellt leeren Entwurf ohne Quelle
|
||||
<!-- testen -->
|
||||
- Seite für neuen Fall aufrufen
|
||||
- Formular mit Fall-Entwurf wird angezeigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Fall erstellen
|
||||
<!-- ziel -->
|
||||
Legt einen neuen Testfall an
|
||||
<!-- regeln -->
|
||||
- CSRF-Token erforderlich
|
||||
- ROLE_KNOWLEDGE_ADMIN erforderlich
|
||||
- type, id und prompt sind Pflicht
|
||||
- evalScope bestimmt core oder genre
|
||||
- Genre ist kontextabhängig optional
|
||||
- Erfolg leitet auf Indexseite um
|
||||
<!-- testen -->
|
||||
- admin evals cases new öffnen
|
||||
- Formular ausfüllen und absenden
|
||||
- Erfolgsmeldung erscheint
|
||||
- Weiterleitung auf Indexseite
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Fälle löschen bereitstellen
|
||||
<!-- ziel -->
|
||||
Ermöglicht das Entfernen nicht mehr benötigter Tests
|
||||
<!-- regeln -->
|
||||
- Nur Benutzer mit Rolle KNOWLEDGE_ADMIN
|
||||
- POST mit gültigem CSRF-Token
|
||||
- Erfordert type, case_id, eval_scope und _token
|
||||
<!-- testen -->
|
||||
- Seite mit Fall öffnen
|
||||
- POST an admin-evals-cases-delete mit korrekten Parametern senden
|
||||
- Flash-Meldung zeigt Bestätigung
|
||||
- Weiterleitung zur Fall-Erstellungsseite
|
||||
128
daten/RAG/feedback.md
Normal file
128
daten/RAG/feedback.md
Normal file
@@ -0,0 +1,128 @@
|
||||
<!-- titel -->
|
||||
Feedback
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Ermöglicht Admins das Klassifizieren, Exportieren und Verwalten von Nutzerfeedback zu Chat-Antworten
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- ROLE_KNOWLEDGE_ADMIN für Admin-Zugriff
|
||||
- CSRF-Token für alle POST-Operationen
|
||||
- Exportformate auf md und jsonl beschränkt
|
||||
- Feedbackklassifizierung verarbeitet maximal 500 Einträge
|
||||
- Feedbackklassifizierung begrenzt auf Limit 1–5000
|
||||
- Feedbackklassifizierung flushet in 100er-Schritten
|
||||
- Batch-Statusaktualisierung begrenzt auf 5000 Einträge
|
||||
- Batch-Status gilt für ausgewählte oder aktuell gefilterte Einträge
|
||||
- Statistiken zeigen Zusammenfassung aller Fälle
|
||||
- Statistiken zeigen Gesamt Daumen hoch Daumen runter Offen Erledigt
|
||||
- Statistiken zeigen Fehlerverdacht, Review-Priorität und Referenzwert je Stufe
|
||||
- Standardfilter zeigt aktive offene Fälle reviewState=active
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Chat-Feedback anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt Feedbackfälle mit Statistiken, Filtern und Sammelaktionen
|
||||
<!-- regeln -->
|
||||
- Statistiken passen sich an Filter an
|
||||
- Batch-Aktionen gelten nur für sichtbare Einträge
|
||||
- Löschen entfernt den Eintrag dauerhaft
|
||||
- Erledigte Fälle verbleiben als Historie
|
||||
<!-- testen -->
|
||||
- Seite über Sidebar öffnen
|
||||
- Feedback-Tabelle mit Einträgen prüfen
|
||||
- Filter 'Erledigt' wählen und anwenden
|
||||
- Tabelle zeigt erledigte Einträge
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Feedback exportieren
|
||||
<!-- ziel -->
|
||||
Ermöglicht das Herunterladen von Feedback-Daten zur Analyse
|
||||
<!-- regeln -->
|
||||
- Zugriff nur mit ROLE_KNOWLEDGE_ADMIN
|
||||
- Nur md und jsonl erlaubt
|
||||
- Dateiname enthält Priorität und Zeitstempel
|
||||
- Streamt Daten zur Schonung des Speichers
|
||||
- Content-Type passend zum Format
|
||||
- Content-Disposition als Anhang
|
||||
<!-- testen -->
|
||||
- Export als md aufrufen
|
||||
- Dateianhang mit korrektem Namen
|
||||
- Inhalt ist Markdown
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Feedback klassifizieren
|
||||
<!-- ziel -->
|
||||
Wertet Feedback automatisch aus und ordnet es zur Admin-Prüfung ein
|
||||
<!-- regeln -->
|
||||
- Batch-Verarbeitung in 100er-Schritten
|
||||
- Limit zwischen 1 und 5000
|
||||
- force verarbeitet bereits klassifizierte Einträge
|
||||
- Setzt type, score, risk, issue_risk, priority, reference, reason
|
||||
<!-- testen -->
|
||||
- Console-Befehl mto:agent:feedback:classify ausführen
|
||||
- Verarbeitungszähler in Ausgabe prüfen
|
||||
- Zusammenfassung nach Typen in Ausgabe
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Feedback löschen
|
||||
<!-- ziel -->
|
||||
Entfernt Feedback dauerhaft aus der Verwaltung
|
||||
<!-- regeln -->
|
||||
- Nur ROLE_KNOWLEDGE_ADMIN
|
||||
- CSRF-Token erforderlich
|
||||
- Feedback muss existieren
|
||||
<!-- testen -->
|
||||
- admin_chat_feedback_show öffnen
|
||||
- POST an admin_chat_feedback_delete mit gültigem Token
|
||||
- Weiterleitung zur Übersicht
|
||||
- Feedback nicht mehr in Liste
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Feedback-Details anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt alle Details eines Feedback-Falls an
|
||||
<!-- regeln -->
|
||||
- Erfordert ROLE_KNOWLEDGE_ADMIN
|
||||
- Feedback wird anhand der UUID geladen
|
||||
- 404-Exception bei nicht gefundenem Feedback
|
||||
<!-- testen -->
|
||||
- Feedback-Endpunkt mit UUID aufrufen
|
||||
- Feedback-Detailseite rendert
|
||||
- Feedback-Objekt in Template verfügbar
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Feedback-Status aktualisieren
|
||||
<!-- ziel -->
|
||||
Markiert Feedback als erledigt oder öffnet es wieder
|
||||
<!-- regeln -->
|
||||
- Status ist entweder erledigt oder offen
|
||||
- CSRF-Token erforderlich
|
||||
- Erledigt mit optionalem Review-Notiz
|
||||
- Aktion endet mit Redirect
|
||||
<!-- testen -->
|
||||
- Detailseite öffnen
|
||||
- Status-Button klicken
|
||||
- Optional Review-Notiz eingeben
|
||||
- Formular absenden
|
||||
- Feedback mit aktualisiertem Status
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Feedback-Status prüfen
|
||||
<!-- ziel -->
|
||||
Prüft, ob Feedback zu einer Chat-Antwort bereits existiert
|
||||
<!-- regeln -->
|
||||
- Ungültige Daten antworten mit HTTP 400
|
||||
- Fehler beim Abrufen antworten mit stored=false
|
||||
- stored ist true bei vorhandenem Feedback
|
||||
- stored ist false bei fehlendem Feedback
|
||||
<!-- testen -->
|
||||
- Anfrage an Feedback-Status-Endpunkt mit gültigen Daten senden
|
||||
- Feedback in der Datenbank prüfen
|
||||
- stored entspricht dem Ergebnis in der Datenbank
|
||||
- FeedbackId und rating stimmen überein
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Feedback speichern
|
||||
141
daten/RAG/knowledge-raeume.md
Normal file
141
daten/RAG/knowledge-raeume.md
Normal file
@@ -0,0 +1,141 @@
|
||||
<!-- titel -->
|
||||
Knowledge-Räume
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Stellt Knowledge-Räume bereit und verwaltet deren Inhalte sowie Anbindungen
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- CSRF-Token wird bei POST-Anfragen geprüft
|
||||
- no-report verhindert das Schreiben von Berichtsdateien
|
||||
- Anbindung Tool-Allowlist aktualisiert separate Anbindung
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Batch-Import durchführen
|
||||
<!-- ziel -->
|
||||
Importiert Wissensdokumente aus einem Verzeichnis in den Wissensspeicher
|
||||
<!-- regeln -->
|
||||
- upload-dir ist Zieldateiverzeichnis
|
||||
- user-email identifiziert Ersteller
|
||||
- activate-derived-on-success erfordert normalize-markdown
|
||||
- dry-run erzeugt keine Dateien oder Versionen
|
||||
- reindex startet genau einen Indexlauf
|
||||
- Berichte ohne --no-report in report-dir
|
||||
<!-- testen -->
|
||||
- Batch-Import im Dry-Run-Modus ausführen
|
||||
- PHPUnit-Test KnowledgeBatchImportCommandTest ausführen
|
||||
- Erfolgsstatus und Reportdateien prüfen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Chat-Freigabe umschalten
|
||||
<!-- ziel -->
|
||||
Aktiviert oder deaktiviert den Chat-Zugriff für einen gespeicherten Inhalt
|
||||
<!-- regeln -->
|
||||
- Nur POST-Anfragen werden akzeptiert
|
||||
- CSRF-Token wird geprüft
|
||||
- Kanditat-ID muss existieren
|
||||
<!-- testen -->
|
||||
- Seite mit Anbindungsinhalten öffnen
|
||||
- POST an Endpunkt senden
|
||||
- candidate_id senden
|
||||
- chat_enabled senden
|
||||
- Übersicht wird angezeigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Chat-Verfügbarkeit prüfen
|
||||
<!-- ziel -->
|
||||
Schaltet den Chat-Zugriff für einen Wissensraum ein oder aus
|
||||
<!-- regeln -->
|
||||
- POST-Request erforderlich
|
||||
- CSRF-Token wird geprüft
|
||||
- Ungültiges Token zeigt Fehlermeldung
|
||||
- Unterscheidet Server-Ressource, gespeicherte Ressource und Standard-Raum
|
||||
- Erfolgreiche Änderung zeigt Bestätigung
|
||||
<!-- testen -->
|
||||
- POST an admin_knowledge_spaces_chat_availability_update mit _token und chat_enabled
|
||||
- Leerer RaumId liefert Flash danger
|
||||
- Gültiger Toggle liefert Flash success
|
||||
- Chat-Verfügbarkeit geändert
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Facts prüfen
|
||||
<!-- ziel -->
|
||||
Prüft die diagnostischen Ingest-Facts im Index auf Vollständigkeit und korrekte Struktur
|
||||
<!-- regeln -->
|
||||
- type filtert nach spezifischem Fact-Typ
|
||||
- query durchsucht Titel, Text und alle Fact-Felder
|
||||
- Standard-Limit zeigt maximal 10 Chunks
|
||||
- json gibt maschinenlesbare Ausgabe zurück
|
||||
- Warnung bei fehlenden oder leeren Fakten
|
||||
<!-- testen -->
|
||||
- Befehl ohne Argumente ausführen
|
||||
- Chunk-Überschriften mit Metriken prüfen
|
||||
- Warnung bei leerem Ergebnis prüfen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Kandidaten wählen
|
||||
<!-- ziel -->
|
||||
Wählt einen Tool- oder Resource-Kandidaten zur Wissensraumnutzung aus
|
||||
<!-- regeln -->
|
||||
- CSRF-Token erforderlich
|
||||
- Nur Tool- oder Resource-Kandidaten verarbeitbar
|
||||
- Kandidat wird nach Auswahl auf approved gesetzt
|
||||
- Weiterleitung zur Überblickansicht mit Review-Dialog
|
||||
<!-- testen -->
|
||||
- Überblickansicht öffnen
|
||||
- POST an provider-candidate-select mit source_key, candidate_kind
|
||||
- Flash-Nachricht über Erfolg oder Warnung
|
||||
- Redirect zur Überblickansicht mit provider_review_open=1
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Knowledge-Räume anzeigen
|
||||
<!-- ziel -->
|
||||
Stellt alle Knowledge-Räume mit Status und Anbindungen übersichtlich dar
|
||||
<!-- regeln -->
|
||||
- Lädt Verfügbarkeit und Chat-Auswahl
|
||||
- Lädt Anbindungsinhalte und Kandidaten
|
||||
- Rendert admin knowledge-spaces index html-twig
|
||||
<!-- testen -->
|
||||
- Admin-Seite Knowledge-Räume aufrufen
|
||||
- Seite mit Wissensraum-Übersicht prüfen
|
||||
- Knowledge-Räume mit Verfügbarkeit angezeigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Live-Vorschau laden
|
||||
<!-- ziel -->
|
||||
Lädt Ressourceninhalt live zur Prüfung vor Freigabe
|
||||
<!-- regeln -->
|
||||
- POST-Request mit gültigem CSRF-Token
|
||||
- Gibt JSON mit Inhalt und Status zurück
|
||||
- Nur für Ressourcen vom Typ resource verfügbar
|
||||
<!-- testen -->
|
||||
- POST an admin knowledge-spaces provider-resource-live-preview mit candidate_id
|
||||
- Response enthält JSON mit ok und content
|
||||
- Im Dialog erscheint der live gelesene Inhalt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Ressourcenprüfung durchführen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Textteile suchen
|
||||
<!-- ziel -->
|
||||
Findet Textteile, die einer Suchanfrage semantisch ähneln
|
||||
<!-- regeln -->
|
||||
- Gibt Treffer absteigend nach Ähnlichkeit zurück
|
||||
- Limit wird auf maximal 200 begrenzt
|
||||
- Optionale doc_ids filtern Treffer nach Dokument
|
||||
- Ohne doc_ids werden Treffer aus allen Dokumenten zurückgegeben
|
||||
<!-- testen -->
|
||||
- POST such-chunks mit query und limit
|
||||
- Antwort enthält sortierte Treffer mit chunk_id
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Wissensräume prüfen
|
||||
<!-- ziel -->
|
||||
Prüft die Funktionsfähigkeit aller Wissensraum-Komponenten
|
||||
<!-- testen -->
|
||||
- Admin-Übersicht öffnen
|
||||
- Diagnose starten
|
||||
- Alle Prüfungen bestanden
|
||||
129
daten/RAG/konfiguration.md
Normal file
129
daten/RAG/konfiguration.md
Normal file
@@ -0,0 +1,129 @@
|
||||
<!-- titel -->
|
||||
Konfiguration
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Stellt Konfigurationsdaten für Ingest-Profile, Modelle, Chat-Nachrichten und Agent bereit
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- ROLE_SUPER_ADMIN darf alle Funktionen aufrufen
|
||||
- ROLE_KNOWLEDGE_ADMIN darf Konfigurationen lesen
|
||||
- POST erfordert gültiges CSRF-Token
|
||||
- Flash-Nachrichten zeigen Erfolg und Fehler
|
||||
- JsonResponse ohne Browser-Cache-Header
|
||||
- Default-Ausgabe ist JSON
|
||||
- Ingest-Profil entfernen fehlt
|
||||
- Model-Konfiguration löschen fehlt
|
||||
- Model-Konfiguration Retrieval testen fehlt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Ingest-Profil anlegen
|
||||
<!-- ziel -->
|
||||
Legt ein Ingest-Profil an, das Dokument-Importe steuert
|
||||
<!-- regeln -->
|
||||
- Nur Super-Admin kann aufrufen
|
||||
- CSRF-Token erforderlich
|
||||
- Erfolgsmeldung bei Anlage
|
||||
<!-- testen -->
|
||||
- Seite admin-ingest-profiles-create öffnen
|
||||
- Alle Felder ausfüllen
|
||||
- Formular absenden
|
||||
- Erfolgsmeldung bestätigt Anlage
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Ingest-Profile anzeigen
|
||||
<!-- regeln -->
|
||||
- ROLE_KNOWLEDGE_ADMIN erforderlich
|
||||
- Tabelle mit Spalten
|
||||
- Aktives Profil hervorgehoben
|
||||
<!-- testen -->
|
||||
- Admin-Bereich öffnen
|
||||
- Seite "Ingest-Profiles" aufrufen
|
||||
- Tabelle mit Profilen sichtbar
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Konfiguration aktivieren
|
||||
<!-- ziel -->
|
||||
Macht eine Konfiguration zur aktiven Konfiguration
|
||||
<!-- regeln -->
|
||||
- Nur SUPER_ADMIN darf diese Funktion auslösen
|
||||
- POST-Request erforderlich
|
||||
<!-- testen -->
|
||||
- admin_model_config_list öffnen
|
||||
- POST-Request an activate-Endpunkt senden
|
||||
- Weiterleitung zur Liste
|
||||
- Konfiguration ist aktiv
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Konfiguration anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt die aktuelle RetrieX-Konfiguration zur Diagnose
|
||||
<!-- regeln -->
|
||||
- Standardausgabe ist JSON
|
||||
- summary zeigt formatierte Übersicht
|
||||
- Zeigt alle Konfigurationsbereiche
|
||||
<!-- testen -->
|
||||
- Befehl ausführen: mto:agent:config:dump-effective
|
||||
- JSON-Ausgabe mit Config-Struktur
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Konfiguration bereitstellen
|
||||
<!-- ziel -->
|
||||
Liefert dem Chatfrontend alle nötigen Konfigurationsdaten in einem Request
|
||||
<!-- regeln -->
|
||||
- Keine Browser-Cache-Header
|
||||
- JsonResponse mit Konfigurationsdaten
|
||||
- Mischt Konfiguration aus drei Quellen
|
||||
<!-- testen -->
|
||||
- GET chat-messages-frontend
|
||||
- Antwort ist JsonResponse
|
||||
- Enthält limits.prompt und limits.uploads
|
||||
- Keine Browser-Cache-Header gesetzt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Konfigurationen anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt alle Model-Generation-Konfigurationen im Admin-Bereich
|
||||
<!-- regeln -->
|
||||
- ROLE_KNOWLEDGE_ADMIN erforderlich
|
||||
<!-- testen -->
|
||||
- Admin-Endpoint für Model-Konfiguration aufrufen
|
||||
- LMB auf Konfiguration in der Liste
|
||||
- Liste der Konfigurationen sichtbar
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Konfigurationsmuster prüfen
|
||||
<!-- ziel -->
|
||||
Prüft alle PHP-Dateien auf Verwendung von Kernmustern und markierten Token
|
||||
<!-- regeln -->
|
||||
- Ohne Option wird eine Zusammenfassung angezeigt
|
||||
- json gibt das vollständige Ergebnis maschinenlesbar aus
|
||||
- details zeigt die Warnungen als Tabelle
|
||||
- all fügt niedrigpriore REVIEW-Befunde hinzu
|
||||
- Fehlende Dateien werden als skipped_files gezählt
|
||||
<!-- testen -->
|
||||
- mto:agent:config:audit-patterns ausführen
|
||||
- Zusammenfassung mit Zählern prüfen
|
||||
- json anhängen und JSON-Struktur validieren
|
||||
- details anhängen und Tabelle prüfen
|
||||
- all anhängen und REVIEW-Zeilen prüfen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Tool-Freigaben aktualisieren
|
||||
<!-- ziel -->
|
||||
Schaltet einzelne Werkzeuge einer Anbindung im Chat frei oder sperrt sie
|
||||
<!-- regeln -->
|
||||
- Freigabe toggelt zwischen an und aus
|
||||
- Ungültiges Token zeigt Fehlermeldung
|
||||
- Erfolg zeigt Bestätigung
|
||||
- Fehler zeigt Exception-Nachricht
|
||||
<!-- testen -->
|
||||
- Admin-Übersicht öffnen
|
||||
- POST-Anfrage mit source_key, tool_name und tool_enabled senden
|
||||
- Flash-Message prüfen
|
||||
- Zurückleitung zur Übersicht
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Ingest-Profil entfernen
|
||||
46
daten/RAG/logs.md
Normal file
46
daten/RAG/logs.md
Normal file
@@ -0,0 +1,46 @@
|
||||
<!-- titel -->
|
||||
Logs
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Ermöglicht Superadmins das Einsehen und Durchsuchen von Systemprotokollen
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Logdateien liegen im Verzeichnis var log
|
||||
- Systemlogdateien heißen system-JJJJ-MM-TT.log
|
||||
- Letzte 1000 Zeilen werden gelesen
|
||||
- Dateien werden rückwärts gelesen
|
||||
- Fehlende Systemlogdatei wirft 404
|
||||
- Logdateien werden neueste zuerst aufgelistet
|
||||
- AdminVectorLogController liest 500 Zeilen statt 1000
|
||||
- AdminVectorLogController zeigt Meldung statt 404 bei fehlender Datei
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Logdatei anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt den Inhalt einer Systemlogdatei an
|
||||
<!-- regeln -->
|
||||
- Erfordert ROLE_SUPER_ADMIN
|
||||
- Liest die letzten 1000 Zeilen der Datei
|
||||
- Dateiname folgt dem Muster system-JJJJ-MM-TT.log
|
||||
- Nicht vorhandene Datei erzeugt 404
|
||||
- Liest rückwärts vom Dateiende für Speichereffizienz
|
||||
<!-- testen -->
|
||||
- Route admin system-logs view 2024-01-15 aufrufen
|
||||
- Seite mit Loginhalt wird angezeigt
|
||||
- Datei existiert im Dateisystem unter var log
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Logdateien auflisten
|
||||
<!-- ziel -->
|
||||
Zeigt alle System-Logdateien zum Download oder zur Einsicht an
|
||||
<!-- regeln -->
|
||||
- Nur ROLE_SUPER_ADMIN hat Zugriff
|
||||
- Listet alle system*.log-Dateien auf
|
||||
- Neueste Datei zuerst
|
||||
<!-- testen -->
|
||||
- Als Super-Admin anmelden
|
||||
- admin system-logs aufrufen
|
||||
- Logdateien absteigend nach Datum
|
||||
64
daten/RAG/sonstiges.md
Normal file
64
daten/RAG/sonstiges.md
Normal file
@@ -0,0 +1,64 @@
|
||||
<!-- titel -->
|
||||
Sonstiges
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Bietet administrative Verwaltungsfunktionen für Profile, Sicherheitsprüfungen und Dokument-Tags
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Super-Admin-Rolle für Profile aktivieren und Sicherheitsprüfung
|
||||
- Editor-Rolle für Tags speichern
|
||||
- CSRF-Token für jeden POST-Aufruf geprüft
|
||||
- Flash-Warnung bei ungültigem Token oder fehlerhafter Eingabe
|
||||
- Erfolgreiche Prüfung leitet zur Übersicht weiter
|
||||
- activate wirft AccessDeniedException, kein Flash bei ungültigem Token
|
||||
- POST admin-enterprise-check-deployment-scheduler bereitstellen
|
||||
- POST admin-enterprise-check-backup-restore bereitstellen
|
||||
- POST admin-enterprise-restore-dry-run-latest bereitstellen
|
||||
- GET admin-enterprise-operator-report-json bereitstellen
|
||||
- GET IngestProfile-Liste bereitstellen
|
||||
- GET Dokument-Tags bearbeiten bereitstellen
|
||||
- GET Tag-Rebuild-Status abfragen bereitstellen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
post activate {id} bereitstellen
|
||||
<!-- ziel -->
|
||||
Macht ein Ingest-Profil zur aktiven Konfiguration
|
||||
<!-- regeln -->
|
||||
- Nur Super-Admins
|
||||
- CSRF-Token erforderlich
|
||||
<!-- testen -->
|
||||
- Admin-Bereich öffnen
|
||||
- LMB auf "Aktivieren"-Schaltfläche
|
||||
- Flash-Benachrichtigung zeigt Erfolg
|
||||
- Profil in Liste als aktiv markiert
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Sicherheitsnachweis bereitstellen
|
||||
<!-- ziel -->
|
||||
Erfüllt die Nachweispflicht für Sicherheit und Datenschutz
|
||||
<!-- regeln -->
|
||||
- CSRF-Token erforderlich
|
||||
- Report aus lokaler Konfiguration
|
||||
- Prüfung im Betreiberprotokoll erfasst
|
||||
- Redirect zur Übersicht
|
||||
<!-- testen -->
|
||||
- Enterprise-Operations öffnen
|
||||
- Prüfung für Sicherheit und Datenschutz auslösen
|
||||
- Zurückleitung zur Übersicht mit Flash-Meldung
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
post {id} tags save bereitstellen
|
||||
<!-- ziel -->
|
||||
Speichert Tag-Zuordnungen eines Dokuments und startet den Rebuild
|
||||
<!-- regeln -->
|
||||
- Erfordert ROLE_EDITOR
|
||||
- Prüft CSRF-Token
|
||||
- Fehlerhafte Eingabe zeigt Flash-Warnung
|
||||
- Erfolg zeigt Flash-Meldung und leitet weiter
|
||||
<!-- testen -->
|
||||
- Tags-Editor für Dokument öffnen
|
||||
- Tag-IDs im Formular absenden
|
||||
- Flash-Meldung "Tags wurden aktualisiert" sichtbar
|
||||
304
daten/RAG/system.md
Normal file
304
daten/RAG/system.md
Normal file
@@ -0,0 +1,304 @@
|
||||
<!-- titel -->
|
||||
System
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Ermöglicht Systemadministration, Betriebsvalidierung und Datenmanagement für Admins
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- ROLE_ADMIN_AREA für Adminbereich
|
||||
- ROLE_SUPER_ADMIN für Super-Admin-Funktionen
|
||||
- ROLE_EDITOR für Bearbeitungsfunktionen
|
||||
- Flash-Meldungen zeigen Operationsergebnisse
|
||||
- Fehlgeschlagene Validierung bricht Operation ab
|
||||
- Rollenabhängige Startseite nach Anmeldung
|
||||
- Restore-Vorschau führt kein Restore aus
|
||||
- Bestätigungsphrase "KNOWLEDGE ENDGÜLTIG LÖSCHEN" ist hardcoded
|
||||
- Fehlermeldungstext "Die Anfrage konnte nicht verarbeitet" ist nicht dokumentiert
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Access-Denied-Fehler bereitstellen
|
||||
<!-- ziel -->
|
||||
Zeigt eine informative Fehlerseite mit kontextabhängigen Weiterleitungen an
|
||||
<!-- regeln -->
|
||||
- Fehlercode 403 im Titel
|
||||
- Rollenabhängige Startseite
|
||||
- Anmeldung für Gäste
|
||||
- Rolle "Chat" führt zum Chat
|
||||
- Rolle "Admin" führt zum Dashboard
|
||||
<!-- testen -->
|
||||
- Seite ohne Anmeldung aufrufen
|
||||
- Klick auf geschützte Ressource
|
||||
- error403-Seite mit Anmelde-Button
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Betriebsbereitschaft prüfen
|
||||
<!-- ziel -->
|
||||
Validiert die Enterprise-Readiness-Baseline ohne Chat-Runtime-Nebeneffekte
|
||||
<!-- regeln -->
|
||||
- Erkennt fehlende Readiness-, Doku-, Boundary-, Backup- und Command-Artefakte
|
||||
- Prüft Quell-, Konfigurations-, Dokumentations- und Eval-Verzeichnisse
|
||||
- Validiert alle Services-Imports in Services-Konfiguration
|
||||
- Prüft Governance-Dokument auf Maintainability-, Readiness- und Genre-Neutralitätsmarker
|
||||
- Validiert Enterprise-Dokumente auf Betriebsbaseline-Marker
|
||||
- Prüft Console-Binary auf Vorhandensein
|
||||
- Prüft Command-Referenz auf alle Enterprise-Commands
|
||||
- Prüft zentrale Qualitätschecks in der Command-Referenz
|
||||
- Warnt bei fehlenden oder nicht beschreibbaren Betriebsverzeichnissen
|
||||
<!-- testen -->
|
||||
- Command ausführen ohne Option
|
||||
- Tabelle zeigt Status, Case und Details
|
||||
- Alle Cases mit PASS erscheinen
|
||||
- Command mit --json ausführen
|
||||
- JSON-Objekt mit status, summary und cases erscheint
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Cache leeren
|
||||
<!-- ziel -->
|
||||
Leert den PHP-Runtime-Cache und den Vector-Service Query-Cache
|
||||
<!-- regeln -->
|
||||
- POST erfordert gültiges CSRF-Token
|
||||
- Erfolgreiches Leeren zeigt success-Flash
|
||||
- Fehler zeigt danger-Flash und bricht ab
|
||||
<!-- testen -->
|
||||
- POST an admin-runtime-cache-clear mit korrektem _token
|
||||
- Erfolgreicher Flash erscheint
|
||||
- Redirect zu admin-dashboard
|
||||
- Cache nach dem Leeren leer
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Daten neu laden
|
||||
<!-- ziel -->
|
||||
Synchronisiert alle Indizes und das Embedding-Modell mit dem Dateisystem
|
||||
<!-- regeln -->
|
||||
- Lädt Chunk-Index neu
|
||||
- Lädt Tag-Index neu
|
||||
- Lädt Embedding-Modell neu
|
||||
- Leert den Query-Cache
|
||||
- Gibt Service-Stempel zurück
|
||||
- HTTPException bei Fehler
|
||||
<!-- testen -->
|
||||
- POST-Reload-Endpunkt aufrufen
|
||||
- 200 OK
|
||||
- status: reloaded
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Daten sichern
|
||||
<!-- ziel -->
|
||||
Erstellt periodische Sicherungskopien, um Datenverlust zu verhindern
|
||||
<!-- regeln -->
|
||||
- Kopiert Dateien ins Sicherungsverzeichnis
|
||||
- Entfernt Sicherungen jenseits der Aufbewahrungsfrist
|
||||
- Datenbankdump als optionale Sicherung
|
||||
- Dry-Run validiert den Plan ohne zu schreiben
|
||||
- JSON-Ausgabe für maschinelle Verarbeitung
|
||||
<!-- testen -->
|
||||
- mto:agent:enterprise:backup-run mit --json ausführen
|
||||
- JSON-Status auf SUCCESS prüfen
|
||||
- backup_id und target im JSON vorhanden
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Deployment prüfen
|
||||
<!-- ziel -->
|
||||
Prüft Deployment-Bereitschaft und protokolliert das Ergebnis
|
||||
<!-- regeln -->
|
||||
- CSRF-Token wird geprüft
|
||||
- DeploymentSchedulerReadinessService liefert Report
|
||||
- Prüfung wird im OperatorCheckProtocol protokolliert
|
||||
- Flash-Meldung zeigt Status der Prüfung
|
||||
<!-- testen -->
|
||||
- POST an Admin-Endpoint für Deployment-Prüfung senden
|
||||
- Weiterleitung zu admin_enterprise_operations
|
||||
- Flash-Meldung zeigt Deployment-Status
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Dienststatus melden
|
||||
<!-- ziel -->
|
||||
Ermöglicht die Überwachung der Betriebsbereitschaft des Dienstes
|
||||
<!-- regeln -->
|
||||
- Gibt JSON zurück
|
||||
- Enthält immer Status ok
|
||||
- Enthält alle Komponentenzustände
|
||||
<!-- testen -->
|
||||
- GET an health-Endpunkt senden
|
||||
- Antwort prüfen
|
||||
- Status ok vorhanden
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Flow-Grenze sperren
|
||||
<!-- ziel -->
|
||||
Validiert die passive AgentRunner-Flow-Boundary-Linie ohne Runtime-Nebeneffekte
|
||||
<!-- regeln -->
|
||||
- Prueft vollstaendige und geordnete Flow-Sections
|
||||
- Validiert AgentRunContext gegen deklarierte Boundaries
|
||||
- Prueft Boundary-Vertraege auf trace-only-Grenzen
|
||||
- Prueft kritische Runtime-Eigner-Token im AgentRunner
|
||||
- Prueft Flow-Qellen auf verbotene Runtime-Aufrufsignaturen
|
||||
- Prueft Patchline-Dokumentation auf aktuellen Flow-Lock
|
||||
<!-- testen -->
|
||||
- Kommando `mto:agent:architecture:flow-boundary-lock-self-test` ausfuehren
|
||||
- Alle Pruefungen bestaetigen OK
|
||||
- Status OK zurueckgemeldet
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Neuindizierung starten
|
||||
<!-- ziel -->
|
||||
Startet eine vollständige Neuindizierung aller Inhalte als Hintergrundprozess
|
||||
<!-- regeln -->
|
||||
- Erfordert ROLE_SUPER_ADMIN
|
||||
- CSRF-Token wird geprüft
|
||||
- Fehlgeschlagener Start zeigt Flash-Meldung und Weiterleitung
|
||||
<!-- testen -->
|
||||
- POST an Global-Reindex-Endpoint mit gültigem CSRF-Token absenden
|
||||
- Redirect nach admin_job_show mit neuer Job-ID prüfen
|
||||
- Flash-Meldung Global Reindex wurde gestartet prüfen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Normalisierung prüfen
|
||||
<!-- ziel -->
|
||||
Prüft ob die Normalisierungs-Infrastruktur korrekt aufgebaut ist
|
||||
<!-- regeln -->
|
||||
- required_files_present
|
||||
- prompt_is_versioned_and_markdown_only
|
||||
- llm_transport_is_fit_for_large_ingest_prompt
|
||||
- segmented_execution_boundary_present
|
||||
- foundation_is_not_wired_into_automatic_runtime
|
||||
- provenance_sidecar_is_safe
|
||||
- validator_cleans_wrapper_and_common_prose
|
||||
- validator_sanitizes_segment_code_fence_markers
|
||||
- validator_blocks_failure_answer
|
||||
- validator_removes_source_echo_markers
|
||||
- source_noise_cleaner_removes_binary_pdf_artifact_lines
|
||||
- no_genre_runtime_gate_markers
|
||||
<!-- testen -->
|
||||
- mto:agent:ingest:markdown-normalization-foundation-self-test ausführen
|
||||
- Alle Testfälle mit OK bestätigt
|
||||
- Status OK im Report
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Preview prüfen
|
||||
<!-- ziel -->
|
||||
Validiert die korrekte Verdrahtung der Admin-Markdown-Normalisierung ohne Nebeneffekte
|
||||
<!-- regeln -->
|
||||
- Liest Controller, Template und Inspector
|
||||
- Prüft explizite Admin-Aktion ohne automatische Verdrahtung
|
||||
- Prüft read-only Provenienz ohne Prompt- oder Raw-Speicherung
|
||||
- Prüft genreneutrale Verdrahtung
|
||||
<!-- testen -->
|
||||
- Bin console mto:agent:ingest:markdown-normalization-preview-self-test ausführen
|
||||
- Ausgabe auf Status OK prüfen
|
||||
- Alle Testfälle bestanden
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Promptversion aktivieren
|
||||
<!-- ziel -->
|
||||
Macht eine gespeicherte Promptversion zur aktiven Version
|
||||
<!-- regeln -->
|
||||
- Nur Super-Admins haben Zugriff
|
||||
- Aktivierung durch POST-Request
|
||||
- CSRF-Token wird geprüft
|
||||
- Aktivierte Version wird als aktuell markiert
|
||||
- Fehler zeigen eine Flash-Meldung
|
||||
<!-- testen -->
|
||||
- System-Prompt-Verwaltung öffnen
|
||||
- LMB auf "Aktivieren" neben einer inaktiven Version
|
||||
- Flash-Meldung "Version aktiviert" erscheint
|
||||
- Version zeigt aktivierten Zustand
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Promptversion löschen
|
||||
<!-- ziel -->
|
||||
Entfernt eine nicht mehr benötigte Promptversion dauerhaft
|
||||
<!-- regeln -->
|
||||
- Super Admin erforderlich
|
||||
- Post-Request erforderlich
|
||||
<!-- testen -->
|
||||
- LMB auf Löschen-Button der Version
|
||||
- Bestätigung bestätigen
|
||||
- Erfolgsmeldung wird angezeigt
|
||||
- Version nicht mehr in Liste
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Promptversionen verwalten
|
||||
<!-- ziel -->
|
||||
Erstellt neue Versionen und listet vorhandene auf
|
||||
<!-- regeln -->
|
||||
- POST erstellt neue Version
|
||||
- GET listet alle Versionen auf
|
||||
- Aktive Version hervorgehoben
|
||||
- Neueste Version zuerst sortiert
|
||||
<!-- testen -->
|
||||
- POST mit gültigen Daten absenden
|
||||
- Erfolgsmeldung sichtbar
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Restore-Vorschau prüfen
|
||||
<!-- ziel -->
|
||||
Zeigt eine Vorschau des letzten Backups ohne Daten wiederherzustellen
|
||||
<!-- regeln -->
|
||||
- Nur Super-Admin
|
||||
- CSRF-Token erforderlich
|
||||
- Kein Restore wird ausgeführt
|
||||
- Ergebnis als Flash-Meldung
|
||||
<!-- testen -->
|
||||
- Als Super-Admin anmelden
|
||||
- POST an Admin-Restore-Endpunkt dry-run latest
|
||||
- Flash-Meldung mit Ergebnis
|
||||
- Zurück zur Übersicht
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Simulation ausführen
|
||||
<!-- ziel -->
|
||||
Testet die MCP-Evidence-Sanilisierung ohne AgentRunner
|
||||
<!-- regeln -->
|
||||
- JSON und Datei schließen sich gegenseitig aus
|
||||
- Fehlende Eingabe lädt Fixture
|
||||
- Rückgabe enthält sanitisiertes Payload und EvidenceItem
|
||||
<!-- testen -->
|
||||
- php bin\console mto:agent:mcp:evidence-dry-run --payload-json='{}'
|
||||
- Befehl zeigt JSON-Ausgabe mit Status
|
||||
- Status ist OK oder empty
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Systemzustand zurücksetzen
|
||||
<!-- ziel -->
|
||||
Setzt alle Dokumentversionen und den Wissensindex auf den Ausgangszustand zurück
|
||||
<!-- regeln -->
|
||||
- Nur POST-Requests werden akzeptiert
|
||||
- CSRF-Token wird geprüft
|
||||
- Benutzer muss ROLE_EDITOR besitzen
|
||||
- Löscht alle Dokumentversionen
|
||||
- Setzt alle Ingest-Jobs zurück
|
||||
- Leert den Wissensindex
|
||||
- Gibt eine Bestätigungsmeldung aus
|
||||
<!-- testen -->
|
||||
- POST an Admin-Endpunkt zum Zurücksetzen senden
|
||||
- CSRF-Token im Request mitgeben
|
||||
- Erfolgsmeldung prüfen
|
||||
- Alle Versionen und Ingest-Jobs entfernt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Verzeichnis bereinigen
|
||||
<!-- ziel -->
|
||||
Hält den Eingangsbereich sauber und vermeidet vollaufende Speicher durch verwaiste Dateien
|
||||
<!-- regeln -->
|
||||
- Nur POST erlaubt
|
||||
- CSRF-Token erforderlich
|
||||
- ROLE_EDITOR erforderlich
|
||||
- Leere Upload-Ordner werden entfernt
|
||||
- Alte fehlgeschlagene Ablagen werden verschoben
|
||||
- Alte übersprungene Ablagen werden verschoben
|
||||
- Warnungen als Flash-Meldungen ausgegeben
|
||||
<!-- testen -->
|
||||
- POST an Admin-Batch-Cleanup senden
|
||||
- Gültiges CSRF-Token übergeben
|
||||
- Berichtsübersicht öffnet sich
|
||||
- Erfolgsmeldung mit Bereinigungszähler
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Admin-Login bereitstellen
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Fehlerseite anzeigen
|
||||
63
daten/RAG/tags.md
Normal file
63
daten/RAG/tags.md
Normal file
@@ -0,0 +1,63 @@
|
||||
<!-- titel -->
|
||||
Tags
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Verwaltet verschlagwortbare Tags und stellt sie für die semantische Suche bereit
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Tag erstellen: Formular öffnen, ausfüllen, absenden
|
||||
- Tag löschen: RMB, Klick auf Tag entfernen
|
||||
- Tag zuweisen: Formular öffnen, Tag auswählen, speichern
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Tag-Rebuild-Auftrag ausführen
|
||||
<!-- ziel -->
|
||||
Erstellt Tag-Suchindex-Dateien
|
||||
<!-- regeln -->
|
||||
- Lock verhindert gleichzeitige Ausführung
|
||||
- tags.ndjson existiert nach Export
|
||||
- Job endet mit Status completed oder failed
|
||||
- Lock wird immer freigegeben
|
||||
<!-- testen -->
|
||||
- CLI-Befehl mit --create ausführen
|
||||
- Job-Status ist running
|
||||
- tags.ndjson existiert im Export-Verzeichnis
|
||||
- vector_tags.index ist erstellt
|
||||
- Job-Status ist completed
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Tags auflisten
|
||||
<!-- ziel -->
|
||||
Zeigt alle Tags im Administrationsbereich an
|
||||
<!-- regeln -->
|
||||
- Nur für Benutzer mit ROLE_EDITOR sichtbar
|
||||
- GET-Anfrage auf Admin-Tags-Endpunkt
|
||||
<!-- testen -->
|
||||
- GET-Anfrage an Admin-Tags-Endpunkt senden
|
||||
- Seite mit Tag-Liste wird angezeigt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Tags bearbeiten
|
||||
<!-- testen -->
|
||||
- Funktion fehlt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Tags suchen
|
||||
<!-- regeln -->
|
||||
- Ergebnisse nach Ähnlichkeit geordnet
|
||||
- Enthält label und tag_type
|
||||
- Optionale Filterung nach doc_ids
|
||||
- Leerer Query führt zu Fehler
|
||||
<!-- testen -->
|
||||
- Suchanfrage mit query sales senden
|
||||
- Antwort enthält Tags mit label
|
||||
- Jedes Ergebnis hat tag_type
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Tag-Zuordnung bearbeiten
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Tag-Rebuild-Status abfragen
|
||||
40
daten/RAG/titel.md
Normal file
40
daten/RAG/titel.md
Normal file
@@ -0,0 +1,40 @@
|
||||
<!-- titel -->
|
||||
Titel
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Ermöglicht das Ändern und Vorschlagen von Dokumenttiteln im Admin-Bereich
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Titeländerung ändert bestehende Versionen nicht
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Titel aktualisieren
|
||||
<!-- ziel -->
|
||||
Ändert den Titel eines Dokuments manuell
|
||||
<!-- regeln -->
|
||||
- CSRF-Token erforderlich
|
||||
- Titel nicht leer
|
||||
- Titel maximal 255 Zeichen
|
||||
- Bestehende Versionen unverändert
|
||||
<!-- testen -->
|
||||
- Seite mit Titel-Feld öffnen
|
||||
- LMB auf Speichern-Button klicken
|
||||
- Flash-Meldung zeigt Erfolg
|
||||
- Neuer Titel in der Überschrift
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Titelvorschläge laden
|
||||
<!-- ziel -->
|
||||
Erhält auf Basis des Dokumentinhalts alternative Titelvorschläge
|
||||
<!-- regeln -->
|
||||
- Editoren-Rolle erforderlich
|
||||
- CSRF-Token wird geprüft
|
||||
- Ohne Vorschläge wird Fehler zurückgegeben
|
||||
- Rückgabe als JSON mit ok-Flag
|
||||
<!-- testen -->
|
||||
- Dokumentdetailseite öffnen
|
||||
- LMB auf Titelvorschläge-Schaltfläche
|
||||
- JSON mit Titelvorschlägen empfangen
|
||||
75
daten/RAG/uploads.md
Normal file
75
daten/RAG/uploads.md
Normal file
@@ -0,0 +1,75 @@
|
||||
<!-- titel -->
|
||||
Uploads
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Verwaltet temporäre Datei-Uploads im Chat und persistente Batch-Uploads im Admin-Bereich
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Upload-Größenlimit liefert Status 413
|
||||
- Admin-Uploads erfordern Editor-Rolle
|
||||
- CSRF-Token bei Admin-Upload geprüft
|
||||
- Temporäre Uploads werden nach Ablauf gelöscht
|
||||
- Batch-Reports als JSON und Markdown verfügbar
|
||||
- Upload-Grenzen werden für das Frontend bereitgestellt
|
||||
- limits enthält erlaubte Dateitypen, Grenzen pro Sitzung, Dateigröße und Ablaufzeit
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Berechtigungsmodus ändern
|
||||
<!-- ziel -->
|
||||
Ändert den Berechtigungsmodus eines Chat-Uploads auf einen erlaubten Wert
|
||||
<!-- regeln -->
|
||||
- PATCH oder POST erforderlich
|
||||
- clientId aus Request-Cookie ermittelt
|
||||
- authorityMode aus Body gelesen
|
||||
- Unbekannter Modus führt zu Fehler
|
||||
<!-- testen -->
|
||||
- PATCH auf Chat-Upload-Endpunkt mit authorityMode im Body senden
|
||||
- Erfolg: status ok und aktualisierter Upload zurück
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Datei hochladen
|
||||
<!-- ziel -->
|
||||
Speichert eine Datei und gibt den aktuellen Upload-Status zurück
|
||||
<!-- regeln -->
|
||||
- Nur eine Datei pro Anfrage erlaubt
|
||||
- Dateityp und Größe werden geprüft
|
||||
- Upload wird mit Client-ID verknüpft
|
||||
- Fehler werden als JSON zurückgegeben
|
||||
- Größenlimit-Überschreitung liefert Status 413
|
||||
<!-- testen -->
|
||||
- POST chat-uploads mit Datei im Feld file
|
||||
- Antwort enthält status ok und Upload-ID
|
||||
- Anfrage ohne Datei gibt Fehler zurück
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Upload entfernen
|
||||
<!-- ziel -->
|
||||
Entfernt einzelne oder alle Uploads aus der Sitzung
|
||||
<!-- regeln -->
|
||||
- DELETE entfernt Upload mit ID
|
||||
- POST entfernt alle Uploads der Sitzung
|
||||
- Unbekannte ID gibt Status missing
|
||||
- Antwort enthält aktualisierte Upload-Liste
|
||||
<!-- testen -->
|
||||
- DELETE auf Upload-ID
|
||||
- Status ok in Antwort
|
||||
- Upload nicht mehr in Liste
|
||||
- POST auf Leeren-Button
|
||||
- Uploads-Liste leer
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Uploads auflisten
|
||||
<!-- ziel -->
|
||||
Zeigt verfügbare Uploads und deren Grenzen an
|
||||
<!-- regeln -->
|
||||
- Löscht abgelaufene Uploads des Clients
|
||||
- Liefert enabled-Flag
|
||||
- Liefert Uploads des Clients
|
||||
- Liefert alle Grenzen für das Frontend
|
||||
<!-- testen -->
|
||||
- Anfrage an Chat-Uploads senden
|
||||
- JSON-Antwort prüfen
|
||||
- enabled, uploads und limits vorhanden
|
||||
57
daten/RAG/verlauf.md
Normal file
57
daten/RAG/verlauf.md
Normal file
@@ -0,0 +1,57 @@
|
||||
<!-- titel -->
|
||||
Verlauf
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Bietet Zugriff auf und Löschung von Gesprächsverläufen
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- json-Ausgabe als JSON
|
||||
- Löscht Konversation
|
||||
- Löscht Commerce-Referenzen
|
||||
- Löscht Uploads
|
||||
- Badge fehlt
|
||||
- sample Option nicht dokumentiert
|
||||
- Testen für leere Eingabe fehlt
|
||||
- Regel Nur eine Eingabequelle gleichzeitig nur dokumentiert nicht getestet
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Verankerungen extrahieren
|
||||
<!-- ziel -->
|
||||
Ermöglicht das Extrahieren strukturierter Verankerungen aus Konversationsverläufen
|
||||
<!-- regeln -->
|
||||
- Liest Verlaufstext aus Argument, Datei oder STDIN
|
||||
- Nur eine Eingabequelle gleichzeitig
|
||||
- json gibt Ergebnis als JSON aus
|
||||
- max-turns begrenzt die analysierten Turns
|
||||
<!-- testen -->
|
||||
- Befehl mit --sample ausführen
|
||||
- Extrahierte Verankerungen im Ausgabetext
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Verlauf abrufen
|
||||
<!-- ziel -->
|
||||
Lädt gespeicherte Konversation zum Wiederherstellen der Chatansicht
|
||||
<!-- regeln -->
|
||||
- Identität aus Cookie
|
||||
- Rohdaten in Benachrichtigungen umgewandelt
|
||||
- Leere Geschichte gibt leeres Array zurück
|
||||
<!-- testen -->
|
||||
- History-Endpunkt aufrufen
|
||||
- Antwort prüfen
|
||||
- Array mit role und text pro Nachricht
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Verlauf löschen
|
||||
<!-- ziel -->
|
||||
Entfernt alle Daten des aktuellen Clients aus dem Verlauf
|
||||
<!-- regeln -->
|
||||
- POST-Endpoint
|
||||
- Löscht Konversation, Commerce-Referenzen und Uploads
|
||||
- Gibt {"status": "ok"} zurück
|
||||
<!-- testen -->
|
||||
- POST an history-delete senden
|
||||
- Antwort prüfen: HTTP 200
|
||||
- Antwort enthält {"status": "ok"}
|
||||
75
daten/RAG/versionen.md
Normal file
75
daten/RAG/versionen.md
Normal file
@@ -0,0 +1,75 @@
|
||||
<!-- titel -->
|
||||
Versionen
|
||||
----------------------------------------
|
||||
<!-- art -->
|
||||
kern
|
||||
----------------------------------------
|
||||
<!-- ziel -->
|
||||
Verwaltet Versionen eines Dokuments mit Ablegen, Erstellen, Einlesen und Aktivieren
|
||||
----------------------------------------
|
||||
<!-- regeln -->
|
||||
- Versionen absteigend nach Versionsnummer sortiert
|
||||
- Preview-Daten als JSON mit ok-Feld
|
||||
- Version-Aktivierung mit CSRF-Schutz
|
||||
- Version-Aktivierung zeigt Flash-Nachricht
|
||||
- Neue Version zeigt Flash-Nachricht
|
||||
- Ableiten zeigt CSRF-Fehler bei ungültigem Token
|
||||
- Ableiten zeigt Fehler bei leerem Inhalt
|
||||
- Neue Version zeigt Fehler bei fehlender Datei
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Version ableiten
|
||||
<!-- ziel -->
|
||||
Erstellt eine neue Version aus bearbeitbaren Originaldaten
|
||||
<!-- regeln -->
|
||||
- Lädt die Originaldaten-Vorschau der Quellversion
|
||||
- POST erfordert gültiges CSRF-Token
|
||||
- Neue Version ist nach Erstellung inaktiv
|
||||
- Leerer Inhalt wird abgelehnt
|
||||
<!-- testen -->
|
||||
- Ableiten-Seite der Quellversion öffnen
|
||||
- Bearbeitbaren Quelltext im Formular anzeigen
|
||||
- POST mit Quelltext und CSRF-Token absenden
|
||||
- Neue Dokumentversion erstellt und Redirect zu Dokument
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Version einlesen
|
||||
<!-- regeln -->
|
||||
- Gibt JSON mit Preview-Daten zurück
|
||||
- Fehler als JSON mit ok: false
|
||||
<!-- testen -->
|
||||
- Dokument-Detailseite öffnen
|
||||
- LMB auf Version klicken
|
||||
- Vorschau-Request abwarten
|
||||
- JSON enthält ok: true und preview
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Version erstellen
|
||||
<!-- ziel -->
|
||||
Ermöglicht das Hinzufügen einer neuen Dokumentversion
|
||||
<!-- regeln -->
|
||||
- GET zeigt Formular mit Dokument-ID
|
||||
- POST erfordert gültiges CSRF-Token
|
||||
- POST erfordert hochgeladene Datei
|
||||
- Hochgeladene Datei wird in Upload-Verzeichnis verschoben
|
||||
- DocumentService erstellt neue Version
|
||||
<!-- testen -->
|
||||
- Admin-URL für neue Dokumentversion aufrufen
|
||||
- Formular mit Datei und CSRF-Token POSTen
|
||||
- Erfolgsmeldung Neue Dokumentversion wurde hochgeladen
|
||||
- Weiterleitung auf Dokumentdetailseite
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Versionvorschau anzeigen
|
||||
<!-- ziel -->
|
||||
Zeigt den Originaltext einer Dokumentversion in einem ausschnitt an
|
||||
<!-- regeln -->
|
||||
- LMB auf Version
|
||||
- Zeigt Textausschnitt mit Offset und Limit
|
||||
<!-- testen -->
|
||||
- Dokumentdetail öffnen
|
||||
- API version preview abrufen
|
||||
- preview enthält Textausschnitt
|
||||
----------------------------------------
|
||||
<!-- funktion -->
|
||||
Version aktivieren
|
||||
Reference in New Issue
Block a user