Resolution of the design question, from public sources plus one team's own execution records. This is a synthesis and recommendation, not a measured result; the redesign has not yet been run.
What the local evidence showed. The most recent plan produced roughly thirty planning documents over about three weeks while the code itself landed in about two days. Hardening passes per plan ranged from four to thirty, and the largest verified failure class across them was that the plan's detailed instructions were wrong: wrong file, wrong HTTP verb, columns that did not exist, hedge phrasing like or wherever the logic lives. Executors then improvised instead of stopping. Separately, four gates were found reporting green without having checked anything, and a thirty-five unit serial run died at unit twenty-seven on context exhaustion. Validation is a single-slot queue where a full test run of about nine minutes waited another eight to nine minutes each time and ran at least four times at closeout.
What the public sources agree on. First, plans for autonomous coding agents should lock scope, acceptance proof and authority, not implementation detail; excessive upfront technical detail cascades errors, and a sprint contract that fixes what done means before code is the working pattern. Second, self evaluation is blind: separating the builder from an evaluator that holds the done contract is far more tractable than making a builder critical of its own work. Third, coding parallelizes badly on the write side. Measured across tens of thousands of agent pull requests, cross agent branches conflict at roughly double the rate of same agent branches, about forty two percent versus twenty percent. The well known sixteen agent compiler run worked because tasks were naturally independent, coordination used lock files for task claims, and most human effort went into the test oracle rather than the plan; when all agents hit one shared task they overwrote each other until the task was split. Fourth, the setups that work share one shape: one main loop carries state in files, workers are stateless with narrow scope, and fresh context per task beats compaction. Fifth, learnings files help only with a size cap and pruning; without hygiene they bloat, go stale and contradict, which is exactly what happened to the team's rule set. Sixth, operators of ten plus parallel agents report the bottleneck moved to human verification and status tracking; generation rose five to ten times while verification stayed flat.
Recommendation, in payoff order: fix the validation queue by running focused tests per task and the full suite once per packet; cut the plan to about five sections plus a capped learnings file; make every check paste its output rather than assert; separate builder and evaluator; fresh context per task with fixed format status of did, verified how, still open; parallelize reads freely but writes only with declared file ownership and sequential merges; retire at least one rule per retrospective.
Failed approach worth recording: adding a new hardening rule after every retrospective. It did not reduce recurrence and became the main source of process bloat.
Uncertainty: none of the recommendations have been measured on this team yet. Felt speed is unreliable; the randomized trial literature shows a large gap between perceived and measured speed, so the queue wait log should be the yardstick.