The Phase G canonical-intent audit found two IMPLEMENTATION_ACCIDENTs left by the
R2 supersession, plus stale doctrine that still described the overruled rule.
Neither accident restored the superseded behaviour, but each is the kind of
leftover a later tranche can read as authority — which is exactly the
resurrection risk R2 exists to close.
1. DEAD WIDENING BRANCH REMOVED. `check_mutation` carried a branch that WIDENED
the durable scope when a contract was `scope_provisional` and the path was
out of scope ("extend it and record — do NOT block"). No current writer can
reach it (`scope_provisional` is only set alongside an EMPTY scope, where the
verdict is `unknown`, not `out_of_scope`), which made it a latent second
widening authority rather than live code. Removed rather than repaired: a
future path that somehow reaches that state now gets the canonical
OUT_OF_SCOPE refusal, with the lawful remedy named. A dormant widening
authority is worse than dead code.
2. THE RECORD NO LONGER CONTRADICTS THE BOUNDARY. `establish_scope` freezes the
scope (`scope_provisional = False`) and returns `provisional: False,
frozen: True` — while writing `"provisional": True` into the observation it
persists. Enforcement was correct; the durable audit trail asserted the
opposite. That record is precisely the evidence a later tranche could cite to
"restore" accumulate-forever. Now records `provisional: False, frozen: True`.
3. STALE DOCTRINE CORRECTED, HISTORY PRESERVED. `docs/SCAFFOLDING_MIMO_DEFAULT.md`
still said divergence "extends and records; it does not block" and that
`seal_scope()` "promotes provisional → declared"; `derive_scope`'s docstring
still said a provisional scope "accumulates rather than blocks". Both now
state the corrected invariant and keep the old wording explicitly labelled
SUPERSEDED, with the original rationale intact — the reasoning was sound, the
mechanism was not, and erasing it would lose why the machinery looks as it does.
Residual 2 updated to match.
4. R2 SUPERSESSION PERSISTED CANONICALLY. `docs/RUNE_CANONICAL_INTENT_STATE.md`
now records the supersession in SUPERSEDED APPROACHES, with the measured
evidence (31 → 109 scope entries, no authority references), the corrected
invariant, the implementing commits, and an explicit note that the older T23
rationale is historical evidence and not current intent.
Tests: two regressions added to tests/test_t24_governance.py — the dormant path
is FORCED (provisional + non-empty scope) and must refuse rather than widen; and
the establishment record must not contradict the frozen state. 50 passed; the
authority/scaffolding/t23/t24/recovery sweep is 150 passed. BLE001 ratchet 347/347.