Completion Authority Gate
10 sections
Overview
Make /independent-review the SOLE authority for the two privileged plan-state transitions — status: * → complete and reviewed: true → false — enforced at the write/read boundary (never at commit-time), and ban hook side-effects so every hook is a pure gate that verifies and rejects but never mutates.
Planned
10 sections
PreToolUse Deny-Gate (emergency)
Deny any Edit/Write/MultiEdit to plans/** or bug-tracker/plans/** that introduces status:→complete or reviewed:true→false without a valid independent_review attestation — at the write moment, as a pure gate.
No-Side-Effect-Hooks Rule
Author a Claude rule banning hook side-effects (hooks are pure gates — verify→pass/reject, never mutate/stage), and convert every existing mutating hook to verify-only.
Completion-Authority Rule (SSOT)
Author .claude/rules/completion-authority.md as the SSOT for the two-transition ownership: /independent-review is the exclusive authority for `status:→complete` and `reviewed:true→false`; everything else is inert.
Attestation Schema + Read-Time Rejection
Define the content-hash-bound independent_review attestation block, and make scripts/plan_corpus + every orchestrator gate reject a status:complete that lacks a valid attestation (read-time backstop for raw edits).
Strip Completion Writers
Remove completion/reversal authority from every current writer (flip_from_in_review_clean callers, plan-complete.py --complete-all, autopilot_auto_cure.py, record_review_reversal) so only /independent-review can produce status:→complete or reviewed:true→false.
Build /independent-review as Verified Completer + Reversal Authority
Make /independent-review the sole writer of status:→complete and reviewed:true→false: it verifies every success_criteria deliverable physically exists, writes the content-hash-bound attestation, and owns the uncheck-all + HISTORY-note reversal.
Drift-Cure / Materiality Fix (emergency)
Make any content_hash drift whose structural diff includes a status:→complete or reviewed:-positive transition ALWAYS-MATERIAL — never auto-refreshable, never LLM-overridable to non-material — so the auto-cure loop surfaces/reverses instead of suppressing the signal.
/continue-roadmap Autopilot Wiring
Rewire /continue-roadmap autopilot so it may dispatch /independent-review but only /independent-review's verified verdict completes a section; remove the State-B pending_status_complete auto-cure that auto-completes.
Remediation — aims-proofing-suite fabricated completions
Neutralize the fabricated completions in aims-proofing-suite as the first dogfood of /independent-review's reversal authority: revert §08 (confirmed bogus), deliverable-verify §05/§07/§14, undo the §08 content_hash amplification, with HISTORY notes on each.
Bootstrap-Bypass Marker Lifecycle
Close the root enabler: the stale .claude/.plan-corpus-bootstrap-active marker disables hook_dispatch's raw-edit blocking project-wide. Confirm write.py covers the needed plan edits, remove the stale marker, and add a marker-expiry guard so a bootstrap bypass cannot silently outlive its window again.