Transition Request → Analysis

Wenn Du im Restaurant bestellst, notiert der Kellner Deine Wünsche und gibt sie an die Küche weiter. Eine Transition ist genau dieser Übergabemoment - sie definiert, was passieren muss, damit eine Anfrage zur Analyse weitergeleitet wird.

Was ist eine Transition?

Eine Transition beschreibt den Übergang zwischen zwei Phasen. Sie definiert: Was muss vorliegen? Was wird übergeben? Was passiert während des Übergangs? Die Transition Request→Analysis ist der erste wichtige Übergang im Prozess.

Vollständiges Beispiel

# Transition: Request → Analysis
# Von Phase 1/2 (Intake/Triage) zu Phase 3 (Analysis)

transition:
  id: "TR_REQUEST_ANALYSIS"
  name: "Request to Analysis"
  description: "Übergang von qualifizierter Anfrage zur technischen Analyse"

  from:
    phase: 2  # Request Triage
    state: "triaged"

  to:
    phase: 3  # Analysis
    state: "analyzing"

  # Vorbedingungen
  preconditions:
    - "request_is_complete"
    - "change_class_assigned"
    - "priority_assigned"
    - "no_duplicate_exists"

  # Was wird übergeben?
  payload:
    required:
      - request_id
      - request_description
      - change_class
      - priority
      - requester_info

    optional:
      - attached_files
      - related_requests
      - suggested_solution

  # Aktionen während der Transition
  actions:
    - name: "Create Analysis Ticket"
      type: "create_artifact"
      artifact_type: "analysis_ticket"

    - name: "Assign Analyst"
      type: "auto_assign"
      rule: "round_robin"
      pool: "analysts"

    - name: "Notify Team"
      type: "notification"
      channel: "team-analysis"
      template: "new_analysis_request"

    - name: "Start SLA Timer"
      type: "sla_start"
      sla_type: "analysis_completion"
      based_on: "priority"

  # Validierung nach Transition
  postconditions:
    - "analysis_ticket_created"
    - "analyst_assigned"
    - "sla_timer_running"

Transition in der Praxis

# Transition-Ausführung
transition_execution:
  transition_id: "TR_REQUEST_ANALYSIS"
  change_id: "CHG-2024-0051"
  executed_at: "2024-01-15T09:00:00Z"

  # Vorbedingungen prüfen
  precondition_check:
    - condition: "request_is_complete"
      passed: true
      details: "All required fields present"

    - condition: "change_class_assigned"
      passed: true
      details: "Change class: normal"

    - condition: "priority_assigned"
      passed: true
      details: "Priority: high"

    - condition: "no_duplicate_exists"
      passed: true
      details: "No matching open requests found"

  # Payload erstellen
  payload_created:
    request_id: "REQ-2024-0051"
    request_description: "Add two-factor authentication to login"
    change_class: "normal"
    priority: "high"
    requester_info:
      name: "Alice"
      team: "product"
      email: "alice@example.com"
    attached_files:
      - "mockup-2fa-flow.pdf"

  # Aktionen ausführen
  actions_executed:
    - action: "Create Analysis Ticket"
      status: "completed"
      result:
        ticket_id: "ANA-2024-0051"
        created_at: "2024-01-15T09:00:01Z"

    - action: "Assign Analyst"
      status: "completed"
      result:
        assigned_to: "bob@example.com"
        assigned_at: "2024-01-15T09:00:02Z"

    - action: "Notify Team"
      status: "completed"
      result:
        notification_sent: true
        channel: "#team-analysis"

    - action: "Start SLA Timer"
      status: "completed"
      result:
        sla_deadline: "2024-01-16T09:00:00Z"
        hours_remaining: 24

  # Postconditions prüfen
  postcondition_check:
    all_passed: true

  # Ergebnis
  result: "SUCCESS"
  new_state: "analyzing"
  new_phase: 3

Warum ist das wichtig?

Transitions machen Übergaben nachvollziehbar. Statt "irgendwie" von Phase zu Phase zu wechseln, gibt es klare Regeln und Dokumentation. Das verhindert, dass Anfragen verloren gehen oder wichtige Informationen fehlen.

Im Mensch + KI-Code Prozess: Die Transition Request→Analysis ist der erste automatisierte Übergang. Sie stellt sicher, dass die KI alle nötigen Informationen für die Analyse erhält. Bei Change Class "Trivial" kann direkt zur Implementierung gesprungen werden.