session 2026-07-28: governance block closed — CLAUDE.md drift 9→0 (REVIEWED-76/77/79/80), PENDING.md split 1848→430 + archive, wake-digest SessionStart hook, doctrine ids live, PENDING-79/80/81
This commit is contained in:
@@ -640,3 +640,13 @@ No new skill proposal. Two register notes: **(1)** the S1 proposal **implementat
|
||||
| chamber-library CLAUDE.md — **integration-test-gap discipline** | patch (repo CLAUDE.md, discipline → steward review) | Add to §Load-bearing disciplines: *"The fleet has UNIT tests (test_tools, per-tool fixtures) but NO integration test — nothing runs a real source end-to-end through the composed pipeline. A producer change (e.g. the REVIEWED-72 pandoc writer switch) passes every unit test and silently breaks the COMPOSITION (orphaned `clean_pandoc_html_residue` + the REVIEWED-54 §5 footnote fallback). The fix is a tier-spanning integration canary with POSITIVE per-stage assertions (plant N markers, assert N-of-N removed — a negative 'output is clean' passes a no-op) + a change-impact clause. See `_curation/v-text-wave-gap-census-2026-07-24.md`."* | `chamber-library/CLAUDE.md` §Load-bearing disciplines | **PROPOSED** (discipline change → steward authorizes; not auto-applied at wrap) |
|
||||
|
||||
*(One candidate, load-bearing: this session's whole cascade traced to this gap, and the steward named the mechanism ["prompted to update downstream tools at the same time as the breaking change"]. The census doc holds the full analysis; the CLAUDE.md line is the pointer that stops future-us re-deriving it at the point of work. The GOVERNANCE half — generalize the §Governance reassigned-component check into the change-impact principle, now 3 instances — is loop-work tracked in the census doc, not a skill.)*
|
||||
|
||||
---
|
||||
|
||||
## Harvest 2026-07-28 (morning — governance block closed)
|
||||
|
||||
| Target | Kind | Proposal | Evidence | Status |
|
||||
|---|---|---|---|---|
|
||||
| `/wake-up` §2.c–2.d | patch | **Consume the SessionStart digest instead of recomputing it.** `wake-digest.py` now fires at every SessionStart and already emits pause, pulling thread, open items, last rulings, drift count and repo states. §2.c/§2.d re-run the same git logs and drift check by hand. Patch the skill to read the digest when present and only fall back to live queries when it is absent or reports itself degraded. | Built + wired 2026-07-28; the wake ran both this session, duplicating ~6 tool calls | PROPOSED |
|
||||
| `/wake-up` §2.a | patch | **Fix the link-resolution canary's path handling** — resolve pointers against the memory file's *physical* directory (`os.path.realpath`), not its logical one. The memory dir is a symlink into `~/dotfiles`, so `../../../../` resolves to `/Users/` and every relative pointer reads as dead. | **Second firing.** Proposed 2026-07-27 as an open horizon; reproduced exactly at the 2026-07-28 wake (the maturation-of-the-chamber dialogue reported dead; file exists). A canary that cries wolf trains its reader to ignore it. | PROPOSED |
|
||||
| `reference-verification-ladder.md` | new entry | **"The parser defines the census."** When a census counts items, the *item-definition* is itself a claim requiring its own control — and a positive control on the instrument's own definition passes trivially, so the ratified Q2 control does **not** catch this class. The available detector is **instrument disagreement**: run two independently-written counters and treat any mismatch as the finding, not as noise. | Earned hard 2026-07-28: `^## PENDING-<digits>` reported "73 items, line accounting OK"; the file held **93 items in five families**, 20 invisible, **10 of them open**. Every check passed because all inherited the blind spot; the only signal was `grep`=77 vs Python=67. | PROPOSED |
|
||||
|
||||
Reference in New Issue
Block a user