How it runs
Every piece of work runs the same way.
Small work runs straight through: state the intent, capture the requirements, build it test-first, verify, deliver. Large work earns its gates. The phases below are the large path, and the magenta ones are where a human has to answer before anything moves.
1Classify
Decide what kind of work this is and how big it is. Small work is not stopped for sign-off, and large work is never run as if it were small. When the size is unclear, it starts small and says so when the work turns out bigger.
2Intake
Goal, context, who uses it, what done means, the hard constraints. It keeps asking until every one of those is answered, then repeats the intent back and asks whether it got it right. Gate: the human confirms the intent.
3Research
What already exists for this: current practice, packages, prior implementations. It reads the sources rather than recalling them, and cites what it used. Gate: the approach is agreed before planning.
4Specify
Every stated requirement becomes a checkable specification with a priority, and broad ones are broken into the parts that can actually be verified. Anything written down by someone else, a plan or a ticket list, is a claim to verify, not evidence. Gate: the specification set is signed off.
5Attack the plan
A hostile pass over its own design: empty input, missing data, concurrency, how it fails and how it recovers, who can abuse it, what it costs to maintain, and what here is unnecessary and should be cut. Findings become new requirements, a change, or an accepted risk said out loud.
6Plan and approve
A written plan another competent engineer could execute without re-deriving anything: approach, decisions, milestones, risks, definition of done. Gate: nothing is implemented until the human says yes. A "go" from someone who has not read it still shows the plan first.
7Build
Test-first, milestone by milestone, inside the one codebase it was given. No scope creep, no silent deferrals, no placeholder left on a path a user can reach. Commits say what changed and why. Every wait has a bound, and a hang is treated as a bug signal rather than a reason to wait longer.
8Verify
The whole suite, not a convenient subset, until green. The artifact the user actually receives is inspected, clean-room, not the source that happened to pass. Every requirement is marked met only with evidence, and anything that cannot be verified is said so and asked about. Anything a person uses in a browser is driven through a real browser, console included.
9Deliver
A changelog entry in plain words, a report that separates what was run from what was assumed, and the user-facing message written by the factory in the product's voice. Gate: publishing and deploying are the human's call unless a written release policy already authorises it.