129 lines
4.3 KiB
Markdown
129 lines
4.3 KiB
Markdown
<!-- 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
|