# Golden Test Suite - Multi-Turn Workflow Tests
# Tests for conversation context and follow-up handling

workflow_tests:
  - id: WF-001
    name: "Worksheet Creation Workflow"
    steps:
      - input: "Erstelle Arbeitsblatt zu Bruchrechnung"
        expected_intent: "worksheet_generate"
        expected_response_contains: "Arbeitsblatt"

      - input: "Mit 5 Aufgaben"
        expected_intent: "worksheet_modify"
        context_required: true
        expected_slots:
          task_count: 5

      - input: "Zwei Schwierigkeitsstufen bitte"
        expected_intent: "worksheet_differentiate"
        context_required: true

      - input: "Fertig, speichern"
        expected_intent: "confirmation"
        expected_response_contains: "gespeichert"

  - id: WF-002
    name: "Student Observation to Letter"
    steps:
      - input: "Notiz zu Max: heute dreimal gestört"
        expected_intent: "student_observation"
        expected_response_contains: "notiert"

      - input: "Mach daraus einen Elternbrief"
        expected_intent: "parent_letter"
        context_required: true
        expected_slots:
          source: "previous_observation"

  - id: WF-003
    name: "Quiz with Refinement"
    steps:
      - input: "Vokabeltest erstellen"
        expected_intent: "quiz_generate"

      - input: "Lektion 5"
        expected_intent: "context_addition"
        context_required: true

      - input: "Mit Loesungsbogen"
        expected_intent: "quiz_modify"
        context_required: true
        expected_slots:
          with_solutions: true

  - id: WF-004
    name: "Reminder Chain"
    steps:
      - input: "Erinner mich morgen an Elterngespraech"
        expected_intent: "reminder_schedule"

      - input: "Und uebermorgen an die Nachbereitung"
        expected_intent: "reminder_schedule"
        context_required: true

  - id: WF-005
    name: "Canvas Editing Session"
    steps:
      - input: "Oeffne das Arbeitsblatt von gestern"
        expected_intent: "document_open"

      - input: "Ueberschrift groesser"
        expected_intent: "canvas_edit"
        context_required: true

      - input: "Bild nach links"
        expected_intent: "canvas_edit"
        context_required: true

      - input: "Drucklayout A4"
        expected_intent: "canvas_layout"
        context_required: true

      - input: "Als PDF exportieren"
        expected_intent: "export"

  - id: WF-006
    name: "Correction Assistance"
    steps:
      - input: "Zeig Operatoren fuer Textanalyse"
        expected_intent: "operator_checklist"
        is_actionable: false

      - input: "Was sagt der EH dazu?"
        expected_intent: "eh_passage"
        context_required: true
        is_actionable: false

      - input: "Formuliere kurzes Feedback"
        expected_intent: "feedback_suggest"

  - id: WF-007
    name: "Error Recovery"
    steps:
      - input: "Arbeitsblatt mit Vokablen"
        expected_intent: "worksheet_generate"

      - input: "Nein, mit Grammatik"
        expected_intent: "correction"
        context_required: true
        expected_slots:
          new_topic: "Grammatik"

      - input: "Genau, das meinte ich"
        expected_intent: "confirmation"

  - id: WF-008
    name: "Multi-Class Communication"
    steps:
      - input: "Nachricht an 7a"
        expected_intent: "class_message"
        expected_slots:
          class_name: "7a"

      - input: "Auch an 7b"
        expected_intent: "class_message"
        context_required: true
        expected_slots:
          class_name: "7b"

      - input: "Hausaufgaben bis Freitag abgeben"
        expected_intent: "context_addition"
        context_required: true

  - id: WF-009
    name: "Weekly Summary"
    steps:
      - input: "Was habe ich diese Woche notiert?"
        expected_intent: "task_summary"
        is_actionable: false

      - input: "Zeig nur die zu Max"
        expected_intent: "filter"
        context_required: true
        expected_slots:
          filter_student: "Max"

  - id: WF-010
    name: "Interruption Handling"
    steps:
      - input: "Erstelle Arbeitsblatt zu"
        expected_intent: "incomplete"

      - input: "Moment, erst Notiz zu Lisa"
        expected_intent: "interrupt"

      - input: "Lisa war heute super"
        expected_intent: "student_observation"

      - input: "Jetzt weiter mit dem Arbeitsblatt"
        expected_intent: "resume"
        context_required: true
