Agents don't fail specs randomly. They fail them in three predictable ways: they over-build past the ask, they guess at unstated defaults, and they silently override decisions they were never told about. PLAN.md is a format designed against those three failure modes — one page, seven sections, nothing optional.
The format
Why Non-goals is the most important section
An agent with room to impress you will use it. “Add actor filtering” becomes a filter system — dates, actions, resources, saved views. Each extra is individually defensible and collectively wrong: more review surface, more risk, less of what the customer asked for. A plan that says “Do not build date-range, action-type, or resource filters” converts scope from a vibe into an instruction. In our testing this single section eliminates most re-review cycles.
Why citations belong in a spec
[d4c0c394] after a requirement means any reviewer — or the agent itself — can resolve the claim to the exact sales-call sentence it came from (scriptonia link d4c0c394). Specs stop being trust-me documents. Disagreements become “read the source,” not “I remember it differently.”
Why UNRESOLVED gates beat silent overrides
When an issue conflicts with a recorded decision, the plan doesn't pick a winner. It prints the conflict, marks it ⚠ UNRESOLVED, and instructs the agent to stop. A human clears it with one comment; the plan regenerates as v2 with the gate marked RESOLVED (human-approved override) and the approval recorded. That's the difference between an agent that respects your roadmap and one that rewrites it.