State InProgress Operations

Wenn ein Artefakt "InProgress" ist, läuft die Maschine. Wie ein Paket, das gerade durch das Sortierzentrum fährt: Es kann beobachtet werden, aber nicht mehr zurückgeholt. Der State "InProgress" signalisiert aktive Bearbeitung.

Der aktive Zustand

Im InProgress-State wird gearbeitet. Das Artefakt hat den geschützten Draft-Bereich verlassen und durchläuft den formalen Prozess. Änderungen sind noch möglich, aber eingeschränkt - der Fokus liegt auf Fertigstellung, nicht auf Neugestaltung.

Erlaubte Operationen im InProgress-State

# State: InProgress
# Artefakt wird aktiv bearbeitet

state:
  id: "in_progress"
  name: "In Bearbeitung"
  description: "Artefakt durchläuft aktive Bearbeitung"

  # Wer darf diesen State nutzen?
  actors:
    - "analyst"
    - "implementer"
    - "reviewer"
    - "ai_agent"

  # Erlaubte Operationen
  allowed_operations:
    read:
      description: "Artefakt lesen"
      allowed: true
      scope: "team_wide"

    update:
      description: "Artefakt bearbeiten"
      allowed: true
      frequency: "limited"
      validation: "strict"
      restrictions:
        - "only_assigned_actor"
        - "changes_must_be_logged"
        - "no_scope_changes"

    comment:
      description: "Kommentare hinzufügen"
      allowed: true
      visibility: "team"

    attach:
      description: "Anhänge hinzufügen"
      allowed: true
      types: ["evidence", "report", "screenshot"]

    request_review:
      description: "Review anfordern"
      allowed: true
      transitions_to: "under_review"
      preconditions:
        - "work_complete"
        - "self_check_passed"

    escalate:
      description: "Eskalieren bei Blockern"
      allowed: true
      notification: ["manager", "tech_lead"]

    pause:
      description: "Pausieren bei externen Abhängigkeiten"
      allowed: true
      max_duration_days: 14
      requires: "reason_documentation"

  # Nicht erlaubte Operationen
  forbidden_operations:
    delete:
      reason: "Aktive Arbeit kann nicht gelöscht werden"
    submit:
      reason: "Bereits eingereicht"
    duplicate:
      reason: "Keine Kopien während aktiver Bearbeitung"
    archive:
      reason: "Muss erst abgeschlossen werden"

  # Automatische Übergänge
  auto_transitions:
    - condition: "blocked_for_7_days"
      action: "escalate"
      notification: ["manager", "owner"]

    - condition: "paused_for_14_days"
      action: "return_to_draft"
      notification: "owner"

  # Sichtbarkeit
  visibility:
    default: "team"
    can_share: true
    can_make_public: false

  # Tracking
  tracking:
    time_tracking: true
    activity_log: true
    progress_percentage: true

InProgress in der Praxis

# Beispiel: Request in aktiver Bearbeitung
artifact:
  type: "request"
  id: "REQ-2024-0058"
  state: "in_progress"

  # Metadata
  created_at: "2024-01-15T08:00:00Z"
  submitted_at: "2024-01-15T10:00:00Z"
  started_at: "2024-01-15T11:00:00Z"
  assigned_to: "analyst@example.com"

  # Aktueller Fortschritt
  progress:
    percentage: 65
    current_phase: "analysis"
    current_activity: "ACT_ANALYSIS"
    estimated_completion: "2024-01-15T16:00:00Z"

  # Operation Log (während InProgress)
  operations_performed:
    - operation: "submit"
      at: "2024-01-15T10:00:00Z"
      by: "alice@example.com"
      transitions_from: "draft"
      transitions_to: "submitted"

    - operation: "assign"
      at: "2024-01-15T10:30:00Z"
      by: "system"
      assigned_to: "analyst@example.com"

    - operation: "start_work"
      at: "2024-01-15T11:00:00Z"
      by: "analyst@example.com"
      transitions_from: "submitted"
      transitions_to: "in_progress"

    - operation: "update"
      at: "2024-01-15T14:00:00Z"
      by: "analyst@example.com"
      changes: ["analysis_report_draft"]

    - operation: "comment"
      at: "2024-01-15T14:30:00Z"
      by: "analyst@example.com"
      content: "Codebase-Analyse abgeschlossen, starte Risikobewertung"

  # Time Tracking
  time_spent:
    total_minutes: 210
    by_activity:
      code_analysis: 90
      impact_assessment: 60
      risk_evaluation: 60

  # Blocker (falls vorhanden)
  blockers: []

  # Nächste mögliche Aktionen
  available_actions:
    - action: "update"
      description: "Analyse fortsetzen"
    - action: "comment"
      description: "Status-Update geben"
    - action: "request_review"
      blocked: true
      blocker_reason: "Analyse noch nicht abgeschlossen"
    - action: "pause"
      description: "Bei externem Blocker pausieren"

Warum ist das wichtig?

Der InProgress-State sorgt für Transparenz und Fokus. Alle Beteiligten sehen, dass aktiv gearbeitet wird. Die eingeschränkten Operationen verhindern, dass der Scope während der Arbeit verändert wird - ein klassisches Problem in der Softwareentwicklung.

Im Mensch + KI-Code Prozess: InProgress ist der produktive Zustand. Hier findet die eigentliche Arbeit statt - Analyse, Implementation, Review. Zeit wird getrackt, Fortschritt ist sichtbar. Bei Blockern gibt es Eskalation, bei zu langer Pause geht es zurück zu Draft.