D5. Contract layer frozen by a hash; changes as JSON Patch (revised by D52)
Revised on 16 Oct 2026 by D52: what is frozen by a hash is now a version of the plan, made by hand; plan.json is written directly, and change requests are gone. The rest of this entry is kept as it was decided.
plan.json is approved with a SHA-256 of its canonical content. Once it was validated, agents propose changes in changes/CR-*.json (RFC 6902) with a rationale (before that, they write the draft: D35); only elabora change apply (a human) applies them, and the plan returns to draft. The MCP server has no tool that approves or applies. Pedagogical warnings can be waived in the plan (listed in the proof dossier); contract, delivery and security errors cannot.