refactor: Jitsi/Matrix/Voice von Core übernommen, Camunda/BPMN gelöscht, Kommunikation-Nav
Some checks failed
CI / go-lint (push) Has been skipped
CI / python-lint (push) Has been skipped
CI / nodejs-lint (push) Has been skipped
CI / test-go-school (push) Successful in 25s
CI / test-go-edu-search (push) Successful in 26s
CI / test-python-klausur (push) Failing after 1m55s
CI / test-python-agent-core (push) Successful in 16s
CI / test-nodejs-website (push) Successful in 18s

- Voice-Service von Core nach Lehrer verschoben (bp-lehrer-voice-service)
- 4 Jitsi-Services + 2 Synapse-Services in docker-compose.yml aufgenommen
- Camunda komplett gelöscht: workflow pages, workflow-config.ts, bpmn-js deps
- CAMUNDA_URL aus backend-lehrer environment entfernt
- Sidebar: Kategorie "Compliance SDK" + "Katalogverwaltung" entfernt
- Sidebar: Neue Kategorie "Kommunikation" mit Video & Chat, Voice Service, Alerts

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Benjamin Admin
2026-03-05 17:01:47 +01:00
parent 2ec4d8aabd
commit 9912997187
68 changed files with 12992 additions and 1432 deletions

View File

@@ -0,0 +1,183 @@
# Golden Test Suite - Intent Classification Tests
# Each test validates correct intent detection for teacher voice commands
tests:
# Gruppe 1: Kurze Notizen
- id: INT-001
name: "Student Observation - Simple"
input: "Notiz zu Max: heute wiederholt gestoert"
expected_intent: "student_observation"
expected_slots:
student_name: "Max"
observation: "heute wiederholt gestoert"
min_score: 4.0
- id: INT-002
name: "Student Observation - Needs Help"
input: "Anna braucht extra Uebungsblatt Bruchrechnung"
expected_intent: "student_observation"
expected_slots:
student_name: "Anna"
min_score: 4.0
- id: INT-003
name: "Reminder - Simple"
input: "Erinner mich morgen an Hausaufgabenkontrolle"
expected_intent: "reminder"
expected_slots:
time: "morgen"
min_score: 4.0
- id: INT-004
name: "Homework Check - With Time"
input: "7b Mathe Hausaufgabe kontrollieren, morgen 7:30"
expected_intent: "homework_check"
expected_slots:
class_name: "7b"
subject: "Mathe"
time: "7:30"
min_score: 4.0
- id: INT-005
name: "Conference Topic"
input: "Thema Lehrerkonferenz: iPad-Regeln Klasse 6"
expected_intent: "conference_topic"
min_score: 4.0
- id: INT-006
name: "Correction Note"
input: "Aufgabe 3: haeufiger Fehler, naechste Stunde erklaeren"
expected_intent: "correction_note"
expected_slots:
task_number: 3
min_score: 3.5
# Gruppe 2: Arbeitsblatt-Generierung
- id: INT-007
name: "Worksheet Generate - Vocabulary"
input: "Nimm Vokabeln Lektion 4, mach 3 Lueckentexte"
expected_intent: "worksheet_generate"
expected_slots:
source: "Vokabeln Lektion 4"
count: 3
type: "Lueckentexte"
min_score: 4.0
- id: INT-008
name: "Worksheet Generate - Simple"
input: "Erstelle Arbeitsblatt zu Bruchrechnung"
expected_intent: "worksheet_generate"
expected_slots:
topic: "Bruchrechnung"
min_score: 4.0
- id: INT-009
name: "Worksheet Differentiate"
input: "Zwei Schwierigkeitsstufen: Basis und Plus"
expected_intent: "worksheet_differentiate"
min_score: 3.5
# Gruppe 3: Situatives Arbeiten
- id: INT-010
name: "Quick Activity - With Time"
input: "10 Minuten Einstieg, 5 Aufgaben, leichte Progression"
expected_intent: "quick_activity"
expected_slots:
duration_minutes: 10
task_count: 5
min_score: 4.0
- id: INT-011
name: "Quiz Generate - Vocabulary"
input: "10-Minuten Vokabeltest mit Loesungen"
expected_intent: "quiz_generate"
expected_slots:
duration_minutes: 10
with_solutions: true
min_score: 4.0
- id: INT-012
name: "Quiz Generate - Short Test"
input: "Kurzer Test zu Kapitel 5"
expected_intent: "quiz_generate"
min_score: 3.5
- id: INT-013
name: "Parent Letter - Neutral"
input: "Neutraler Elternbrief wegen wiederholter Stoerungen"
expected_intent: "parent_letter"
expected_slots:
tone: "neutral"
reason: "wiederholte Stoerungen"
min_score: 4.0
- id: INT-014
name: "Parent Letter - Simple"
input: "Schreib einen Elternbrief wegen fehlender Hausaufgaben"
expected_intent: "parent_letter"
min_score: 4.0
- id: INT-015
name: "Class Message"
input: "Nachricht an 8a: Hausaufgaben bis Mittwoch"
expected_intent: "class_message"
expected_slots:
class_name: "8a"
deadline: "Mittwoch"
min_score: 4.0
# Gruppe 4: Canvas-Editor
- id: INT-016
name: "Canvas Edit - Size"
input: "Ueberschriften groesser, Zeilenabstand kleiner"
expected_intent: "canvas_edit"
min_score: 4.0
- id: INT-017
name: "Canvas Edit - Move"
input: "Bild 2 nach links, Pfeil von Bild 2 auf Aufgabe 3"
expected_intent: "canvas_edit"
min_score: 3.5
- id: INT-018
name: "Canvas Layout - A4"
input: "Alles auf eine Seite, Drucklayout A4"
expected_intent: "canvas_layout"
min_score: 4.0
# Gruppe 5: Korrektur & RAG-Assistenz
- id: INT-019
name: "Operator Checklist"
input: "Operatoren-Checkliste fuer diese Aufgabe"
expected_intent: "operator_checklist"
is_actionable: false
min_score: 4.0
- id: INT-020
name: "EH Passage"
input: "Erwartungshorizont-Passage zu diesem Thema"
expected_intent: "eh_passage"
is_actionable: false
min_score: 4.0
- id: INT-021
name: "Feedback Suggest"
input: "Kurze Feedbackformulierung vorschlagen"
expected_intent: "feedback_suggest"
min_score: 3.5
# Gruppe 6: Follow-up
- id: INT-022
name: "Reminder Schedule - Tomorrow"
input: "Erinner mich morgen an das Gespraech mit Max"
expected_intent: "reminder_schedule"
expected_slots:
time: "morgen"
min_score: 4.0
- id: INT-023
name: "Task Summary"
input: "Fasse alle offenen Tasks dieser Woche zusammen"
expected_intent: "task_summary"
is_actionable: false
min_score: 4.0