This commit is contained in:
team3
2026-07-29 15:19:41 +02:00
parent 2e86d682eb
commit 5d42b4cfc5
155 changed files with 14482 additions and 1736 deletions

128
daten/RAG/feedback.md Normal file
View 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