Twenty-eight weeks, six milestones, one score to move
Durations are estimates for one person; the order is the point. The contract comes before the next components, ownership comes before agent write tools, and the planner is the acceptance test that everything before it exists to enable. That test is the parachute sentence: one plain-language request to an agent, "provision a new python application named parachute", with dev and test, staging and prod, a canary step and one env var, which must come out as a correct, reviewed change set.
M0 to M2, before any agent writes
Chart guard, strict schema, validate, outputs.
MongoDB and OAuth built already A+.
Ownership split and a base layer.
M3, the acceptance test
Clearance, AgentRun, model proxy, real adapters.
airframe.* tools and the planner.
The parachute sentence passes live; a seeded bad run fails; killing Clearance still ends every run.
M4 and M5, proof
Six agents, six Preflight cases, six seeded bad runs.