v0.0.51 — no legacy
The rule
No legacy is now house style. When a design is replaced, the old one is deleted — not kept behind a flag, an optional field, a fallback branch, or a rename alias. A superseded path that still runs is worse than no path: it's untested in anger, it drags its assumptions into new code, and it fires exactly when something else already went wrong.
If a failure needs a safety net, the net is "do less" — skip the phase and let the caller proceed as it would have — never "run the thing we just rejected."
Two exceptions, both about data rather than code: an on-disk state/config file written by an older version must still parse, and a documented CLI/config key is renamed in one release rather than aliased forever.
Applied
- The pre-lead scout fallback is gone. The fixed four-lens survey the scout lead replaced in 0.0.49 was still there for the "lead died" case — meaning a provider hiccup could revive exactly the repo-blind behaviour the lead exists to eliminate. A dead lead now means no survey: the Planner keeps its own read-only tools and the deterministic repo map, which is what it had before the survey existed at all.
experimental_Agentpurged. That was the AI SDK 5 name; v6 shipsToolLoopAgentand the code moved long ago, but four docs and two skill files still named it — and a source comment existed only to flag that the docs were stale.SCOUT_CONCURRENCYremoved from the docs;subagentLimitreplaced it in 0.0.49.
No behavior change for a healthy run — this only removes what used to happen when something failed.