diff -ruN '--exclude=var/cache' rag_work_chat_orig/patch_history/RETRIEX_PATCH_87_CHAT_FRONTEND_CONTROLLER_README.md rag_work_chat_patch/patch_history/RETRIEX_PATCH_87_CHAT_FRONTEND_CONTROLLER_README.md --- rag_work_chat_orig/patch_history/RETRIEX_PATCH_87_CHAT_FRONTEND_CONTROLLER_README.md 1970-01-01 00:00:00.000000000 +0000 +++ rag_work_chat_patch/patch_history/RETRIEX_PATCH_87_CHAT_FRONTEND_CONTROLLER_README.md 2026-05-11 09:12:52.126440052 +0000 @@ -0,0 +1,82 @@ +# RetrieX Patch p87 - Chat Frontend Symfony Controller + +## Zweck + +Der Chat lief bisher als statische `public/index.html`. Dadurch konnte die Startseite den Symfony-Kernel umgehen und war fuer spaetere PHP-seitige Erweiterungen wie Rollen-/Rechtepruefung, Mandantenlogik oder dynamische Chat-Optionen ungeeignet. + +p87 hebt nur den Chat-Frontend-Einstieg in einen eigenen Symfony-Controller und trennt ihn architektonisch vom Adminbereich. Es gibt keine Aenderungen an Agent, Retrieval, Scoring, Ranking, Shop-Matching, SSE, History oder Frontend-JavaScript-Logik. + +## Aenderungen + +- Neuer Controller: `src/Controller/Chat/ChatController.php` + - Namespace bewusst getrennt von `App\Controller\Admin` + - Route `/` als Chat-Startseite + - Route `/chat` als expliziter Chat-Alias + - rendert `templates/chat/index.html.twig` +- Neues Twig-Template: `templates/chat/index.html.twig` + - Inhalt aus der bisherigen `public/index.html` uebernommen + - Asset-Pfade ueber `asset()` gerendert + - Chat-UI bleibt optisch und funktional gleich +- `public/index.html` entfernt + - wichtig, damit der Webserver die Root-Anfrage nicht weiter statisch vor Symfony abfaengt +- `src/Controller/Admin/DashboardController.php` angepasst + - Root-Routen `''` und `/` entfernt + - Admin-Redirect bleibt nur unter `/admin` und `/admin/` + +## Architekturentscheidung + +Chat und Admin bleiben getrennt: + +- Chat: `App\Controller\Chat\...`, `templates/chat/...`, oeffentliche Route `/` bzw. `/chat` +- Admin: `App\Controller\Admin\...`, `templates/admin/...`, geschuetzte Route `/admin...` + +Damit kann Schritt 2 spaeter sauber aufsetzen, z. B. mit einem eigenen Chat-Firewall-/Access-Control-Bereich oder Controller-Attributen wie `#[IsGranted(...)]`, ohne Admin-Templates, Admin-Routen oder Admin-Navigation mit dem Chat zu vermischen. + +## Bewusst nicht geaendert + +- Keine Rollen-/Rechtepflicht fuer den Chat in diesem Patch +- Keine Aenderung an `security.yaml`, ausser dass die bestehende Trennung weiterhin moeglich bleibt +- Keine Aenderung an `/ask-jobs`, `/ask-sse`, `/history`, `/chat-messages/frontend` +- Keine Aenderung an `public/assets/js/base.js` +- Keine Aenderung an RAG-/Commerce-/Prompt-/YAML-Logik + +## Lokale Checks + +Ausgefuehrt: + +```bash +php -l src/Controller/Chat/ChatController.php +php -l src/Controller/Admin/DashboardController.php +python3 - <<'PY' +from pathlib import Path +assert Path('templates/chat/index.html.twig').exists() +assert not Path('public/index.html').exists() +assert "#[Route('/', name: 'chat_index'" in Path('src/Controller/Chat/ChatController.php').read_text() +print('p87 structural checks OK') +PY +``` + +Ergebnis: + +- PHP lint OK +- Chat-Template vorhanden +- statische `public/index.html` entfernt +- Root-Route liegt jetzt beim ChatController + +## Noch in Zielumgebung ausfuehren + +```bash +php bin/console cache:clear +php bin/console debug:router | grep -E 'chat_index|admin_dashboard' +php bin/console mto:agent:config:validate +php bin/console mto:agent:regression:test +php bin/console mto:agent:config:audit-source --details +php bin/console mto:agent:config:audit-patterns --details +``` + +Manuelle Smoke-Tests: + +1. `/` oeffnet den Chat. +2. `/chat` oeffnet denselben Chat. +3. `/admin` leitet weiterhin zum Admin-Dashboard/Login. +4. `/ask-jobs`, `/ask-sse/{jobId}`, `/history`, `/history/delete`, `/chat-messages/frontend` funktionieren unveraendert. diff -ruN '--exclude=var/cache' rag_work_chat_orig/public/index.html rag_work_chat_patch/public/index.html --- rag_work_chat_orig/public/index.html 2026-05-10 15:02:19.000000000 +0000 +++ rag_work_chat_patch/public/index.html 1970-01-01 00:00:00.000000000 +0000 @@ -1,56 +0,0 @@ - - -
- -
-
+