This commit is contained in:
team 1
2026-05-12 11:08:34 +02:00
parent 6dced1c4df
commit 6e2ca15e97
5 changed files with 542 additions and 287 deletions

View File

@@ -0,0 +1,54 @@
# RetrieX Patch p101a - Admin Eval Case Creator Separate Page
## Ziel
Der Eval-Case-Creator wird als eigene Admin-Seite geführt, damit die Eval-Suite-Übersicht schlank bleibt und nicht durch das komplette Case-Erstellformular aufgeblasen wirkt.
## Neue / geänderte Admin-Routen
- `GET /admin/evals/` bleibt die fokussierte Eval-Suite-Übersicht für Runs und Reports.
- `GET /admin/evals/cases/new` zeigt das separate Formular zum Anlegen neuer Eval-Cases.
- `POST /admin/evals/cases` speichert neue Eval-Cases in `tests/evals/cases/<type>.ndjson`.
## UX-Änderungen
- Die Eval-Suite-Übersicht erhält nur einen kompakten Button `Eval-Case erstellen`.
- Report-Ergebnisse erhalten den Button `Als neuen Case vorbereiten`.
- Die neue Seite übernimmt bei vorbereiteten Cases:
- Eval-Typ
- Prompt
- History/Kontext, sofern im Report vorhanden
- vorgeschlagene Assertions aus Query, Einzelqueries oder Dokument-IDs
- Die eigentliche Case-Erstellung liegt außerhalb der Report-/Run-Übersicht.
## Validierung
Beim Speichern werden geprüft:
- CSRF-Token
- `ROLE_KNOWLEDGE_ADMIN`
- unterstützter Eval-Typ
- eindeutige Case-ID über alle Eval-Typen
- erlaubtes Case-ID-Format
- nicht leerer Prompt
- gültiges Assert-JSON-Objekt
- gültige History-JSON-Liste
- DTO-Validierung über `EvalCase::fromArray()`
## Nicht geändert
- Keine Retrieval-Logik
- Keine Shopquery-Logik
- Keine Follow-up-Logik
- Keine Answer-Guard-Logik
- Keine Eval-Cases
- Keine YAML-/Parameteränderung
- Keine Migration
## Betroffene Dateien
- `src/Controller/Admin/AdminEvalController.php`
- `src/Service/Admin/EvalAdminService.php`
- `templates/admin/evals/index.html.twig`
- `templates/admin/evals/case_new.html.twig`
- `patch_history/RETRIEX_PATCH_101A_ADMIN_EVAL_CASE_CREATOR_PAGE_README.md`