Rule: after any commit claiming body-content additions to active-spec files (refined-end-of-turn-directive amendments / CASCADE-Q-TEMPLATE amendments / arch-state §15 amendments claiming body-content additions / patterns/ NEW files / cascade-Q files), grep-verify the operative content appears in operative-body sections — NOT just in frontmatter scalars (lastmod: / lastmod_summary: / canonical_role: / title: etc.). Frontmatter-only landing is INDISTINGUISHABLE-FROM-MATERIAL-GAP without this verification.
Why (locked 2026-05-20T22:30 BST per BATCH ο′ closure commit 162f035): the BATCH π′ → ν″ → ο′ chain empirically established this failure mode. BATCH π′ closure commit 5604e02 claimed L7 paragraph in refined-directive §1 + research_filled_inline_at_lock: sub-field in CASCADE-Q-TEMPLATE §B.0 both landed; concurrent-rebase autostash-pop silently reverted both mid-file Edits while preserving NEW files (patterns/research-inline-at-q-lock-time.md) + append-only updates (arch-state A-219 + ledger task-105) + frontmatter scalars (refined-directive line 6 lastmod scalar + CASCADE-Q-TEMPLATE line 2 title scalar). arch-state + ledger + commit message all described embedding as complete despite operative body content being absent. BATCH ν″ audit commit 2779a74 detected the gap via grep showing 0 matches in operative-body sections vs 1 match each in frontmatter scalars. BATCH ο′ commit 162f035 closed the gap via worktree-isolation + post-commit grep-verify. 5th verify-before-author method added to §13.5 verify-before-author recursion arsenal alongside (1) WebFetch + (2) Playwright MCP + (3) multi-venv + (4) multi-language cross-reference.
How to apply:
-
Identify operative-content markers in commit message — e.g., new section headers / new paragraph anchors / new sub-field names / new step numbers / specific load-bearing phrasing.
-
Author verification command pattern —
grep -nE "<operative-content-marker>" <file>should return non-zero matches in operative-body line ranges (typically lines 50+ for refined-directive / template body lines / §15 amendment-prose lines), NOT just frontmatter lines 1-50. -
Distinguish frontmatter vs body matches — frontmatter scalars (lastmod / title / canonical_role / lastmod_summary) frequently describe what SHOULD be in body. A match ONLY in frontmatter is the failure signal. A match in body (typically lines 100+ for prompt body / §B.0 body / step body) is the success signal.
-
Run BEFORE declaring batch done — per ο′ launch-prompt §0 #9 mandatory: if any pattern returns 0 lines, batch is NOT done; re-iterate (do not close with HIGH-CONFIDENCE verdict).
-
Apply to process-embedding batches especially — any batch amending refined-directive §1 prompt body / CASCADE-Q-TEMPLATE §B.0 template body / arch-state §15 amendment prose / patterns/ doc / new step numbers. NOT needed for cascade-Q file additions (NEW files survive
git addregardless of concurrent-rebase state).
Worktree-isolation as collision-prevention (sub-discipline; locked same commit):
When applying body-content amendments to active-spec files during concurrent-batch periods (≥2 parallel sessions running), prefer git worktree add /tmp/<batch-id> origin/main over main working tree to fully isolate from any in-flight session’s autostash-pop activity. NEW files survive git add regardless of concurrent-rebase state; mid-file Edits do not. Worktree-isolation is the structural prevention; post-commit grep-verify is the post-commit detection backstop.
The 5 verify-before-author methods consolidated (§13.5 recursion arsenal):
| # | Method | When it applies | Empirical precedent |
|---|---|---|---|
| 1 | WebFetch direct-fetch | Statute / URL / IRI verification | BATCH χ release-notes URL fetch |
| 2 | Playwright MCP JS-render | JS-rendered authoritative sources (Swiss fedlex / Italian normattiva) | BATCH ψ pilot 3 ZGB→OR Art 973d multi-language |
| 3 | Multi-venv re-run | Tool/version drift detection | BATCH θ LinkML 1.10 vs 1.11 cross-version diff |
| 4 | Multi-language cross-reference | Authoritative-source verification across en/de/fr/etc. | BATCH ψ pilot 3 fedlex en+de+fr |
| 5 | Post-commit body-content grep-verify | Process-embedding batches claiming body-content additions | BATCH π′ → ν″ → ο′ chain (2026-05-20 → 2026-05-21) |
Anti-patterns:
- Trusting that the commit landed because frontmatter shows updated lastmod — frontmatter scalars survive concurrent-rebase autostash-pop while mid-file Edits do not. Verify body separately.
- Trusting arch-state + ledger + commit message as evidence — all 3 can describe the embedding as complete while operative body content is absent (the BATCH π′ failure mode).
- Running grep-verify ONLY in frontmatter scalars — if line 6 (lastmod) describes “new L7 paragraph at line 112+” but line 112 doesn’t contain the paragraph, that’s INDISTINGUISHABLE-FROM-MATERIAL-GAP. Frontmatter scalar matches are the failure signal not the success signal.
- Closing batch with MEDIUM/LOW confidence verdict when grep-verify failed — per ο′ launch-prompt §0 #9 + #10 mandatory: if any pattern returns 0, re-iterate not close.
- Skipping worktree-isolation during concurrent-batch periods — π′ failure mode reproduces. Use
git worktree addfor active-spec file amendments when ≥2 parallel sessions running.
Empirical precedent ledger (3 batches in 24h cycle 2026-05-20 → 2026-05-21):
| Batch | Date | Role | Outcome |
|---|---|---|---|
| BATCH π′ | 2026-05-20T21:00 BST commit 5604e02 | Initial process-embedding attempt | Concurrent-rebase autostash-pop silently reverted 2 of 3 body Edits; only NEW file + arch-state + ledger + frontmatter scalars survived; π′ session believed embedding complete |
| BATCH ν″ | 2026-05-20T22:00 BST commit 2779a74 | Verification audit | EMBEDDING-MATERIAL-GAP detected via grep showing 0 body matches; DECISION-NEEDED escalated; Phase 2 fixes NOT applied per anti-pattern #2 |
| BATCH ο′ | 2026-05-21T22:30 BST commit 162f035 | R1 body re-apply + R3 5th method codification | Body content properly applied via worktree-isolation; post-commit grep-verify 3 patterns PASS; HIGH-CONFIDENCE verdict |
Connection to other disciplines:
[[feedback_claude_does_research_inline_at_q_lock_time]]— the discipline being embedded that triggered the π′ → ν″ → ο′ chain[[feedback_research_artefact_forward_traceability]]— bidirectional cite-back discipline; ο′ closed Day-1 via memory file + MEMORY.md update + arch-state A-221 cross-link[[feedback_logging_contract_closure_within_same_session]]— closure discipline; ο′ verified by post-commit grep[[feedback_paste_safety_for_terminal_handoffs]]— adjacent discipline; ο′ verification is a paste-safe one-liner pattern
Verification command template (paste-safe one-liner per terminal-handoff discipline):
cd ~/testatetech/docs-strategy && for pattern in "<marker1>" "<marker2>" "<marker3>"; do echo "Pattern: $pattern"; grep -nE "$pattern" docs/superpowers/specs/<file1>.md docs/superpowers/specs/<file2>.md | head -5; echo "---"; done
If all patterns return non-zero matches in operative-body line ranges, batch is HIGH-CONFIDENCE closeable. If any pattern returns 0 OR only frontmatter matches, batch is NOT done; re-iterate.
Pattern-stability test extension: π′ → ν″ → ο′ chain demonstrates the 5th method catches frontmatter-only landings that direct authoring + frontmatter cross-reading missed. Pattern-stability for §13.5 verify-before-author recursion EXTENDS to 30/30 via this precedent. Future process-embedding batches should apply method 5 by default.