UNPKG

aios-core

Version:

Synkra AIOS: AI-Orchestrated System for Full Stack Development - Core Framework

203 lines (187 loc) 5.35 kB
# Workflow State Schema # Defines the structure for workflow execution state files # State files are stored at: .aios/{instance-id}-state.yaml # # Version: 1.0.0 # Created: 2026-01-31 # Purpose: Track workflow execution progress across sessions schema: version: "1.0.0" fields: # ---- Identity ---- workflow_id: type: string required: true description: "ID from the workflow YAML (e.g., greenfield-service)" workflow_name: type: string required: true description: "Human-readable workflow name" instance_id: type: string required: true description: "Unique execution instance ID (format: {workflow_id}-YYYYMMDD-{random})" # ---- Context ---- target_context: type: string required: true enum: [core, squad, hybrid] default: core description: "Whether workflow is from AIOS core, a squad, or hybrid (uses agents from both)" squad_name: type: string required: false description: "Squad name when target_context=squad or hybrid" # ---- Lifecycle ---- started_at: type: string format: iso-8601 required: true description: "When the workflow execution started" updated_at: type: string format: iso-8601 required: true description: "Last state update timestamp" status: type: string required: true enum: [active, paused, completed, aborted] default: active description: "Current workflow execution status" current_phase: type: string required: false description: "Name/description of current phase" current_step_index: type: number required: true default: 0 description: "Zero-based index of the current step in the sequence" # ---- Steps ---- steps: type: array required: true description: "Mirrors workflow sequence with execution state" items: step_index: type: number description: "Zero-based index in the sequence" phase: type: string description: "Phase name or agent name for this step" agent: type: string description: "Agent responsible for this step" action: type: string description: "What this step does (creates/updates/validates/action)" status: type: string enum: [pending, in_progress, completed, skipped] default: pending optional: type: boolean default: false description: "Whether this step can be skipped" started_at: type: string format: iso-8601 description: "When this step was started" completed_at: type: string format: iso-8601 description: "When this step was completed" artifacts_created: type: array items: type: string description: "Artifacts produced during this step" notes: type: string description: "Notes or observations from execution" session_id: type: string description: "Claude Code session ID where this step was executed" # ---- Artifacts ---- artifacts: type: array required: false description: "Global artifact registry tracking all created outputs" items: name: type: string description: "Artifact identifier (e.g., project-brief.md)" created_by_step: type: number description: "Step index that created this artifact" path: type: string description: "File path where artifact is stored" status: type: string enum: [created, pending] description: "Whether artifact has been created" # ---- Decisions ---- decisions: type: array required: false description: "Decision log for audit and continuity" items: step_index: type: number description: "Step where decision was made" decision: type: string description: "What was decided" rationale: type: string description: "Why this decision was made" timestamp: type: string format: iso-8601 # Example state file: # # workflow_id: greenfield-service # workflow_name: Greenfield Service/API Development # instance_id: greenfield-service-20260131-a1b2c3 # target_context: core # started_at: "2026-01-31T10:00:00Z" # updated_at: "2026-01-31T14:30:00Z" # status: active # current_phase: "PM: Create PRD" # current_step_index: 1 # # steps: # - step_index: 0 # phase: "Analyst: Project Brief" # agent: analyst # action: "creates: project-brief.md" # status: completed # started_at: "2026-01-31T10:00:00Z" # completed_at: "2026-01-31T11:00:00Z" # artifacts_created: [project-brief.md] # session_id: "session-abc123" # # - step_index: 1 # phase: "PM: Create PRD" # agent: pm # action: "creates: prd.md" # status: in_progress # started_at: "2026-01-31T14:00:00Z" # # artifacts: # - name: project-brief.md # created_by_step: 0 # path: docs/project-brief.md # status: created # - name: prd.md # created_by_step: 1 # path: docs/prd.md # status: pending # # decisions: # - step_index: 0 # decision: "Skipped brainstorming, went directly to project brief" # rationale: "Clear requirements already provided by stakeholder" # timestamp: "2026-01-31T10:05:00Z"