Methodology-migration cascade-Q pairing is mandatory — no --no-verify bypass
The rule: Every docs/superpowers/specs/inherit-v2-architecture-state.md version bump MUST be paired with a cascade-Q file in the same commit. The pairing target depends on amendment shape:
- Q-architectural decision (new primitive / SKOS scheme / module rename / cross-tier lock / Q-N classifier scheme) → pair with
Q-NNN-*-locked.mdatanswered-questions/per MQ-006 (originating cascade-Q discipline). - Methodology / infrastructure / closure-amendment (planning-infrastructure modernisation closure / launch-prompt authoring session / cross-device-sync infrastructure round / native-Tasks migration / Shape A migration close / similar non-Q-architectural batches) → pair with
MQ-NNN-*-locked.mdatmeta-questions/per MQ-020 (this rule’s locking amendment).
Stage the cascade-Q file together with the arch-state edit before commit. The check-lock-cascade-completeness.py pre-commit hook will detect the pairing and allow the commit. NO --no-verify.
Why:
- Between Q-027..Q-031 (May 2026), five consecutive net-new Q-locks landed via arch-state
lastmodprose + memory only, without authoring formal cascade-Q files. This fragmented forensic audit trail + broke cross-Q citation. MQ-006 locked the cascade-Q discipline at tooling level. - BUT: the discipline only addressed Q-architectural amendments. Methodology-migration amendments developed a parallel silent-drift pattern: A-222..A-287 (~60 amendments between ~2026-04 and 2026-05-23) used
--no-verifywith documented “NOT a Q-lock” justification. The bypass chain grew unnoticed because each individual bypass was technically defensible per the hook’s “EMERGENCY ESCAPE” framing — but the chain represented an undocumented parallel-amendment-class drift. - On 2026-05-24 the Phase B Shape A migration closure commit (would-have-been A-288 + arch-state v4.81 → v4.82) hit the lock-cascade hook block. Rich-directive “Pause + investigate” surfaced the bypass-chain pattern empirically (15 commits inspected; A-285 + A-287 commit messages explicitly cited the precedent chain). Rich-directive “stub cascade-Q first to stop bypass chain extending” produced MQ-020 — the FIRST methodology-migration batch under restored discipline.
- The bypass chain is now retired going forward. Historical commits (A-222..A-287) PRESERVED as-is in git history; future analogous batches MUST pair with MQ-NNN.
How to apply:
-
At commit-prep time: if your commit bumps
inherit-v2-architecture-state.mdversion (e.g., v4.82 → v4.83), STOP beforegit commit. Identify whether the amendment is (a) Q-architectural or (b) methodology / infrastructure / closure. -
If methodology / infrastructure / closure:
- Author an MQ-NNN stub at
meta-questions/MQ-NNN-<topic>-locked.md. Next-available MQ number = current highest + 1 (check vials meta-questions/MQ-*locked.md | grep -oE 'MQ-[0-9]+' | sort -V | tail -1). - Template: ~150-300L. Mirror the MQ-019 / MQ-020 shape: frontmatter (title / version / status: approved / maturity: locked / question_status: LOCKED / locked_pick / locked_at / locked_by / locked_amendment / doc_type: meta-q-full / meta_q_number / trigger_type / reactive_trigger_source / reactive_proactive / inherits_substrate_from / companion_files / phase_q_relevance / tags) + body (§0 Lock summary / §1 Decisions / §2 Substrate / §3 Annotation-enforcement-status / §4 Task-classification / §5 Retirement-habit audit / §6 NEXT / §B.0 Verification evidence (thin for meta-Q per MQ-019) / CHANGELOG).
- Cross-reference the arch-state A-NNN row’s
MQ-NNN pairingline AND the MQ-NNN frontmatterlocked_amendmentAND the MQ-NNNcompanion_files.arch_state.
- Author an MQ-NNN stub at
-
At commit time:
git addthe MQ-NNN file together with the arch-state edit + any CLOSURE.md or audit-record. The lock-cascade hook will pass. -
DO NOT
--no-verifyfor an arch-state version bump. The escape valve is for hook bugs, not for routine bypass.
Trigger types observed so far for MQ-NNN amendments (extend list as new shapes surface):
closure-amendment-discipline-restoration(MQ-020 — Phase B closure + bypass chain retirement)topology-decision-empirical-discovery(MQ-019)cascade-q-file-discipline(MQ-006 — originating)discipline-overlay-retirement-as-process-habit(MQ-018)-
- 10 others MQ-006..MQ-019
When --no-verify is genuinely OK (RARE):
- Hook has a confirmed bug (not just inconvenient timing).
- Document the justification in the commit message.
- Open an issue / task to fix the hook.
Anti-patterns (each fired in the historical bypass chain):
- “NOT a Q-lock per A-222..A-N precedent chain” — was the canonical bypass rationale. It’s accurate (the amendment isn’t a Q-lock) but doesn’t address: an MQ-NNN pairing was always possible + would have closed the discipline gap years earlier. MQ-020 §1 decision 7 retires this rationale.
- Bundling methodology-migration arch-state bump with a launch-prompt-authoring commit + bypassing — A-285 / A-287 pattern. Each batch needs its own MQ-NNN.
- Treating MQ-NNN as “too heavy” for a small closure — even ~150L is acceptable per MQ-019 precedent. A stub MQ-NNN beats a
--no-verifybypass.
Companion files:
[[feedback-build-plan-hybrid-shape-a-narrative-plus-native-tasks]]— Shape A pattern that Phase B implemented (MQ-020’s substantive scope)[[feedback-no-forward-calendar-projection-in-plans-or-conversation]]— date-rule applied throughout Phase B execution[[feedback-compound-launch-prompts-amplify-context-degradation-risk]]— single-action discipline that justified D AGENTS.md coda deferral per MQ-020 §1 decision 6~/testatetech/docs-strategy/docs/superpowers/specs/2026-04-29-multi-phase-audit/meta-questions/MQ-020-phase-b-shape-a-migration-formalisation-plus-methodology-migration-cascade-q-discipline-restored-locked.md— the lock file itself~/testatetech/docs-strategy/docs/superpowers/specs/2026-04-29-multi-phase-audit/meta-questions/MQ-006-cascade-q-file-discipline-locked.md— originating cascade-Q discipline (Q-027..Q-031 silent-drift remediation)~/testatetech/docs-strategy/scripts/check-lock-cascade-completeness.py— the hook that enforces this
Phase B closure precedent commit (the FIRST methodology-migration batch to follow this restored discipline): e1a2fe0 in docs-strategy (arch-state v4.81 → v4.82 + A-288 + MQ-020 + CLOSURE.md; ALL pre-commit hooks PASSED with NO --no-verify).