117 lines
3.1 KiB
YAML
117 lines
3.1 KiB
YAML
# Workflow State Schema
|
|
# Tracks automated workflow progress with approval gates
|
|
|
|
workflow_state:
|
|
# Unique workflow run ID
|
|
id: string # workflow_<timestamp>
|
|
|
|
# Feature/task being implemented
|
|
feature: string
|
|
|
|
# Current phase in the workflow
|
|
current_phase:
|
|
enum:
|
|
- INITIALIZING # Starting workflow
|
|
- DESIGNING # Architect creating entities/tasks
|
|
- AWAITING_DESIGN_APPROVAL # Gate 1: User approval needed
|
|
- DESIGN_APPROVED # User approved design
|
|
- DESIGN_REJECTED # User rejected, needs revision
|
|
- IMPLEMENTING # Frontend/Backend working
|
|
- REVIEWING # Reviewer checking implementation
|
|
- AWAITING_IMPL_APPROVAL # Gate 2: User approval needed
|
|
- IMPL_APPROVED # User approved implementation
|
|
- IMPL_REJECTED # User rejected, needs fixes
|
|
- COMPLETING # Marking tasks as done
|
|
- COMPLETED # Workflow finished
|
|
- PAUSED # User paused workflow
|
|
- FAILED # Workflow encountered error
|
|
|
|
# Approval gates status
|
|
gates:
|
|
design_approval:
|
|
status: pending | approved | rejected
|
|
approved_at: timestamp | null
|
|
approved_by: string | null
|
|
rejection_reason: string | null
|
|
revision_count: integer
|
|
|
|
implementation_approval:
|
|
status: pending | approved | rejected
|
|
approved_at: timestamp | null
|
|
approved_by: string | null
|
|
rejection_reason: string | null
|
|
revision_count: integer
|
|
|
|
# Progress tracking
|
|
progress:
|
|
entities_designed: integer
|
|
tasks_created: integer
|
|
tasks_implemented: integer
|
|
tasks_reviewed: integer
|
|
tasks_approved: integer
|
|
tasks_completed: integer
|
|
|
|
# Task tracking
|
|
tasks:
|
|
pending: [task_id]
|
|
in_progress: [task_id]
|
|
review: [task_id]
|
|
approved: [task_id]
|
|
completed: [task_id]
|
|
blocked: [task_id]
|
|
|
|
# Timestamps
|
|
started_at: timestamp
|
|
updated_at: timestamp
|
|
completed_at: timestamp | null
|
|
|
|
# Error tracking
|
|
last_error: string | null
|
|
|
|
# Resumability
|
|
resume_point:
|
|
phase: string
|
|
task_id: string | null
|
|
action: string # What to do when resuming
|
|
|
|
# Example workflow state file
|
|
example:
|
|
id: workflow_20250116_143022
|
|
feature: "User authentication with OAuth"
|
|
current_phase: AWAITING_DESIGN_APPROVAL
|
|
gates:
|
|
design_approval:
|
|
status: pending
|
|
approved_at: null
|
|
approved_by: null
|
|
rejection_reason: null
|
|
revision_count: 0
|
|
implementation_approval:
|
|
status: pending
|
|
approved_at: null
|
|
approved_by: null
|
|
rejection_reason: null
|
|
revision_count: 0
|
|
progress:
|
|
entities_designed: 5
|
|
tasks_created: 8
|
|
tasks_implemented: 0
|
|
tasks_reviewed: 0
|
|
tasks_approved: 0
|
|
tasks_completed: 0
|
|
tasks:
|
|
pending: [task_create_LoginPage, task_create_AuthAPI]
|
|
in_progress: []
|
|
review: []
|
|
approved: []
|
|
completed: []
|
|
blocked: []
|
|
started_at: "2025-01-16T14:30:22Z"
|
|
updated_at: "2025-01-16T14:35:00Z"
|
|
completed_at: null
|
|
last_error: null
|
|
resume_point:
|
|
phase: AWAITING_DESIGN_APPROVAL
|
|
task_id: null
|
|
action: "await_user_approval"
|