[01]
One approval expands into a task graph.
When a requirement is approved, the orchestrator reads its shape and emits every downstream task — one per page, one per schema entity, one per integration — with the dependency graph wired up.
- Fanout is deterministic: same requirement → same task set
- Task nodes carry agent assignment, input payload, output contract
- Approval records are first-class nodes, not side-channels
requirement → task graphyaml
# one approved requirement — auto-fanout
requirement.approved: "Add customer health score"
↓
spec (approved)
├── schema (extend customer entity)
│ └── migrations (apply.sql + rollback.sql)
├── design (tokens + health badge)
└── pages
├── customers/index (list + score column)
├── customers/[id] (detail + trend card)
└── admin/health-rules (rule editor)
├── tests (unit + integration)
└── security (auth-bypass + PII scan)