# Workflow Engine Configuration
# Phase 0: Workflow templates and execution rules

[engine]
# Maximum parallel tasks in a workflow
max_parallel_tasks = 10

# Workflow timeout (seconds)
workflow_timeout = 3600

# Enable approval gates
approval_gates_enabled = true

# Workflow Templates

[[workflows]]
name = "feature_development"
description = "Complete feature development workflow"
trigger = "task_type:feature"

# Workflow stages (sequential unless marked parallel)
[[workflows.stages]]
name = "architecture"
agents = ["architect"]
parallel = false
approval_required = true

[[workflows.stages]]
name = "implementation"
agents = ["developer"]
parallel = true
max_parallel = 3

[[workflows.stages]]
name = "review"
agents = ["code_reviewer", "security"]
parallel = true

[[workflows.stages]]
name = "testing"
agents = ["tester"]
parallel = false

[[workflows.stages]]
name = "documentation"
agents = ["documenter"]
parallel = true

[[workflows.stages]]
name = "deployment"
agents = ["devops"]
parallel = false
approval_required = true

[[workflows]]
name = "bugfix"
description = "Bug fix workflow"
trigger = "task_type:bugfix"

[[workflows.stages]]
name = "analysis"
agents = ["developer"]
parallel = false

[[workflows.stages]]
name = "fix_implementation"
agents = ["developer"]
parallel = false

[[workflows.stages]]
name = "review"
agents = ["code_reviewer"]
parallel = false

[[workflows.stages]]
name = "testing"
agents = ["tester"]
parallel = false

[[workflows.stages]]
name = "deployment"
agents = ["devops"]
parallel = false

[[workflows]]
name = "documentation_update"
description = "Update documentation workflow"
trigger = "task_type:documentation"

[[workflows.stages]]
name = "content_creation"
agents = ["documenter"]
parallel = false

[[workflows.stages]]
name = "review"
agents = ["code_reviewer", "project_manager"]
parallel = true

[[workflows.stages]]
name = "publish"
agents = ["devops"]
parallel = false

[[workflows]]
name = "security_audit"
description = "Security audit workflow"
trigger = "task_type:security"

[[workflows.stages]]
name = "audit"
agents = ["security"]
parallel = false

[[workflows.stages]]
name = "remediation"
agents = ["developer"]
parallel = true

[[workflows.stages]]
name = "verification"
agents = ["security", "tester"]
parallel = true

[[workflows.stages]]
name = "approval"
agents = ["decision_maker"]
parallel = false
approval_required = true
