The Work Lifecycle
A reference lifecycle — not a mandate — for the path a single unit of work travels inside a cell: Idea → Spec → Plan → Implement → Verify → Review.
This section is a reference lifecycle, not a mandate. It is opinionated and optional. The spec stays silent on the path a unit of work travels so it can stay portable; this section names one worked default.
The Phase Model is a different axis: it measures organizational maturity, not the steps of a single piece of work. The two are orthogonal. The reference lifecycle is:
Idea → Spec → Plan → Implement → Verify → Review
Brownfield Entry: Solution Onboarding
Optional prelude; greenfield projects skip it. Brownfield adoption needs a baseline-understanding stage before ideas can be evaluated, because asking an agent to judge an idea against a codebase it has not surveyed produces confident-sounding nonsense. The prelude produces a read-only baseline (system map, dependency inventory, hot-spot heat map, ownership notes). The load-bearing piece is the artifact contract: read-only, downstream-readable, never edited.
Spec Decomposition: Epic / Story / Enabler / Wave
| Unit | Is | Holds |
|---|---|---|
| Epic | The spec itself | The overall delta and its backlog |
| Story | A user-visible slice of value | One committable unit of work |
| Enabler | Foundational work with no direct user value | Scaffolding the stories depend on |
| Wave | The parallelization plan | Which stories/enablers run in parallel, which depend on prior waves |
The kernel-level idea is only this: specs decompose into smaller items along a declared dimension. The specific dimensions (Story / Enabler / Wave) are the opinionated, cell-level part — a template, not a contract.
Deploy
Optional postlude after Review; not every spec ships. The reference deploy stage sits behind three hard gates: an approved infrastructure decision brief, an APPROVED review verdict, and explicit human opt-in (required even under the most permissive autonomy envelope). The implementer writes pipeline and IaC files but never auto-executes a deployment — only read-only, lint, and dry-run commands are allowed.
The lifecycle is yours to choose. The boundaries — read-only baselines, declared decomposition, and a human signature before anything ships — are what keep an autonomous lifecycle honest.