LLARS Nightly Tile Matrix¶
Version: 1.2
Stand: 3. Oktober 2026
Diese Datei ist die operative Referenz für die Nightly-Kacheltests.
Pflichtregeln¶
- Jede Home-Kachel muss in
llars-frontend/src/config/home_tiles.contract.jsondefiniert sein. - Für jede Kachel muss ein gleichnamiger Playwright-Test existieren in
llars-frontend/e2e/nightly/tile-regression.spec.js. - Workflow-übergreifende Tests müssen in
llars-frontend/e2e/nightly/workflows.spec.jsstehen und mitllars-frontend/e2e/nightly/nightly_workflows.contract.jsonsynchron sein. - Deep-Interaktionsaktivitäten müssen in
llars-frontend/e2e/nightly/nightly_activities.contract.jsongepflegt sein und als[ACT:<ID>]in den Nightly-Tests auftauchen. - Wenn
Home.vueoderhome_tiles.contract.jsongeändert wird, müssen Tests und Doku mitgeändert werden, sonst schlägt CI fehl (scripts/testing/validate_nightly_coverage.py).
Rollenreihenfolge Nightly¶
test_evaluator -> test_researcher -> test_chatbot_manager -> test_admin
Kachel-zu-Test-Matrix¶
| Kachelname (Testtitel) | Route | Rollen | Testtyp |
|---|---|---|---|
| Prompt Engineering | /PromptEngineering |
evaluator, researcher, chatbot_manager, admin | Tile Regression + Workflow |
| Batch Generation | /generation |
evaluator, researcher, chatbot_manager, admin | Tile Regression + Workflow |
| Evaluation | /evaluation |
evaluator, researcher, admin | Tile Regression |
| Scenario Manager | /scenarios |
evaluator, researcher, admin | Tile Regression + Workflow |
| Chatbot | /chat |
evaluator, researcher, chatbot_manager, admin | Tile Regression |
| Video | /video |
evaluator, researcher, admin | Tile Regression |
| Markdown Collab | /MarkdownCollab |
evaluator, researcher, chatbot_manager, admin | Tile Regression |
| Chatbot Arena | /judge |
admin | Tile Regression |
| Anonymization | /Anonymize |
evaluator, researcher, admin | Tile Regression |
| Anonymisierungs-Pipeline | /anonymization |
researcher, admin | Tile Regression |
| KAIMO | /kaimo |
evaluator, researcher, admin | Tile Regression |
| OnCoCo | /oncoco |
admin | Tile Regression |
| Admin Dashboard | /admin?tab=overview |
admin | Tile Regression |
| Support-Tickets | /admin/tickets |
admin | Tile Regression + Workflow |
| Chatbot Admin | /chatbot-manager |
chatbot_manager, admin | Tile Regression |
| RAG Admin | /chatbot-manager?tab=rag |
chatbot_manager, admin | Tile Regression |
| Conference Manager | /conferences |
evaluator, researcher, admin | Tile Regression + Workflow |
| Pipeline | /pipeline |
admin | Tile Regression |
| Studie (Test) | /s/klicktest |
admin | Tile Regression |
| Studie — Übersicht | /s/study |
admin | Tile Regression |
| Studie — Blockvorschau | /s/study/preview |
admin | Tile Regression |
| Meine Tickets | /tickets |
evaluator, researcher, chatbot_manager, admin | Tile Regression + Workflow |
| User Settings | /settings |
evaluator, researcher, chatbot_manager, admin | Tile Regression |
Zu den drei Studien-Kacheln¶
Sie gehören zur LLM-Interaktionsstudie und sind ausschließlich für admin sichtbar.
„Studie (Test)" zeigt seit dem 2026-09-06 auf /s/klicktest und nicht mehr auf
/s/study/run — also durch dieselbe öffentliche Tür, die auch die Teilnehmenden benutzen.
Der Grund ist eine Lehre aus dem Ranking-Vorrat: Ein Weg, der im Alltag nie begangen wird,
wird zum ersten Mal in der Erhebung begangen — und dort ist ein Fehler teuer. Der Slug wird
beim Serverstart angelegt (collection_service.ensure_clicktest_link).
Für den Nightly-Test heißt das: Die Kachel führt auf eine Seite, die selbst weiterleitet.
Ist der Klicktest-Link abgeschaltet oder seine Sammlung archiviert, landet der Test auf der
Fehlerseite — das ist dann kein Testfehler, sondern ein Betriebszustand, und die
Verwaltungsansicht /s/study sagt warum — der Reiter der Sammlung führt ihre Einladelinks.
„Studie — Übersicht" (bis 2026-09-08 „Studie — Monitor", zusammen mit „Studie — Einladelinks") zeigt eine Sammlung je Reiter: Puffer, Ranking-Vorrat, Antwortzeit, Verlauf und Einladelinks. Ein Link zeigt auf genau eine Sammlung — er gehört in ihren Reiter, und die zweite Kachel war der Seitenwechsel, den das abschafft.
Sie schreibt, aber nur auf ausdrücklichen Klick — archivieren, Datenschnitt, Sammlung eröffnen, Einladelink anlegen oder abschalten. Die Zusage ist nicht mehr „sie fasst nichts an", sondern „sie fasst nichts an, WEIL sie offen steht": Sie wird während laufender Durchläufe offen gehalten, und von allein passiert dabei nichts.
Für den Nightly-Test heißt das: maxButtons: 0 ist ab jetzt eine Sicherung und keine
Sparmaßnahme. Ein Knopf-Sweep auf dieser Kachel würde eine Erhebung archivieren. Wer die
Zahl hochsetzt, muss vorher wissen, was die Knöpfe tun.
„Studie — Blockvorschau" (seit 2026-09-08) springt in einen einzelnen Block, ohne dass etwas entsteht. Sie ist die Antwort auf ein Problem, das der Nightly-Test selbst hat: Um Block 17 anzusehen, musste man bis dahin einen Klicktest starten und sich zwanzig Minuten dorthin durchklicken — samt Gespräch mit dem Modell und einer Teilnahmezeile in der Datenbank.
Für den Sweep heißt das: Die Seite ist eine Tabelle mit einem „Ansehen"-Knopf je Block,
also rund zwanzig Knöpfe (maxButtons: 24). Keiner davon zerstört etwas, und keiner schreibt:
installPreviewGuard in runKey.js weist jeden Aufruf an /api/study/ zurück, solange
die Vorschau läuft. Ein Sweep auf Staging erzeugt hier also keine Datensätze — anders als bei
„Studie (Test)", die genau deshalb maxButtons: 0 hat.
Zur Kachel „Support-Tickets"¶
Seit 2026-10-02. Die Kachel führt auf das Ticket-Board des Support-Teams (/admin/tickets,
Ansichten Liste · Kanban · Karten) und ist nur mit feature:tickets:manage sichtbar, also
für admin. Alle anderen Rollen dürfen Tickets anlegen (feature:tickets:view, Knopf in
der App-Bar) und sehen ihre eigenen unter /tickets. Genau diese
Grenze prüft der Negativ-Check: /admin/tickets ist für evaluator, researcher und
chatbot_manager gesperrt.
maxButtons: 0 ist eine Sicherung. Das Board arbeitet auf echten Tickets der
Staging-Datenbank; seine Knöpfe öffnen Menüs mit „Mir zuweisen" und „Status setzen". Ein
blinder Sweep könnte fremde Tickets umhängen. Abgedeckt wird die Seite stattdessen gezielt im
Workflow „Support Ticket Roundtrip" mit einem eigenen Run-Ticket.
Aufräumen ohne Löschen: Tickets lassen sich bewusst nicht löschen. Jedes Nightly-Ticket
trägt den Run-Tag im Titel ([E2E nightly-<Pipeline-ID>] …) und wird am Ende des Workflows
vom Admin auf rejected mit Kommentar „E2E" gesetzt.
Zur Kachel „Meine Tickets"¶
Seit 2026-10-03 führt die Kachel mit feature:tickets:view alle vier Nightly-Rollen
auf /tickets. T-9/T-11 zeigten, dass Nutzer den bisherigen Menüeintrag nicht fanden.
Der Workflow „Support Ticket Roundtrip" prüft den Weg über die Kachel sowie den
Link im Erstellen-Dialog. Der Button-Sweep bleibt bei maxButtons: 0, weil er
sonst den Erstellen-Dialog und die Seitenaufnahme auslösen könnte.
Workflow-Matrix¶
| Workflow-Testtitel | Zweck | Kritisch |
|---|---|---|
| Szenario Wizard | Uebergang aus Batch Generation Richtung Szenariofluss | Ja |
| Prompt Engineering Collaboration | Prompt-Testen, Import/Export, Sharing + Cross-User-Sichtbarkeit | Ja |
| Scenario Manager Role Assignment | Rollen-/Einladungslogik inkl. Evaluator-Annahme und Evaluation-Sprung | Ja |
| Conference Manager Access Request | Access-Request senden, sichtbar machen, genehmigen, Mitgliedschaft pruefen | Nein |
| Conference Manager Tab Navigation | Alle 5 Tabs durchklicken (Conferences, Papers, Calendar, Timeline, Kanban) | Ja |
| User Settings Navigation | Settings-Sidebar-Tabs durchklicken + Theme-Toggle | Ja |
| Anonymization Pipeline View | Pipeline-Manager oeffnen + View-Toggle (Cards/List) | Nein |
| Chatbot Manager Access | chatbot_manager-Rolle oeffnet dedizierte Seite + Tab-Navigation | Ja |
| Markdown Collab Navigation | Home oeffnen + Workspace oeffnen falls vorhanden | Nein |
| Infrastructure Health | MkDocs + Matomo erreichbar, MkDocs-Suche funktioniert | Ja |
| Support Ticket Roundtrip | Ticket per App-Bar melden, über Home-Kachel und Dialog-Link zu Meine Tickets, im Admin-Board bearbeiten + beantworten, Antwort als Ersteller lesen | Ja |
Cross-Tile Interaktionen (Nightly)¶
| Interaktion | Rollen | Nightly Workflow |
|---|---|---|
| Prompt teilen -> anderer User sieht Prompt | test_researcher -> test_evaluator |
Prompt Engineering Collaboration |
| Szenario einladen -> Einladung annehmen -> Evaluation oeffnen | test_admin -> test_evaluator |
Scenario Manager Role Assignment |
| Forschungsgruppe anfragen -> Request sichten -> genehmigen -> Mitglied pruefen | test_researcher -> test_admin |
Conference Manager Access Request |
| Batch Generation -> Szenario Wizard Handoff | test_researcher |
Szenario Wizard |
| Conference Manager alle Tabs navigieren | test_researcher |
Conference Manager Tab Navigation |
| User Settings Sidebar-Tabs + Theme | test_researcher |
User Settings Navigation |
| Anonymisierungs-Pipeline View-Toggle | test_researcher |
Anonymization Pipeline View |
| Chatbot-Manager Tab-Navigation | test_chatbot_manager |
Chatbot Manager Access |
| Markdown Collab Workspace oeffnen | test_researcher |
Markdown Collab Navigation |
| Ticket melden -> Home-Kachel und Dialog-Link öffnen Meine Tickets -> Admin antwortet -> Ersteller liest Antwort | test_evaluator -> test_admin -> test_evaluator |
Support Ticket Roundtrip |
Activity-Katalog (Pflicht-IDs)¶
| Activity ID | Aktion | Erwartung |
|---|---|---|
| PE-CREATE-001 | Prompt anlegen | Prompt erscheint und Detailseite ist erreichbar |
| PE-BLOCK-001 | Block anlegen + Text schreiben | Block sichtbar und Inhalt gespeichert |
| PE-EXPORT-001 | Export-Button im Prompt Engineering klicken | Datei wird zum Download angeboten |
| PE-TEST-001 | Test-Button im Prompt Engineering klicken | Antwort/Resultat wird angezeigt |
| PE-IMPORT-001 | Import aus JSON | Importierter Block ist sichtbar |
| PE-SHARE-001 / PE-SHARED-VISIBLE-001 / PE-UNSHARE-001 | User hinzufuegen / als anderer User sehen / entfernen | Share-Liste und Cross-User-Sichtbarkeit funktionieren |
| BG-WIZ-ENTRY-001 | Batch-Wizard oeffnen | Wizard-UI ist stabil erreichbar |
| BG-WIZ-HANDOFF-001 | Uebergang Richtung Szenario Wizard | Handoff-Aktion/Detailflow ist erreichbar |
| SCN-ASSIGN-INVITE-001 | Evaluator/Viewer zu Szenario hinzufuegen | Zuweisung wird angezeigt |
| SCN-ASSIGN-ROLE-001 | Rolle aendern | Rollenwechsel wird uebernommen |
| SCN-ASSIGN-VISIBLE-001 | Einladung als Evaluator sehen und annehmen | Invite-Card sichtbar und annehmbar |
| SCN-ASSIGN-EVAL-001 | Als Evaluator in Evaluation springen | Evaluation-relevante Route erreichbar |
| CONF-REQ-SUBMIT-001 | Zugang zu Forschungsgruppe anfragen | Anfrage wird als gesendet angezeigt |
| CONF-REQ-VISIBLE-001 | Anfrage bei Gruppenmitglied pruefen | Anfrage ist in Members sichtbar |
| CONF-REQ-APPROVE-001 | Anfrage genehmigen | Pending-Anfrage verschwindet |
| CONF-REQ-MEMBER-001 | Antragsteller als Mitglied pruefen | User ist in Mitgliederliste sichtbar |
| CONF-TABS-001 | Conference Manager Tabs navigieren | Alle 5 Tabs zeigen Content |
| SETTINGS-NAV-001 | Settings-Seite oeffnen | Sidebar sichtbar |
| SETTINGS-TABS-001 | Settings-Tabs durchklicken | Jeder Tab zeigt Content |
| SETTINGS-THEME-001 | Theme-Toggle pruefen | Toggle vorhanden und klickbar |
| ANON-VIEW-001 | Pipeline-Manager oeffnen | Seite laedt ohne Fehler |
| ANON-TOGGLE-001 | View-Toggle umschalten | Darstellung wechselt |
| CBM-ACCESS-001 | Chatbot-Manager Seite oeffnen | Seite sichtbar |
| CBM-TABS-001 | Chatbot-Manager Tabs durchklicken | Tab-Inhalte sichtbar |
| MD-NAV-001 | Markdown Collab Home oeffnen | Workspace-Liste oder Empty-State |
| MD-WORKSPACE-001 | Workspace oeffnen | Editor-Bereich sichtbar |
| INFRA-MKDOCS-001 | MkDocs Dokumentation oeffnen | HTTP 200, Content sichtbar |
| INFRA-MATOMO-001 | Matomo Analytics oeffnen | HTTP < 500, Login oder Dashboard |
| INFRA-MKDOCS-SEARCH-001 | MkDocs Suche testen | Suchergebnisse bei Eingabe |
| TICKET-CREATE-001 | Ticket per App-Bar-Knopf erstellen (Run-Tag im Titel) | POST /api/tickets antwortet 201, Dialog schließt |
| TICKET-MY-002 | Meine Tickets über Home-Kachel (/tickets) öffnen |
Neues Ticket steht in der Liste |
| TICKET-LINK-005 | Erstellen-Dialog öffnen und „Meine Tickets" wählen | Dialog schließt und die Ticketliste öffnet sich |
| TICKET-ADMIN-003 | Board /admin/tickets (Liste) öffnen, Ticket öffnen, „In Arbeit" setzen, kommentieren |
Status in_progress laut API, Kommentar im Verlauf |
| TICKET-REPLY-004 | Ticket-Detail als Ersteller öffnen | Admin-Kommentar sichtbar |
Änderungsvorgehen bei neuer/angepasster Kachel¶
- Kachel in
Home.vueändern. home_tiles.contract.jsonsynchron ändern.- Passenden gleichnamigen Test in
tile-regression.spec.jsergänzen/anpassen. - Falls Cross-Feature-Betroffenheit vorliegt,
nightly_workflows.contract.jsonundworkflows.spec.jsergänzen. - Diese Datei (
NIGHTLY_TILE_MATRIX.md) aktualisieren. CLAUDE.mdund ggf.docs/testing/CICD_SETUP.mdaktualisieren.- Lokal prüfen:
python3 scripts/testing/validate_nightly_coverage.py.