387 lines
14 KiB
Markdown
387 lines
14 KiB
Markdown
<!-- 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
|