18 lines
2.6 KiB
Markdown
18 lines
2.6 KiB
Markdown
---
|
|
name: feedback-verify-before-compose-hook
|
|
description: "chamber-library constitutional writes are gated by a verify-before-compose PreToolUse hook — satisfy it with a GROUNDED-IN attestation + a Grounding section; the block is correct, don't fight it."
|
|
metadata:
|
|
node_type: memory
|
|
type: feedback
|
|
originSessionId: 6e4f5e1d-250f-4b77-8478-5050a3a5360c
|
|
modified: 2026-07-18T13:50:08.768Z
|
|
---
|
|
|
|
Writing the spec, `_curation/graduation-spec.yaml`, or any `*amendment*` / `*FOR-JURIST*` / `*JURIST-PACKAGE*` draft in chamber-library is **BLOCKED** by `~/.claude/hooks/verify-before-compose.sh` (PreToolUse Write|Edit, global `~/.claude/settings.json`) **unless** the payload (or the existing file) carries `<!-- GROUNDED-IN: §<sections> (read <date>) -->` and the artifact opens with a **Grounding section that QUOTES the ratified sections it builds on.** Non-constitutional writes pass silently; the hook fails open on malformed input.
|
|
|
|
**Why:** the recurring `re-derived-from-training` / compose-before-verify failure — drafting a claim about the spec *from memory* when the spec already ratifies it. The 2026-07-17 case: drafted the citation amendment (#2 / PENDING-60) as if it "introduces the CTS-URN model" when **§IV already adopts it**, and §III/§VII/§IX already hold the citation contract / locator registry / coverage-ledger. Session-start CLAUDE.md prose alone had failed ≥4 times (it's passive at draft-time); a hook fires **at the moment of the write**, where prose doesn't. Steward-directed 2026-07-17 — "this needs to stop happening… more and more lately."
|
|
|
|
**How to apply:** don't fight the block — it is correct. READ the sections the artifact builds on, add the `GROUNDED-IN` attestation + a Grounding section quoting them, then re-issue. The gate is a conscious speed-bump, not a formality. Protocol clause lives in `chamber-library/CLAUDE.md` "Load-bearing disciplines". Structural complement to [[feedback-resurface-banked-notes-before-rederiving]] and [[trust-prior-pass-frame]]; the action-time enforcement those prose lessons lacked.
|
|
|
|
**Pre-hook artifacts** (constitutional docs written before 2026-07-17, e.g. `PENDING-58-rewrite-FOR-JURIST-2026-07-16.md`) carry no attestation, so their *first* gated edit is denied outright. Since the hook accepts the attestation in the **payload**, make the first edit itself add the `<!-- GROUNDED-IN: … -->` comment (executor metadata, pointing at where the grounding quotes live — e.g. the governing FIX brief's Grounding section); subsequent edits then pass. Proven 2026-07-18 on the REVIEWED-62 application; flag the attestation-add in the commit/report as an edit beyond the ratified set.
|