session 2026-08-07 evening: PENDING-112 + REVIEWED-95 (route harvested capabilities by firing moment)

Register censused and rebuilt from the archive: 177 claimed -> 154 real live
proposals, legible, with exact archive:L### pointers. The 2026-08-01 compaction
was lossless but illegible (55 scraped header rows; 95% of cells cut mid-word);
completeness verified 124 = 124, so nothing had been dropped.

Skills pruned 63 -> 12 after measuring that 53 had never been invoked across 64
sessions / ~5 months. The finding underneath: retrieval is set by a capability's
HOME, not its importance -- MEMORY.md 83%, register 77% (named in a wake step),
ladder 14%, 'THE GOVERNING FRAME' 12%, 'Read at Step 0' 9%, recall-bound skills 0%.

PENDING-112 filed, jurist design-gated, steward concurred; REVIEWED-95 drafted.
Landed: the /wrap-up 1.6 filing gate (prospective) and the /wake-up ladder
sentence (a pre-registered trial intervention, landed alone). The 20-session
falsifier is WIRED, not intended -- DEFERRED-DECISION ladder-ritual-trial,
trigger: transcripts 84. Wiring it exposed two defects in the deferral checker:
no way to express a session count except as a date proxy, and a scan that never
looked at claude/governance/. Controls 16 -> 19.

Stroke 2's 41-entry ladder append deliberately NOT done: REVIEWED-95 Q3
sequences it after the ladder trigger, which now exists.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NEWjLBP4quXbDPDL2byEzZ
This commit is contained in:
David F Glidden
2026-08-07 19:09:46 +02:00
co-authored by Claude Opus 5
parent 2bdd40749a
commit 33c11fff87
13 changed files with 1104 additions and 265 deletions
+1
View File
@@ -1,3 +1,4 @@
- [Session 2026-08-07 — the count found what the read did not](session-2026-08-07-the-count-found-what-the-read-did-not.md) — **Twelve commits, three repos.** MEMORY.md trimmed 19.9→16.7 KB · **N1** (tree, 4 primitives) · **R0** (one reading-index loader — the adapters had already diverged on 3 of 253 patterns with *neither* right) · **N2** (`0/22` was the wrong search space: gold anchors are DIVISIONS → **top-1 15/22**, ⚠ **and 5/5 false positives**, untuned) · **@3 corrected in place** under the PENDING-111 ruling, with **three measured findings refuting the package's own premises** · **D-5** (TEI deferred, proxy trigger retired, discriminator pre-registered) · two governance checkers (register-integrity + deferred-decision triggers) · three corpus voice-defects fixed (Alexander re-anchor + "Using this book" partition; **Thibon's introduction had been served as citable Weil**) · **V2's German blocker dissolved — the source was graduated 2026-07-09 and nobody looked for a month.** 🔑 **Every defect was found by a COUNT, none by a read; 3 of 3 new checkers were themselves at fault.** *(Demoted on promote at the 2026-08-07 evening wrap.)*
- [Session 2026-08-04 evening — the instruments that never fired](session-2026-08-04-evening-the-instruments-that-never-fired.md) — **Census 02 run entire on the seven instruments census 01 left uncensused. The firing record divides by whether a HUMAN is in the invocation path** — not by age, quality or importance. `audit_cruft`/`verify_conversion`/`apply_char_glyphs` exemplary (a curator invokes them); `resolve_archived_source` healthy 349/349 with **zero** log entries (nobody invokes it); `verify-before-compose` fired **exactly twice** (07-17, 07-18) recoverable only from harness transcripts; studium `verify-quote` + `fidelity_equivalence@2` have **no production caller at all**. **The hook cannot fire on the constitution it protects** — the existing file's own `GROUNDED-IN:` disarms it, 31 of 59 guarded files. **The engine was asked a question for the first time** and certified *"genuine silence, not a gap"* on `grey zone` over **ten `gray zone` matches in Levi** (corpus American-spelled, steward Canadian); mechanism is wider — bare FTS tokens are **conjunctive**, so recall dies as a question lengthens. Falsifier held (`the quality without a name` is *correctly* silent). **PENDING-95..98 filed together; 96 AUTHORIZED + LANDED on the jurist's sharper wording** (mine reproduced the overclaim one size down) and **stays OPEN** — `retrieve.py` has **no test at all**. Built: the **engine tool-evolution log**, seeded, **§0 declaring what it cannot see**. Two of my own findings died to their controls. **PULLING THREAD: name Chamber V1's purpose and settle the thirteen as its voice-set** — my "just go use it" was punctured by the steward's cycle (*engine missing x → source not golden → no bounded scope*); the break was already in his own tracker unread since 07-28 (*purpose choice and corpus scope are ONE decision*). Verified at wrap: **13/13 engine shas match disk** — the thirteen are NOT the 1,297, and the criterion is **stability, not quality**. One named defect inside them (Musil's stale voice-purity sidecar, off by 6).
---
+8 -9
View File
@@ -6,7 +6,7 @@ metadata:
type: note
permalink: claude-memory/memory
originSessionId: 22915403-bc5d-4796-9c7d-196b7c30d2f9
modified: 2026-08-07T09:58:34.188Z
modified: 2026-08-07T17:08:24.523Z
permalink: claude-memory/memory
---
@@ -32,7 +32,7 @@ permalink: claude-memory/memory
- [Chamber work: ground in constitution + charter + runbook FIRST](feedback-chamber-work-ground-in-constitution-charter-runbook.md) — **any chamber work *or talk about it*** begins there (incl. `reanchor:`). Repo CLAUDE.mds are pointers, not state; corpus claims come from a self-tested tool, never a hand grep.
- [Governance files are dotfiles symlinks](reference-governance-files-are-dotfiles-symlinks.md) — Edit/Write refuse to write through a symlink, so **edit the real `~/dotfiles/…` path** when appending — **`PENDING`/`REVIEWED` only.** ⚠ That refusal is a tool artifact, **not** a permission check, and this note is the documented route past the only friction guarding the constitution (PENDING-107). **`~/CLAUDE.md`/`~/REVIEWED.md`/L2 = `[ESCALATE]`, steward's hand — a jurist sign-off does not authorize one.**
- [Verification ladder](reference-verification-ladder.md) — the named instruments; reach for the gate the claim's shape demands instead of re-deriving one.
- [Skill-harvest register](skill-harvest-register.md) — canonical home for proposed skills (governed analog of PENDING.md for tooling); `/wrap-up` §1.6 proposes, steward authorizes. **Compaction + ladder batch-append owed** (exceeds read caps).
- [Skill-harvest register](skill-harvest-register.md) — canonical home for proposed skills (governed analog of PENDING.md for tooling); `/wrap-up` §1.6 proposes, steward authorizes. **Rebuilt 2026-08-07** from the archive: **154 live proposals**, grouped by kind, each with an exact `archive:L###` pointer. ⚠ The 2026-08-01 compaction was *lossless but illegible* (55 scraped header rows, 95% of cells cut mid-word) — the count it advertised, 177, was never the number. **Sequenced next: the Stroke-2 ladder batch-append** — 41 rows stamped `S2` are ALREADY AUTHORIZED (2026-07-19), needing execution not a ruling; 22 more are `S2?` (name two destinations, so no stroke settles them). **REVIEWED-95 Q3 resequenced it to follow the ladder's wake trigger — which now exists**, so it is unblocked. ⚠ Filing new proposals now requires a **declared firing moment** (`/wrap-up` §1.6); one that cannot name it is documentation and must say so.
- [Copy-paste-clean governance drafts](feedback-governance-drafting-copy-paste-clean.md) — draft PENDING/REVIEWED blocks as plain fenced markdown; display formatting leaks into the placed record.
- [Verify-before-compose hook](feedback-verify-before-compose-hook.md) — chamber constitutional writes are BLOCKED without `<!-- GROUNDED-IN: … -->` + verbatim Grounding. Don't fight the block.
- [Tool review after each use](feedback-tool-review-after-each-use.md) — review every tool we built after each run, success OR failure. **PASS-BUT-FALSELY is the priority signal.** Log: `chamber-library/_curation/tool-evolution-log.md`.
@@ -65,14 +65,13 @@ permalink: claude-memory/memory
- Chamber-typography — *tracker not yet established*; moves live in per-session memories (2026-05-11 →) + `project-chamber-cruft-restoration.md` + `project-chamber-typography-mining-plan-2026-05-15.md`.
## Active Session
> ⛔ **V2 — the validation harness. All three assembly blockers are now RESOLVED** (P1 lenracinement clean · P2 G&G sidecar authored · §1.1 German gold manifested 2026-08-07). **Read `studium-engine/docs/v2-validation-harness-design-2026-07-09.md` §6 (gold-set composition) and §7 (adversarial negatives) BEFORE writing anything** — 429 lines, 7 deliverables, fully specified.
> ⚠ **The thresholds are jurist-RATIFIED (V0 §5) and are NOT to be re-opened or re-derived**: trust `U(false-accept) ≤ 5%` + recall ≥ 0.75 · revise ≤ 15% · else gate-to-abstain; Clopper-Pearson 90% upper bound; Tier-1 decidable, no statistical bar. **gate-to-abstain for a thin cell is a PRE-COMMITTED VALID COMPLETION — do not tune to avoid it.**
> ⚠ **Do NOT add a score threshold to N2.** Its 5/5 false positives are recorded as a first-class number; a cut fitted to the 27-item fixture is overfitting, and a test asserts no threshold constant appears.
> ⏳ **Also standing:** the collision census (first evidence D-5's design window exists to produce) · R0 emit (nothing written to `chamber-library` yet — D-3, steward review first) · relay the three PENDING-111 findings to the jurist (`studium-engine/docs/REVIEWED-87-amendment-DRAFT-2026-08-07.md` §B).
> 🔑 **Today's standing lesson: the COUNT found what the read did not, every time** — and three of three freshly-built checkers reported a failure that was their own. Look at *what* an instrument flags, not *how many*.
- [Session 2026-08-07 — the count found what the read did not](session-2026-08-07-the-count-found-what-the-read-did-not.md) — **Twelve commits, three repos.** MEMORY.md trimmed 19.9→16.7 KB · **N1** (tree, 4 primitives) · **R0** (one reading-index loader — the adapters had already diverged on 3 of 253 patterns with *neither* right) · **N2** (`0/22` was the wrong search space: gold anchors are DIVISIONS → **top-1 15/22**, ⚠ **and 5/5 false positives**, untuned) · **@3 corrected in place** under the PENDING-111 ruling, with **three measured findings refuting the package's own premises** · **D-5** (TEI deferred, proxy trigger retired, discriminator pre-registered) · two governance checkers (register-integrity + deferred-decision triggers) · three corpus voice-defects fixed (Alexander re-anchor + "Using this book" partition; **Thibon's introduction had been served as citable Weil**) · **V2's German blocker dissolved — the source was graduated 2026-07-09 and nobody looked for a month.** 🔑 **Every defect was found by a COUNT, none by a read; 3 of 3 new checkers were themselves at fault.**
> ⛔ **V2 — the validation harness. UNTOUCHED and UNBLOCKED.** All three assembly blockers stay resolved (P1 lenracinement · P2 G&G sidecar · §1.1 German gold). **Read `studium-engine/docs/v2-validation-harness-design-2026-07-09.md` §6 (gold-set composition) + §7 (adversarial negatives) BEFORE writing anything** — 429 lines, 7 deliverables, fully specified. Nothing about V2 decayed on 08-07; the governance detour was deliberate and is closed.
> ⚠ **Thresholds jurist-RATIFIED (V0 §5), NOT to be re-opened or re-derived**: trust `U(false-accept) ≤ 5%` + recall ≥ 0.75 · revise ≤ 15% · else gate-to-abstain; Clopper-Pearson 90% upper bound; Tier-1 decidable. **gate-to-abstain for a thin cell is a PRE-COMMITTED VALID COMPLETION — do not tune to avoid it.** ⚠ **Do NOT add a score threshold to N2** (a test asserts none appears).
> 🆕 **Route harvested capabilities by FIRING MOMENT, never by importance — REVIEWED-95.** Retrieval is set by **home**, measured over 64 sessions: `MEMORY.md` 83% · register 77% (named in a wake step) · ladder 14% · *THE GOVERNING FRAME* 12% · *Read at Step 0* 9% · **recall-bound skills 0%**. Emphasis buys nothing; ritual naming buys everything. A proposal that cannot name a firing moment is **documentation and must say so**.
> ⏳ **Sequenced next:** Stroke 2's 41-entry ladder append — authorized 2026-07-19, resequenced by REVIEWED-95 Q3 to follow the ladder trigger, which now exists. **Wired, no action needed:** the 20-session falsifier fires automatically at 84 transcripts (now 64); file the result whichever way it falls.
> 🔑 **Standing lesson, two days running: the COUNT found what the read did not — and 8 of 8 freshly-built instruments were themselves at fault.** Look at *what* an instrument flags, not *how many*.
- [Session 2026-08-07 evening — retrieval is set by home](session-2026-08-07-evening-retrieval-is-set-by-home.md) — **The skill-harvest bite taken whole, at the cost of V2.** Register censused before compacting: claimed 177, **real 154** (55 rows were scraped table-headers; 123 of 129 cut mid-word) — but **lossless**, 124 = 124, so my drafted "nine are invisible" and "59% misattributed" were both **refuted by the count**. Rebuilt from the archive with exact `archive:L###` pointers; restored the verbatim four-stroke ruling my own rebuild had replaced with a paraphrase. **Skills pruned 63 → 12** after measuring **53 never invoked in 5 months** (plus a dir named from a **404 error body** and ten with **newlines in their names**); 51 quarantined reversibly. The finding under both: **retrieval is set by home, 0%–83%**. **PENDING-112 → jurist ruling → steward concurrence → REVIEWED-95 drafted in one session**; filing gate + ladder trial sentence landed, **falsifier wired not intended** (`transcripts 84`) — which exposed two defects in the deferral checker itself, incl. that it **never looked at `claude/governance/`**. Package passed containment **20/20, 10/10 controls absent**, after the checker caught my own **elision-as-contiguous** and **fabricated join**. 🔑 **8 of 8 fresh instruments at fault; the elegant symlink discriminator was 97% right and would have destroyed the 2 that mattered.**
## Historical reference → MEMORY-reference.md
Older archived-session pointers and the stable reference layer (steward profile · project-state detail · L1/L2/Chamber inventories · legacy pending-work · reference-file list) live in [MEMORY-reference.md](MEMORY-reference.md) — consult on demand; not loaded at wake. Recent cross-session trajectory comes from the Active Session entry above + the recent `session-*.md` files (wake §2.b.1).
+9
View File
@@ -597,3 +597,12 @@
{"subject": "read-the-banked-record-before-deriving", "predicate": "prevention", "object": "The steward's 'deep read so we're not reinventing' was vindicated within ten minutes and four times over: the 2026-05-16 CTS/DTS jurist settlement (urn nullable, additional-not-primary) which an earlier R0 draft had already re-invented as a work-scoped identifier; the 'per-section content probe' already named OWED in ingest-gate-failure-legibility.md §4; the `line_frame: landed-file` vocabulary; and V2's thresholds, jurist-RATIFIED and nearly re-derived.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-the-count-found-what-the-read-did-not.md", "extracted_at": "2026-08-07"}
{"subject": "studium-engine corpus", "predicate": "state-change", "object": "Now 14 sources and TRILINGUAL — en 4902 / fr 770 / de 113 drawers, 5785 total, gate 14/14. The German cell (handke-wunschloses-ungluck) closed V2's §1.1 blocker, which had been resolvable since 2026-07-09: the steward graduated the source the day AFTER the design's search correctly found nothing, and no instrument looked again for a month.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-the-count-found-what-the-read-did-not.md", "extracted_at": "2026-08-07"}
{"subject": "a deferral without a machine-checkable trigger", "predicate": "drift-pattern", "object": "Rots silently in BOTH directions. The TEI-native trigger ('until Cluster A is operational') FIRED without producing its evidence — neither named test case was manifested. The German-gold blocker RESOLVED and stayed recorded as open for a month. Both are point-in-time claims nothing re-checked; governance-drift-check.py check 8 now reads declared DEFERRED-DECISION triggers.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-the-count-found-what-the-read-did-not.md", "extracted_at": "2026-08-07"}
{"subject": "claude-code", "predicate": "drift-pattern", "object": "AN-ELEGANT-DISCRIMINATOR-THAT-EXPLAINS-THE-DATA-IS-NOT-LICENSED-TO-ACT-ON-IT. Measured that every ever-invoked skill was a dotfiles symlink and no copied-in dir had ever run, then proposed symlink-vs-real-dir as the prune line ('the filesystem already marks it'). Wrong for 2 of 63 — french-typography-pass and spec-code-audit are steward-authored real dirs. The more elegant the rule feels, the stronger the pull to skip the per-item look.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-evening-retrieval-is-set-by-home.md", "extracted_at": "2026-08-07"}
{"subject": "claude-code", "predicate": "drift-pattern", "object": "SIZED-A-BACKLOG-FROM-ITS-TAIL-AND-WAS-WRONG-BY-10x. Advised on how to handle the harvest after reading the last 40 lines of a 300-line register: said '~15 proposals', actual 154. Census-read-through-truncation, committed in the very act of advising on a backlog.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-evening-retrieval-is-set-by-home.md", "extracted_at": "2026-08-07"}
{"subject": "claude-code", "predicate": "drift-pattern", "object": "A-MENTION-IS-NOT-A-RETRIEVAL. First measured file 'reach' by grepping transcripts for the filename: ladder appeared in 53/64 sessions. But MEMORY.md's pointer line CONTAINS that filename and loads every wake, so the proxy counted the index loading. Actual tool-call access: 9/64. Count the access, never the name.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-evening-retrieval-is-set-by-home.md", "extracted_at": "2026-08-07"}
{"subject": "a freshly-built checker", "predicate": "drift-pattern", "object": "REPORTS-ITS-OWN-FAULT-AS-THE-DATA'S — now 8 OF 8 across two days. Evening five: header detector searching only col[1] (reported 0 headers in 199 rows); the same treating status value PROPOSED? as a header, deleting real rows from the census; a mid-word check guessing from the tail; its replacement demanding a following space; and an S2 stamp meaning 'execute without a ruling' over-capturing rows that read 'create skill OR ladder entry'. Every one found by looking at WHAT was flagged.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-evening-retrieval-is-set-by-home.md", "extracted_at": "2026-08-07"}
{"subject": "retrieval of a harvested capability", "predicate": "is-determined-by", "object": "its HOME, not its importance. Measured 64 sessions 2026-08-07: MEMORY.md 83%, register 77% (named in a wake step), verification ladder 14%, 'THE GOVERNING FRAME' tracker 12%, 'Read at Step 0' touchstone 9%, 53 recall-bound skills 0%. Emphasis buys nothing; ritual naming buys everything.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-evening-retrieval-is-set-by-home.md", "extracted_at": "2026-08-07"}
{"subject": "the-verification-ladder-ritual-trial", "predicate": "pre-registered-prediction", "object": "Baseline 9/64 sessions (14%) at 64 transcripts. One sentence added to /wake-up naming the ladder, nothing else. Predicts >60% over the following 20 sessions. Graded automatically at 84 transcripts via DEFERRED-DECISION ladder-ritual-trial. Below 60% refutes H1 and reopens REVIEWED-95 Q2's rationale.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-evening-retrieval-is-set-by-home.md", "extracted_at": "2026-08-07"}
{"subject": "read-the-descriptions-before-acting-on-a-classification", "predicate": "prevention", "object": "Stopped the quarantine from sweeping two steward-authored skills. The symlink-vs-real-dir rule explained 61 of 63 cases and was about to be executed wholesale; reading all 53 candidate descriptions first caught french-typography-pass (AldineXXI) and spec-code-audit (ARC/L1/BMF). The rule was 97% right and would have destroyed the 3% that mattered.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-evening-retrieval-is-set-by-home.md", "extracted_at": "2026-08-07"}
{"subject": "the mechanical containment proof", "predicate": "prevention", "object": "Caught two fabrications in the executor's own jurist package that reading had passed twice: a path replaced with an ellipsis inside a blockquote (elision presented as contiguous) and a heading welded to the next sentence with an em-dash plus bold the source lacks. 20/20 after correction, 10/10 controls absent — and two controls did substantive work, establishing that the ladder and touchstone are NOT named in /wake-up, the claim the whole proposal rests on.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-evening-retrieval-is-set-by-home.md", "extracted_at": "2026-08-07"}
{"subject": "using an instrument you built", "predicate": "prevention", "object": "Wiring PENDING-112's falsifier into governance-drift-check.py exposed two defects in that checker: its trigger vocabulary could not express '20 sessions' except as a date (the exact proxy substitution its own comment records as the prior failure), and it globbed only */docs/**/*.md so claude/governance/ was invisible to it. The mechanism for catching forgotten deferrals did not look where governance packages live. Found by USING it, not by reading it.", "valid_from": "2026-08-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-08-07-evening-retrieval-is-set-by-home.md", "extracted_at": "2026-08-07"}
@@ -0,0 +1,168 @@
---
name: session-2026-08-07-evening-retrieval-is-set-by-home
description: "The skill-harvest bite, taken whole: the register censused and rebuilt (177 claimed → 154 real, legible, exact pointers), the skill tree pruned 63→12 after measuring that 53 skills had NEVER been invoked in 5 months, and the finding that explains both — retrieval is set by a capability's HOME, not its importance, spanning 0% to 83%. Filed as PENDING-112, jurist-ruled and steward-concurred the same session; the filing gate and the ladder's trial sentence landed, the 20-session falsifier wired rather than intended. PULLING THREAD: unchanged — V2's validation harness, still untouched and still unblocked."
metadata:
node_type: memory
type: project
originSessionId: 1963f1a4-1999-4800-92fc-43f041ef4bdc
modified: 2026-08-07T17:07:19.222Z
---
# Session 2026-08-07 evening — retrieval is set by home, not by merit
A single steward-chosen bite — the skill harvest — taken all the way, at the cost of V2.
The bite turned out to contain a finding much larger than the housekeeping it began as.
## PAST — what moved, and why
**The register was censused before it was compacted, and the census refuted the plan.** Asked
whether to do the harvest alone, before V2, or both, I sized it from the file's *tail* and said
"~15 proposals." Counted properly: **154 live**. The register's own heading claimed 177. Both
wrong, in opposite directions — 55 of its numbered rows were scraped *table-header* rows
(`| 5 | Element | Kind | … | PROPOSED? |`), and 123 of 129 real rows had a cell cut mid-word.
**But nothing had been lost:** the completeness invariant came out 124 archive-live = 124 index
rows. The 2026-08-01 compaction was **lossless and illegible**, which is a different defect than
the one I was on my way to reporting (I had half-drafted "nine proposals are invisible" and
"59% are misattributed to the wrong archive section" — the first refuted by the count, the second
by finding that the section genuinely holds 81 rows across 410 archive lines).
**Rebuilt from the archive** (`43,127 B`, 154 rows, grouped by kind, word-boundary text, exact
`archive:L###` pointers replacing section names). Then a repair to my own work: the rebuild had
**dropped the verbatim 2026-07-19 four-stroke ruling** and left my paraphrase standing in its
place. A paraphrase must not substitute for a steward ruling on the live surface; restored.
**The skill tree, measured then pruned 63 → 12.** Behavioural evidence, not introspection:
across 64 transcripts (~168 MB, ~5 months) **53 skills had never been invoked once**. The
directory also held a directory named `{"message":"Not Found","documentation_url":"https:/` — a
**404 error body written as a path** — and ten directories whose *names contained embedded
newlines*, from a botched install. Quarantined 51 reversibly with a manifest; conservation
verified 12 + 51 = 63; all 12 kept skills confirmed to resolve with a readable `SKILL.md`.
**The finding underneath both.** Access rate by **home**, any route, 64 sessions:
`MEMORY.md` **83%** · the register **77%** (it is named in a `/wake-up` step) · the verification
ladder **14%** · `THE GOVERNING FRAME` tracker **12%** · `Read at Step 0` touchstone **9%** ·
53 recall-bound skills **0%**. The two most emphatic labels in the entire memory system are near
the bottom. **Emphasis buys nothing; being named in a ritual buys everything.** Age is not the
discriminator — `/jurist-package` (added 07-20) has 16 invocations, `/model-handoff` (added
07-22) has none.
**PENDING-112 → jurist design gate → steward concurrence → REVIEWED-95 drafted, in one session.**
The rule: route a harvested capability by its **firing moment**, never by its importance; a
proposal that cannot name one is documentation and must say so. Ruled: Q1 PROPOSAL · Q2 gate
AUTHORIZED · Q3 Stroke 2 resequenced (ladder trigger first, so 41 entries don't land at 14%) ·
Q4 prospective-only, no sweep · Q5 steward-triggered tooling not ours to legislate · Q6 proceed
with a **binding** falsifier. Landed: the `/wake-up` ladder sentence (trial intervention, alone,
with a do-not-reword note), the `/wrap-up` §1.6 filing gate, the wired trigger. **Stroke 2's
41-entry append deliberately not done** — the ruling sequences it after.
**The ruling made the proposal's own thesis bite on itself.** Q6 required the pre-registration be
binding "not a disclosed intention" — and PENDING-112's whole claim is that intentions don't
fire. Wiring it into `governance-drift-check.py` as `DEFERRED-DECISION: ladder-ritual-trial /
trigger: transcripts 84` surfaced **two defects in that instrument**: the trigger vocabulary had
no way to express "20 sessions" except as a date — the exact proxy substitution its own comment
records as the previous failure — and the scanner globbed only `*/docs/**/*.md`, so
**`claude/governance/` was invisible to it.** The mechanism for catching forgotten deferrals did
not look at the directory where governance packages live. Both fixed; controls 16 → 19.
**The jurist package passed a mechanical containment proof, 20/20 with 10/10 controls absent** —
after the checker caught two real faults in my own quoting: an **elision presented as contiguous**
(a path replaced with `…/` inside a blockquote) and a **fabricated join plus fabricated bold**
(a heading welded to the next sentence with an em-dash). Two of the controls do substantive work:
they establish that the ladder and the touchstone are *not* named in `/wake-up`, which is the
factual claim the whole proposal rests on.
## PRESENT — how it stood
**Eight of eight freshly-built instruments were at fault today**, across both halves of the day
(three in the morning session, five here). Every one was found by looking at *what* was flagged,
never by the count: a header detector that searched only column 2 and reported *0 headers in 199
rows*; the same detector treating `PROPOSED?` as a header when the register's own legend defines
it as a **status value**, silently deleting real proposals from my census; a mid-word check that
guessed from the tail; its replacement that demanded a following space; and an `S2` stamp — which
means *execute without a ruling* — over-capturing rows reading "create skill OR ladder entry",
which **would have manufactured authorization for work the steward never granted.**
**The elegant discriminator was 97% right and would have destroyed the 3% that mattered.** Having
measured that every ever-invoked skill was a dotfiles symlink and no copied-in real dir had ever
run, I proposed symlink-vs-real-dir as the clean prune line — *"the filesystem already marks it."*
Wrong for exactly 2 of 63: `french-typography-pass` and `spec-code-audit` are steward-authored and
sit as real dirs. Caught only by reading 53 descriptions instead of acting on my own tidy rule.
**One instrument failed safe rather than loud-and-wrong** — the rebuild's verification refused to
write twice, and both refusals were correct.
**The proposal is self-serving and was written saying so.** It concludes that the executor's
failure to use its own tools is *structural rather than a discipline failure* — an account
produced by the party under examination that relieves that party. Part VIII names H2 (it is
discipline, and a rule about homes conveniently excuses it) as **undefeated on the evidence**, and
records evidence against the differently-biased-checkers doctrine: an AI proposing this, reviewed
by an AI of the same formation, is a foreseeable correlated miss. The jurist agreed and declined
to override the caution, ruling only because an answer was needed to implement and because both
contested questions now route to an objective check. **I did not raise my own confidence when the
jurist agreed with me.**
## FUTURE — what pulls
> **PULLING THREAD — unchanged: build V2's validation harness.** It was not touched today. All
> three preconditions remain resolved (P1 lenracinement clean · P2 G&G sidecar · §1.1 German gold),
> the thresholds remain **jurist-ratified and not to be re-opened** (V0 §5: trust
> `U(false-accept) ≤ 5%` + recall ≥ 0.75 · revise ≤ 15% · else gate-to-abstain, CP 90% upper
> bound, Tier-1 decidable), and the design remains fully specified in
> `docs/v2-validation-harness-design-2026-07-09.md` (429 lines, 7 deliverables). Nothing about V2
> decayed today; a governance detour was taken deliberately, at steward direction, and closed.
**ACTIONABLE RESUMPTION POINT (as of wrap — re-judge against what changed):**
```
0. Nothing is half-finished. All work is committed and pushed; no branch is mid-edit.
1. Read docs/v2-validation-harness-design-2026-07-09.md §6 (gold-set composition:
cells, difficulty strata, per-language authoring method, the pre-registered
calibration/grading split) and §7 (adversarial-negative generation, 5 classes;
§7.6 is the pre-registered volume). Do NOT re-derive — the repo holds the answers.
2. Gold cells assemblable: EN (March Essay-I 26 pairs + G&G aphoristic stratum),
FR (Mauss 17 human-verified incl. a known mislocation + lenracinement),
DE (Handke 113 drawers — hand-author ~15-20 claim→span pairs by the March method).
3. Build against corpus/v2-gold.yaml. mauss-phase2-reanchored.yaml is P5's output
and is NOT v2-gold.yaml.
4. Expect gate-to-abstain for thin cells: a PRE-COMMITTED VALID COMPLETION, not a
failure. Do not tune to avoid it.
5. Do NOT touch the ratified thresholds. Do NOT add a score threshold to N2.
6. CLASSIFY every first-run failure corpus-defect vs harness-defect BEFORE believing
any of it. Today's prior: 8 of 8 fresh instruments were themselves at fault.
```
**Other open horizons, ranked:**
- **[authorized, sequenced next]** Stroke 2's 41-entry ladder append. Authorized 2026-07-19,
resequenced by REVIEWED-95 Q3 to follow the ladder trigger — which now exists. Its own bite.
- **[wired, no action needed]** The 20-session falsifier fires automatically at 84 transcripts
(currently 64). Grade by the Part II census method; file the result **whichever way it falls**.
Below 60% reopens Q2's rationale, not the gate.
- **[owed, steward]** Relay the three PENDING-111 findings to the jurist (draft §B) — carried
from the morning, untouched.
- **[load-bearing]** The collision census — first evidence D-5's design window exists to produce.
- **[load-bearing]** R0 emit (`reading_index emit <id>`); nothing written to `chamber-library`
yet (D-3). Steward review before any write.
- **[open]** N2's 5/5 false positives; remedy is curatorial (`core_claims` for Alexander's
framing essays) — the deferred interpretive layer.
- **[open, chamber-side]** P2's second half: 50 lines of EPUB anchor residue in G&G.
- **[open, steward's own]** Q5, put to the steward and not ruled: `audit` and
`vault-update-people` at 0% for 3.7 months — not useful as designed, or easy to forget exists?
- **[dateless, unchanged]** PENDING-109's census and PENDING-104's brief still need dates.
- **[verify at next wake]** The skill listing showed only 2 entries late in the session. All 12
kept skills were verified resolvable after the quarantine and nothing since touched
`~/.claude/skills/`; most likely a mid-session listing artifact, but confirm on the fresh load.
**PAUSE STATEMENT:** I am putting this down at a genuine close rather than mid-stride — every
thread opened today is either landed, wired to fire without me, or explicitly sequenced. What I
want to find still pulling is **V2**, and it is the one thing today did not touch. The unease I
carry is not about V2 but about instruments: eight of eight built today were wrong, each
confidently, and V2 is the largest instrument this project has attempted. The consolation is
structural rather than personal — the faults were all caught, and all by the same move.
**LITERAL QUESTION for next-Claude** *(carried forward unanswered, because V2 was not touched —
and strengthened by today)*: **When V2's harness runs for the first time, how many of its failures
are the corpus and how many are the harness itself?** Yesterday the prior was 3 of 3 fresh
instruments at fault; today it is **8 of 8**, and every one was found by looking at *what* was
flagged rather than *how many*. V2 will produce a wall of verdicts. Classify every first-run
failure into corpus-defect vs harness-defect before believing any of them — and if the split is
what two days now predict, that belongs in the verifier's own failure-mode taxonomy (design §5),
which currently enumerates only ways the *corpus* can mislead the verifier.
+89 -1
View File
@@ -5,7 +5,7 @@ metadata:
node_type: memory
type: feedback
originSessionId: 033cfe63-c9d0-4fad-accf-c45de561f09a
modified: 2026-08-07T10:38:26.133Z
modified: 2026-08-07T17:04:03.836Z
---
# Session Ledger — 2026-08-07
@@ -49,8 +49,96 @@ metadata:
**open gap** rather than a pass. **PASS-BUT-FALSELY has a sibling: FAIL-BUT-FALSELY, and it is
more dangerous because it prompts action on the data.**
--- *session boundary — `/clear` at 18:12; new transcript `1963f1a4`. Ledger continues (same date).* ---
- **2026-08-07T18:15 — the digest's "DID NOT WRAP" flag fired a THIRD time, and I re-derived an
answer this ledger already held.** Digest claimed *"PREVIOUS SESSION DID NOT WRAP (ended ~Aug 06
22:30)"* alongside *"Last wrap: 4 min ago"*, and labelled the thread/question as inherited from
an older session — **checkably false**, they are verbatim from the file written at 18:08. I named
the contradiction as unreconciled (correct, per unauthorized proposal #179) and then verified:
`67e2310d` (Aug 6 22:30) is **7 lines**, a `/clear` stub; the real session `f1b95970` (884 lines,
22:29) wrapped. **But the 11:45 entry six lines above already recorded this same adjudication for
the same pair.** The verification was right and cheap; reaching for it before reading the ledger
was [[feedback-resurface-banked-notes-before-rederiving]]. Self-caught, nothing shipped wrong.
Third instance of the digest's own FAIL-BUT-FALSELY — the harvest proposal is now well past
"earned" and is still unauthorized.
- **2026-08-07T18:40 — I sized the harvest from the register's TAIL and was wrong by 10×.**
Told the steward "~15 proposals" after reading the last 40 lines. Counted: **154 live**. The
register's own heading says 177, which is also wrong — 55 of its numbered rows are scraped
table-header rows (`| 5 | Element | Kind | … | PROPOSED? |`). Textbook
*census-read-through-truncation*, committed in the very act of advising on how to handle a
backlog. The recommendation survived (order of magnitude was the load-bearing part), the number
did not.
- **2026-08-07T19:05 — FIVE instrument faults in one rebuild, none found by reading.** (1) header
detector looked for labels only in col[1], so every archive header — which sits in col[0] — was
missed, reporting *0 headers in 199 rows*; (2) it then treated `PROPOSED?` as a header cell when
the register's own legend defines it as a **status value**, silently deleting real proposals from
my census; (3) the mid-word check guessed from the tail and over-fired on words >14 chars; (4)
its replacement demanded a following space and over-fired on cuts landing before punctuation;
(5) the `S2` stamp — which means *execute without a ruling* — over-captured rows reading "create
skill OR ladder entry", and would have **manufactured authorization for work the steward never
granted**. Every one surfaced by looking at *what* was flagged. Yesterday's lesson held at 3-of-3
checkers; today it is **8-of-8**.
- **2026-08-07T19:10 — I nearly shipped a fabricated defect.** Had half-asserted that the
compaction "misattributed 59% of rows" to one archive section. Checked: that section genuinely
holds **81 rows across 410 lines**. Not misattribution — an enormous section. Withdrawn before
it reached the steward in final form. Kin to `assert-from-derivation-not-substrate`: the
suspicious *pattern* was real, the *inference* from it was not.
- **2026-08-07T20:05 — the elegant discriminator was 97% right and would have destroyed the 3%
that mattered.** Having measured that *every* ever-invoked skill was a dotfiles **symlink** and
*no* copied-in real dir had ever run, I proposed symlink-vs-real-dir as the clean prune line —
"the filesystem already marks it." It was wrong for exactly 2 of 63: `french-typography-pass`
(AldineXXI §I.j-fr) and `spec-code-audit` (ARC/L1/BMF) are steward-authored and sit as real dirs.
Caught only by reading the 53 descriptions before moving, i.e. by declining to act on my own
tidy rule. **A discriminator that explains the data is not thereby licensed to act on it** —
and the more elegant it feels, the stronger the pull to skip the per-item look.
Kin to `assert-from-derivation-not-substrate`, at the level of a *decision procedure*.
- **2026-08-07T20:10 — behavioural measurement contradicted my self-report about my own tools.**
Asked which skills are most useful, the honest instrument was not introspection (the
contamination note: direct self-report about one's own needs is the *most* contaminated form)
but **invocation counts across 64 transcripts**. Result: 5 skills ever invoked; 53 never, across
~5 months. And the finding I would not have reached by reflection — `model-handoff` and
`field-divergence-sweep`, both BUILT on harvested evidence, have **never once been invoked**.
The predictor is not quality but **trigger type**: ritual/gate-bound skills run every time,
recall-bound skills run approximately never. That explains the register's 154 as a graveyard of
the second kind, and it is a claim about the *shape* of future tooling, not its content.
## Authorization moves
- **PENDING-112 filed → jurist design-gated → steward concurred → REVIEWED-95 drafted, same session.**
Routing harvested capabilities by *firing moment* rather than importance. Q1 PROPOSAL · Q2 gate
AUTHORIZED · Q3 Stroke 2 resequenced (trigger first) · Q4 prospective-only · Q5 not ours to
legislate · Q6 proceed with a **binding** falsifier. Landed this session: the `/wake-up` ladder
sentence (trial intervention, alone), the `/wrap-up` §1.6 filing gate, the wired trigger. Stroke
2's 41-entry append deliberately NOT done — the ruling sequences it after the trigger.
- **The ruling made the executor's own thesis bite on itself.** Q6 required the pre-registration be
binding "not a disclosed intention" — and PENDING-112's whole claim is that intentions do not
fire. So the falsifier was wired into `governance-drift-check.py` as `DEFERRED-DECISION:
ladder-ritual-trial / trigger: transcripts 84`. Two defects surfaced doing it: the trigger
vocabulary had **no way to express "20 sessions"** without a date proxy — the exact substitution
that block's own comment records as the last failure — and the scanner globbed only
`*/docs/**/*.md`, so **`claude/governance/` was invisible to it**: the mechanism existed and did
not look where it was most needed. Both fixed, with 3 new positive controls (16→19).
## What held
- **The rebuild's own verification refused to write, twice**, and both refusals were correct — it
would not emit an index it could not certify. `*** REBUILD NOT VERIFIED — not writing ***` is
the first instrument today that failed **safe** rather than failing loud-and-wrong.
- **The completeness invariant answered the question that mattered.** "Did the 08-01 compaction
drop anything?" resolved to **124 archive-live = 124 index rows** — nothing lost. I had been
heading toward telling the steward nine proposals were invisible; the count refuted my own
alarming reading, in the safe direction for once.
- **Ambiguity was routed away from authorization by design**, not by care: 22 rows that could have
been stamped "already authorized" are stamped `S2?` instead, because a rule — not a judgment —
sends unsettled rows to the steward.
- **Substrate-checked every item reported as outstanding**, per the wake skill's
disposition-clause rule. Four checks, four confirmations: MEMORY.md is 20,413 B (the trim is
genuinely unbuilt); `engine/` holds no navigation module and the four N0 primitives appear only
+211 -253
View File
@@ -7,8 +7,6 @@ description: Standing register of skill create/patch/retire proposals surfaced b
metadata:
node_type: memory
type: reference
originSessionId: a8eb1d46-314e-4545-a133-f747c69ad5b4
modified: 2026-07-24T12:50:14.817Z
permalink: claude-memory/skill-harvest-register
---
@@ -16,9 +14,18 @@ permalink: claude-memory/skill-harvest-register
The single place proposed skills live so they don't evaporate between sessions. `/wrap-up` §1.6 *proposes* here; the steward *authorizes*; only then is a skill created/patched/retired (never autonomously — the loop is load-bearing, per PENDING-23). `/wake-up` surfaces the open proposals via this entry. The governed analog of `~/PENDING.md`, for our own tools.
**Status legend:** `PROPOSED` (awaiting steward) · `AUTHORIZED` (proceed to build) · `BUILT` (done; move to the built-log) · `DEFERRED` (reason + condition) · `REJECTED` (reason; don't revisit without new input).
**Status legend:** `PROPOSED` (awaiting steward) · `PROPOSED?` (status never marked — **open until ruled**, never silently closed) · `AUTHORIZED` (proceed to build) · `BUILT` · `DEFERRED` · `REJECTED`.
> **Compacted 2026-08-01** under the 2026-07-19 Stroke-4 authorization. This file is now the **live index**: every open proposal, one line each. Full rationale, origin and ruled history live in **`skill-harvest-archive.md`** (the previous register verbatim — nothing dropped). Ruled items are not listed here. Rows whose status was never marked are carried as `PROPOSED?` — **unmarked is open until ruled**, never silently closed.
> **Rebuilt 2026-08-07.** The 2026-08-01 compaction was **lossless but illegible**: 55 scraped table-header rows were carried as numbered proposals, 95% of cells were cut mid-word, and pointers reached only a section — one of which holds 81 rows across 410 lines. Regenerated here from `skill-harvest-archive.md` (authoritative, unchanged) with word-boundary text and **exact `archive:L###` / `register:L###` pointers**. Nothing was ruled, reworded or dropped in the rebuild; the completeness invariant was asserted, not assumed. **154 live proposals** (124 from the archive + 30 appended since); 13 ruled items remain excluded by the stated rule.
**Stroke coverage** — the 2026-07-19 full review granted standing authorizations. `S2` = covered by Stroke 2 (all earned ladder entries, append wholesale — **execution, not a ruling**). `S2?` = names BOTH the ladder and Symmetria, so the stroke that covers it is not settled — rule before executing. `S3` = the skill named in Stroke 3's verdicts. `S1?` = Symmetria flag needing a per-row check against the consolidated §3. `—` = genuinely awaiting the steward.
---
*The steward's 2026-07-19 ruling is reproduced verbatim below. The 2026-08-07 rebuild
initially carried only a paraphrase of it in the Stroke-coverage note above; a paraphrase
must not stand in for a ruling on the live surface, so the ruled text is restored here.*
## ⚖ FULL REVIEW 2026-07-19 (late night) — steward ruled ALL FOUR STROKES
@@ -36,265 +43,216 @@ The single place proposed skills live so they don't evaporate between sessions.
*Post-review addition (2026-07-22, PENDING-69 build — same authorization):* **read-the-gate's-decision-code-before-designing-its-consumer** — before building a consumer/resolver for a gate's output, read the gate's OWN decision logic to know what it can and cannot mechanically produce or see. On PENDING-69 the inherited literal question forced reading `verify_body_conservation.classify` first: it revealed the gate classifies boundary runs by POSITION+SIZE only and provably cannot confirm class identity → that "no, and knowably no" shaped the honest design (attested declaration the gate consumes, not teaching it to classify) AND corrected my own package's mis-framing mid-build. Kin to render-and-LOOK / measure-toolchain-before-spec, one level over (read the substrate's *decision logic*, not just its output). Queue with the Stroke-2 batch.
---
## Open proposals — live index (177)
## verification-ladder (63)
| # | Skill | Kind | One-line | Origin | Status | Archive section |
|---|---|---|---|---|---|---|
| 1 | ``bmf-diagnose`` | **build now** (a | Today WAS that need and the method is proven+fresh: process sample → log pattern census (`uniq - | 2026-06-06 mindfabric-00 forensics | PROPOSED | New proposals (2026-06-06 wrap — awaiting st |
| 2 | ``/wrap-up` §5` | patch | Palace-fully-derived, part 1: mirror every `kg_add`/`kg_invalidate` made at wrap into the sessio | 2026-06-05 MemPalace forensics + t | PROPOSED | New proposals (2026-06-05 evening wrap — awa |
| 3 | ``/wake-up` §2.b` | patch | Until upstream #1665 closes: wake searches run unscoped + post-filter by wing (wing-scoped `memp | 2026-06-05 diagnosis | PROPOSED | New proposals (2026-06-05 evening wrap — awa |
| 4 | ``/wake-up` (new step or §2 check)` | patch | Wake canary: seconds-cheap probe at wake — every MEMORY.md pointer + `link` resolves to an exist | 2026-06-07 evening (memory-verdict | PROPOSED | New proposals (2026-06-05 evening wrap — awa |
| 5 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-08 — harvested from F |
| 6 | `**Revert-and-redo-smaller**` | Symmetria §3 fla | Ch1's strongest working reflex we *don't* have: when a verification/gate fails and the cause isn | Symmetria §3 (a flag) or verificat | PROPOSED | New proposals (2026-06-08 — harvested from F |
| 7 | `**Two-hat commit separation**` | verification-lad | Name which hat each commit wears: a *refactor* commit's compiled output is byte-identical (or ca | verification-ladder (formalizes wh | PROPOSED | New proposals (2026-06-08 — harvested from F |
| 8 | `**Bad-smells → refactoring lens**` | reference card O | Ch3's smell catalogue (Mutable/Global Data, Duplicated Code, Shotgun Surgery, Speculative Genera | `/code-review` prompt or new refer | PROPOSED | New proposals (2026-06-08 — harvested from F |
| 9 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-09 — the headless-Chr |
| 10 | `**Headless-Chrome box-model measur` | create skill OR | When a rendered layout *differs* and the cause isn't obvious, measure the box model before theor | a `/measure-render` skill, or a ve | PROPOSED | New proposals (2026-06-09 — the headless-Chr |
| 11 | `**Symmetria §3 flag: theorize-befo` | Symmetria §3 fla | The drift this caught, as a standing flag: a *causal story about why a layout renders as it does | Symmetria §3 | PROPOSED | New proposals (2026-06-09 — the headless-Chr |
| 12 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-09 pm — the typograph |
| 13 | `**`/measure-render` (headless-Chro` | create skill OR | RE-FLAG — strongly earned. Proposed this morning (compass fix); the pm session ran it 4+ more ti | `/measure-render` skill OR verific | PROPOSED | New proposals (2026-06-09 pm — the typograph |
| 14 | `**Measure the font's true average ` | verification-lad | When setting a measure to a target character count, measure the font's average advance over real | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-09 pm — the typograph |
| 15 | `**ARC build has NO autoprefixer — ` | feedback memory | ARC's plain-`sass` build adds no vendor prefixes. When introducing a new CSS property, check Saf | `feedback-arc-no-autoprefixer-hand | PROPOSED | New proposals (2026-06-09 pm — the typograph |
| 16 | `**Justification-judgment bar = Bri` | feedback memory | Load-bearing for the future justification decision: when living with the soft rag to judge wheth | `feedback-justification-bar-bringh | PROPOSED | New proposals (2026-06-09 pm — the typograph |
| 17 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-10 — Stage-G close + |
| 18 | `**spec↔spec coherence dimension**` | patch `/spec-cod | The 2026-06-10 audit found §I.f-class contradictions — the measure (38→27.2rem) un-propagated ac | `/spec-code-audit` (new dimension) | PROPOSED | New proposals (2026-06-10 — Stage-G close + |
| 19 | `**container-must-embody-the-contai` | feedback memory | When producing an ARTIFACT *of* a spec (a PDF of the spec, a rendered sample), set it per the sp | `feedback-container-must-embody-th | PROPOSED | New proposals (2026-06-10 — Stage-G close + |
| 20 | `**check-for-governed-tooling-befor` | feedback memory | Before hand-rolling infrastructure (a PDF preamble, a build script, a template), grep the repo f | feedback memory or Symmetria §3 | PROPOSED | New proposals (2026-06-10 — Stage-G close + |
| 21 | `**byte-identical gate: hold/exclud` | verification-lad | When proving a change byte-identical, a build-date/commit stamp (e.g. the colophon `_build_info/ | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-10 — Stage-G close + |
| 22 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-11 — §VII.f / open-wo |
| 23 | `**Symmetria §3 flag: inherited-mar` | Symmetria §3 fla | A status/marker inherited from a RECORD (a selector-index entry, a tracker line, a "-pending" fi | Symmetria §3 | PROPOSED | New proposals (2026-06-11 — §VII.f / open-wo |
| 24 | `**`/measure-render` (headless-Chro` | create skill OR | RE-REINFORCED (4th day of evidence). Proposed 2026-06-09 (compass fix) + reinforced 06-09 pm; to | `/measure-render` skill OR verific | PROPOSED | New proposals (2026-06-11 — §VII.f / open-wo |
| 25 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-12 — Studium planning |
| 26 | `**`/model-handoff` (premium-model ` | create skill OR | When switching to an expensive/premium model (Fable 5 = 2× Opus rate; burn scales with context×s | a `/model-handoff` skill OR a refe | PROPOSED | New proposals (2026-06-12 — Studium planning |
| 27 | `**verification-ladder: feature-det` | verification-lad | A CSS `@supports(feature)` (or any capability probe) can return true on a platform where the fea | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-12 — Studium planning |
| 28 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-12 night — Studium St |
| 29 | `**verification-ladder: parse/valid` | verification-lad | When an artifact that humans have only ever *read* (a hand-authored YAML index, a config, a data | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-12 night — Studium St |
| 30 | `**clean cruft at the SOURCE layer,` | feedback memory | When a source carries conversion cruft (EPUB footnote-links, image-scan embeds), clean it at the | `feedback-clean-at-source-not-down | PROPOSED | New proposals (2026-06-12 night — Studium St |
| 31 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 — Studium Steps 3- |
| 32 | `**dry-run-first for bulk file oper` | verification-lad | When a mutation touches many files at once (mass `git mv`, graduation, rename), build it dry-run | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 — Studium Steps 3- |
| 33 | `**Symmetria §3 flag: census-throug` | Symmetria §3 fla | A filter/regex used to *count* or *partition* a set can silently mis-match and the count reads a | Symmetria §3 | PROPOSED | New proposals (2026-06-13 — Studium Steps 3- |
| 34 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 35 | `**Symmetria §3 flag: solve-the-con` | Symmetria §3 fla | A "fix" that satisfies a stated constraint by removing the thing the constraint was protecting i | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 36 | `**verification-ladder: re-verify a` | verification-lad | A sub-agent or background workflow that reports a per-item verdict from a dry-run on a temp copy | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 37 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 38 | `**Symmetria §3 flag: assert presen` | Symmetria §3 fla | A presence/absence claim produced by a fuzzy/token matcher (filename tokens, embeddings, author- | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 39 | ``/wrap-up` §4.b/§5` | patch | Inline reminder at the KG-write step: `kg_add` `object` hard-caps at 128 chars — write short key | PROPOSED | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 40 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 41 | `**Work-in-omnibus: verify the inte` | verification-lad | When a sidecar/scope brackets one work out of a multi-work source by heading-to-heading boundari | verification ladder | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 42 | `**studium-engine tool-evolution-lo` | create | Establish the analog of `chamber-library/_curation/tool-evolution-log.md` for the engine tools ( | studium-engine repo | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 43 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 44 | `**`/version-essay`**` | **create** | The ADR-005 essay-versioning procedure, derived from `essay-versioning-specification.md` this se | new `/version-essay` skill | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 45 | `**CSS-mask: fill WHITE, not black ` | verification-lad | A CSS `mask`/`-webkit-mask` SVG must fill the shape white/opaque — a black-fill mask renders BLA | `reference-verification-ladder` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 46 | `**live-CSS-patch in `_site` for fa` | verification-lad | To eyeball size/style options in the real browser without a full Hakyll rebuild each round, `sed | `reference-verification-ladder` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 47 | `**headless-Chrome element shot: sc` | Symmetria §3 fla | Recalibration: computed box-clips kept mis-landing on the page-top (burned several shots). The r | `reference-verification-ladder` or | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 48 | `**glyph-outline → SVG from a woff2` | method note (lad | Build a typographic SVG asset *from the real font glyphs*: `fontTools` `SVGPathPen` (path) + `Bo | `reference-verification-ladder` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 49 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 50 | `**`/wake-up` patch — surface the *` | patch | When the active workstream is studium-engine / The Making / ARC-as-public-proof (the engine's re | `/wake-up` §2.a + §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 51 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 52 | `**`/clone-test-runtime-fix` (CoW-c` | create skill OR | When testing a runtime fix that needs real live data but must not touch the live instance: `/bin | new `/clone-test-runtime-fix` skil | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 53 | `**verification-ladder: verify the ` | verification-lad | Before reasoning about live behaviour, verify what the running process actually executes — compi | `reference-verification-ladder` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 54 | `**Symmetria §3 flag: probe-confirm` | Symmetria §3 fla | A query/test I constructed to match my hypothesis, whose result I then read as *confirming* the | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 55 | `**verification-ladder: quantify-th` | verification-lad | When a fix *removes* a hot operation, the cleanest control isn't a flaky end-to-end before/after | `reference-verification-ladder` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 56 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 57 | `**Symmetria §3 flag: diagnose-infe` | Symmetria §3 fla | The load-bearing harvest. When a network/inference call is slow, the FIRST test must be the *iso | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 58 | `**Symmetria §3 flag: reinvent-gove` | Symmetria §3 fla | Proposed PENDING-41 (consumer-hardware graceful degradation) as a *novel* architectural directio | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 59 | `**`/graduate-chamber-source`** (th` | create | Codify the now-PROVEN OCR→canonical→graduation pipeline as a single governed discipline, so the | 2026-06-26 Levi graduation | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 60 | `Element` | Kind | One-line | Status | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 61 | `**`/graduate-chamber-source`** (al` | **EXPAND** | Its empirical spec is now the full ocrmac column-aware pipeline, not the olmOCR one: render→ocrm | PROPOSED (expand; build-on-package | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 62 | `verification-ladder note: **OCR wo` | ladder entry (pr | A verbatim word-guard that checks word PRESENCE cannot catch reading-order scrambling (2-col rea | PROPOSED | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 63 | `**2 research sweeps owed** (not sk` | note | The engine's signature capabilities are greenfield: (1) genealogy/temporal/citation-graph/KG-aug | (project tasks, in research doc) | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 64 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 65 | `**`/graduate-chamber-source`** (al` | **EXPAND again** | Now carries the full EPUB path (`structure_from_ncx`→`insert_chapter_headings`→`clean_pandoc_htm | new skill | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 66 | `**The gate itself can be PASS-BUT-` | verification-lad | A verifier that checks an enumerated set of cruft signatures silently passes any residue outside | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 67 | `**Symmetria §3 flag: finding-scope` | Symmetria §3 fla | A result true under a specific condition, restated as an unconditional rule, is contamination sh | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 68 | `**prose word-guard for faithful st` | verification-lad | When a cleaner removes/reflows STRUCTURE (headings, printed titles, residue) but must preserve P | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 69 | `**structure-from-authoritative-ToC` | method note (lad | Answer to the long-open unify question: chapter-structure recovery is ONE placement engine (`ins | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 70 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 71 | `**Symmetria §3 flag: tool-creep-in` | Symmetria §3 fla | A convenience tool proposed for one job silently becoming the durable substrate (the source of t | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 72 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 73 | `**`/graduate-chamber-source`** (pr` | **BUILD NOW** | The empirical spec is complete AND the rail it needs now exists (`graduation-spec.yaml` + `verif | new skill | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 74 | `**Symmetria §3 flag: graduated-wit` | Symmetria §3 fla | Letting "honestly flagged" substitute for "resolved" — shipping a known-incomplete text because | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 75 | `**Symmetria §3 flag: re-derived-in` | Symmetria §3 fla | Wrote agents hand-made instructions (and invented fields) instead of pointing them at `conversio | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 76 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 77 | `**Symmetria §3 flag: claim-from-de` | Symmetria §3 fla | The load-bearing harvest — jurist-elevated to STANDING PRACTICE. I trusted a derived artifact / | Symmetria §3 + `reference-verifica | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 78 | `**`/spec-amendment`** (the RFC-sup` | create (later) | The now-RATIFIED chamber amendment process as a codified discipline: normative spec change = a s | new skill | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 79 | `**per-claim citation verification ` | feedback memory | Caught by the jurist: I cited arXiv 2605.24229 for a claim it didn't support, having let a sub-a | feedback memory / ladder | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 80 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 81 | `**`/spec-amendment`** (proposed 20` | **BUILD — deferr | The 2026-07-03/04 v2.0 drafting IS its first real exercise — the empirical spec now exists. Codi | new `/spec-amendment` skill | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 82 | `**`/wrap-up` §4.a**` | **patch** | The §4.a drawer-filing step instructs passing `tags:` to `mempalace_add_drawer` — the tool rejec | `~/.claude/skills/wrap-up/SKILL.md | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 83 | `Element` | Kind | One-line | Status | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 84 | `**verification-ladder: CI-upper-bo` | verification-lad | The jurist RULED (2026-07-04) that grading on the one-sided 90% Clopper-Pearson upper bound (not | .05,40)=0.399); the CI does the re | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 85 | `**`/model-handoff`** (premium-mode` | REINFORCED (exis | Used tonight end-to-end: produced `studium-engine/docs/stage-1-replan-scope-charter-2026-07-05.m | PROPOSED (reinforced) | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 86 | `Element` | Kind | One-line | Status | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 87 | `**`/model-handoff`** (proposed 202` | **REINFORCED — 3 | Tonight was the first time the pattern ran END-TO-END as designed: fresh Fable-5 session woke in | PROPOSED (reinforced; +path-verifi | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 88 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 89 | `**CLAUDE.md staleness canary (git ` | create (small) O | If the `scripts/` set or `graduation-spec.yaml` changed but `CLAUDE.md` didn't since, flag "may | git pre-commit / a `/repo-doc-cana | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 90 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 91 | `**memory/index restructure = byte-` | verification-lad | When restructuring a memory index or any lossless-relocation of prose between files, do it as li | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 92 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 93 | `**quote a long-job ETA only from a` | verification-lad | Twice today I gave a re-embed ETA from gut ("15–45 min") and was wrong by ~30×; the steward caug | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 94 | `**Symmetria §3 flag: reassuring-ve` | Symmetria §3 fla | Reaching for a comforting characterization ("self-healed", "fine", "recovered", "handled") *befo | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 95 | `**`mempalace-diagnose` — RETIRE th` | retire | AUTHORIZED 2026-06-05 (build-on-need). Now decorative: the steward decided (evidenced) to wind d | skill-harvest register | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 96 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 97 | `**`/model-handoff` (premium-model ` | **RE-FLAG — stro | Proposed 2026-06-12; this session *built* a full scope charter with the discipline (charter-on-O | new `/model-handoff` skill | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 98 | `**cross-volume verify-before-delet` | verification-lad | Moving data across filesystems (internal→external cold archive): `rsync -a` → verify exact file- | tail` masks push failure — bit me | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 99 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 100 | `**verify at the granularity of the` | verification-lad | A whole-set invariant (a document-wide word-multiset guard) can PASS while a per-item operation | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 101 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 102 | `**re-audit coverage with the TOOL'` | verification-lad | When a classifier and the tool it feeds share a predicate, the classifier's *mis*-classification | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 103 | `**extending a tool re-tests its fo` | verification-lad | Building an extension exercises shared machinery the original's tests never hit — so a widen's ` | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 104 | `**classify a change by MECHANISM, ` | feedback memory | Reflexively labeled the recognizer generalization "PROPOSAL" because it *felt* large; the jurist | feedback memory or Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 105 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 106 | `**`/reconcile-open-work` (program ` | **create** | The practice proven twice now (ARC open-work register, then the whole Chamber→Gold→Engine regist | new `/reconcile-open-work` skill | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 107 | `**verification-ladder: retroactive` | ladder entry | The jurist's Q1b principle, proven load-bearing: a stronger check existing and NOT pointed at ca | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 108 | `**verification-ladder: structural ` | ladder entry / S | The jurist's generalization after nested-block: "same risk as (a)" was true of the *matching* lo | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 109 | `**Symmetria §3 flag: lost-the-fore` | Symmetria §3 fla | A long, productive execution session that costs the whole-program altitude is contamination shap | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 110 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 111 | `**check-the-register-before-a-subs` | `/wake-up` §2 pa | Before starting substantial INFRA/tool building (a converter, a pipeline, a substrate), read the | `/wake-up` §2 (when the thread is | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 112 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 113 | `**Symmetria §3 flag: a check prove` | Symmetria §3 fla | Reusing a verification method across a boundary it wasn't demonstrated on is contamination shape | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 114 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 115 | `**Symmetria §3 flag: soft-classifi` | Symmetria §3 fla | Shipping a soft label ("this is reordering", "magnitude unresolved", "apparatus") when a CHECKAB | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 116 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 117 | `**split cause from magnitude befor` | verification-lad | A diagnostic bucket keyed on ONE summary axis (magnitude, holds%, a deficit size) can hold heter | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 118 | `**confirm-a-named-cause-by-swap-in` | verification-lad | When you NAME the true reference / config / cause behind an anomaly, don't assert the fix from t | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 119 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 120 | `**method-class-vs-calibration**` | verification-lad | When a metric/gate fails to separate two cases, ask whether it is mis-CALIBRATED or structurally | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 121 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 122 | `**Symmetria §3 flag: answer-from-t` | Symmetria §3 fla | Answering an architecture/tooling/citation question — or proposing a tool/approach — from traini | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 123 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 124 | `**positive-test-at-the-enforcement` | verification-lad | For any "can X be bypassed?" / "is this gate skippable?" property, a negative grep proves the ab | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 125 | `**Symmetria §3 flag: convert-a-ste` | Symmetria §3 fla | A proposal that converts an observed steward STATE (fatigue, "has carried a lot," being busy) in | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 126 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 127 | `**draft governance entries copy-pa` | feedback memory | When drafting PENDING/REVIEWED entries for the steward to *place*, format them as clean copy-pas | a feedback memory (governance-draf | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 128 | `**Symmetria §3 flag / ladder: "clo` | Symmetria §3 fla | The jurist named it a standing habit: the closable-vs-blocked partition on a work-list must be * | Symmetria §3 or `reference-verific | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 129 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 130 | `**`/jurist-package`** (create)` | new skill | Draft a self-contained jurist package for a repo-blind reviewer: inline the ratified spec clause | new `.claude/skills/jurist-package | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 131 | `**ladder: reconcile against the AU` | verification-lad | Before claiming a block/scope closed or complete, reconcile against the authoritative source (th | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 132 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 133 | `**governed spec-supersession proce` | verification-lad | Landing a ratified spec version is: cp live→`-vNEW.md` → bounded Edits (never retype) → `diff` s | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 134 | `**verification-ladder / Symmetria ` | verification-lad | A factual claim's grounding must reach the file that HOLDS the fact, not one that merely describ | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 135 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 136 | `**implementation-is-a-second-gate*` | verification-lad | A text passed by *reading* is re-tested by having to *act* on it — the jurist's own minting, aft | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 137 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 138 | `**sandbox-must-pin-the-shared-modu` | verification-lad | When a test sandboxes module-level state (paths/constants), the patch must land on the SAME modu | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 139 | `**census-the-substrate-when-a-safe` | verification-lad | A safety net (generic fallback, fail-loud branch, `unrecognized` kind) that never fires across N | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 140 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 141 | `**grounding-quoted-but-not-traced*` | Symmetria §3 fla | The hook enforces QUOTING the ratified sections; this session proved quoting ≠ tracing: the coor | Symmetria §3, or a one-line additi | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 142 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 143 | `**Symmetria §3 flag: record-assert` | Symmetria §3 fla | A session record (Addendum, brief, tracker line) composed AHEAD of its acts and asserting APPLIE | Symmetria §3 | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 144 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 145 | `**re-anchor = re-verify: reconstru` | verification-lad | When re-anchoring any sha-bound artifact after an upstream edit: reconstruct the OLD bound state | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 146 | `Element` | Kind | One-line | Where it lands | PROPOSED? | New proposals (2026-06-13 post-clear — L1 /h |
| 147 | `**implement-the-relation-not-an-ap` | verification-lad | When code implements a RULED relation/contract (an equivalence relation, a gate criterion), the | `reference-verification-ladder.md` | PROPOSED | New proposals (2026-06-13 post-clear — L1 /h |
| 148 | `Element` | Kind | One-line | Where it lands | PROPOSED? | Harvest 2026-07-21 (the verify-guard complet |
| 149 | `**seam-probe the artifact (gates t` | verification-lad | The night's two REAL defects (empty footnote defs from per-spine `-f html`; defs-after-index swa | `reference-verification-ladder.md` | PROPOSED | Harvest 2026-07-21 (the verify-guard complet |
| 150 | `**cmp-after-apply (tool-report ≠ w` | verification-lad | `strip_cruft --apply` prints its transform counts BEFORE the write decision; three distinct refu | `reference-verification-ladder.md` | PROPOSED | Harvest 2026-07-21 (the verify-guard complet |
| 151 | `**`convert_lane_borndigital.py` → ` | tool promotion | The one-door born-digital lane driver (whole-EPUB inject → whole-EPUB pandoc `-f epub -t markdow | `scripts/` | PROPOSED | Harvest 2026-07-21 (the verify-guard complet |
| 152 | ``/glyph-map-source`` | **create** | Per-source character-as-image glyph-mapping — the repeatable procedure built + proven on Levi th | 2026-07-23 (built once, 12+ repeat | PROPOSED | Harvest 2026-07-23 (the PENDING-69/70 arc · |
| 153 | `Item` | Kind | One-line | Origin | PROPOSED? | Harvest 2026-07-24 (evening — PENDING-71/72 |
| 154 | `Amendment-process: **reassigned-co` | **patch** (chamb | Jurist-minted in the REVIEWED-72 ruling: *"when a change reassigns a named component, check what | 2026-07-24 (jurist-directed) | PROPOSED | Harvest 2026-07-24 (evening — PENDING-71/72 |
| 155 | `Chamber graduation: **build to the` | **patch** (chamb | Steward-corrected 2× this session: *"we cannot use the extant canon as precedent."* The extant c | 2026-07-24 (steward-directed) | PROPOSED | Harvest 2026-07-24 (evening — PENDING-71/72 |
| 156 | `Element` | Kind | One-line | Where it lands | PROPOSED? | Harvest 2026-07-24 (evening — PENDING-71/72 |
| 157 | `chamber-library CLAUDE.md — **inte` | patch (repo CLAU | Add to §Load-bearing disciplines: *"The fleet has UNIT tests (test_tools, per-tool fixtures) but | `chamber-library/CLAUDE.md` §Load- | PROPOSED | Harvest 2026-07-24 (evening — PENDING-71/72 |
| 158 | `Target` | Kind | Proposal | Evidence | PROPOSED? | Harvest 2026-07-28 (morning — governance blo |
| 159 | ``/wake-up` §2.c–2.d` | patch | Consume the SessionStart digest instead of recomputing it. `wake-digest.py` now fires at every S | Built + wired 2026-07-28; the wake | PROPOSED | Harvest 2026-07-28 (morning — governance blo |
| 160 | ``/wake-up` §2.a` | patch | Fix the link-resolution canary's path handling — resolve pointers against the memory file's *phy | **Second firing.** Proposed 2026-0 | PROPOSED | Harvest 2026-07-28 (morning — governance blo |
| 161 | ``reference-verification-ladder.md`` | new entry | "The parser defines the census." When a census counts items, the *item-definition* is itself a c | Earned hard 2026-07-28: `^## PENDI | PROPOSED | Harvest 2026-07-28 (morning — governance blo |
| 162 | `Target` | Kind | Proposal | Evidence | PROPOSED? | Proposed 2026-07-28 (afternoon wrap — PENDIN |
| 163 | ``/symmetria` §3` | patch | Add the contamination flag: "an instrument whose evidence is the same kind of thing as its own s | **Four instances in one afternoon* | PROPOSED | Proposed 2026-07-28 (afternoon wrap — PENDIN |
| 164 | ``/wrap-up` §6 / §6.5` | patch | Verify that every file a commit message names is actually staged, and that steward-authored edit | `8abfe88` claimed *"split 1848→430 | PROPOSED | Proposed 2026-07-28 (afternoon wrap — PENDIN |
| 165 | ``~/dotfiles/scripts/`` | new script | Promote the union-losslessness verifier to `verify-union-lossless.py <baseline> <part>...` — ass | Written ad hoc in scratchpad for t | PROPOSED | Proposed 2026-07-28 (afternoon wrap — PENDIN |
| 166 | ``/wake-up` §2.a` | patch | (Re-proposing, third firing.) Link-canary path resolution — root cause now precise, not merely r | Fired 2026-07-27, and **twice** on | PROPOSED | Proposed 2026-07-28 (afternoon wrap — PENDIN |
| 167 | ``/wake-up`` | patch | Read the day's own Symmetria ledger when one exists for today. The wake reads `MEMORY.md` + the | 2026-07-28 (2 instances, ~10 min a | PROPOSED | Harvest 2026-07-28 (mid-afternoon — the V-DP |
| 168 | ``/jurist-package`` | patch | Require a mechanical verbatim-containment proof over every quoted clause, reported in the packag | 2026-07-28 (self-caught fabricatio | PROPOSED | Harvest 2026-07-28 (mid-afternoon — the V-DP |
| 169 | `Target` | Kind | Proposal | Earned by | PROPOSED? | New proposals (2026-07-29 wrap — awaiting st |
| 170 | ``/jurist-package`` | patch | Mandate a mechanical verbatim-containment proof over every quoted passage, with a positive AND n | 2026-07-29; second instance of the | PROPOSED | New proposals (2026-07-29 wrap — awaiting st |
| 171 | ``/jurist-package`` | patch | Formatting convention: ratified text = `>` blockquote; PROPOSED text = fenced block, never a blo | 2026-07-29, found incidentally by | PROPOSED | New proposals (2026-07-29 wrap — awaiting st |
| 172 | ``/wake-up` §3 (Next move)` | patch | Before executing an inherited resumption point, grep the substrate for whether its premise is al | 2026-07-29 | PROPOSED | New proposals (2026-07-29 wrap — awaiting st |
| 173 | `Target` | Kind | Proposal | Earned by | PROPOSED? | New proposals (2026-07-29, steward-raised — |
| 174 | ``symmetria` §4 (ledger template)` | patch | Add a standing `## What held` section — instruments that fired *prospectively*, lessons that tra | 2026-07-29, steward-raised; corrob | APPLIED 2026-08-02 (FIX lane, REVIEWED-85 batch 1) | New proposals (2026-07-29, steward-raised — |
| 175 | ``/wrap-up` §5 (KG append)` | patch | Add a `prevention` predicate — `{subject: <banked lesson>, predicate: "prevention", object: <the | same | APPLIED 2026-08-02 (FIX lane, REVIEWED-85 batch 1) | New proposals (2026-07-29, steward-raised — |
| 176 | ``/wake-up` §2.b.2` | patch | Surface one `prevention` alongside the drift-patterns. Currently the wake greps only `drift-patt | same | APPLIED 2026-08-02 (FIX lane, REVIEWED-85 batch 1) | New proposals (2026-07-29, steward-raised — |
| 177 | ``symmetria` §2 / `/wrap-up` §1` | patch | Retire the self-report framing of the standing question. The 2026-07-29 literal question — *"is | 2026-07-29 | APPLIED 2026-08-02 (FIX lane, REVIEWED-85 batch 1) | New proposals (2026-07-29, steward-raised — |
| 178 | `/fool` | create | **Build WHEN STABLE, not now.** The differently-formed-checker trial protocol, derived twice this session: withhold the ruling; pre-register grading before the run; prompt gives *form* not target (+ anti-contrarian + anti-echo clauses); `enable_thinking` ON (off produces silence, not brevity); **one variable per trial**; no standing granted to the Fool — only checkable claims get standing. Codifying it now would freeze an unstable protocol; the steward has directed next session at stabilising it. Interim home: `dotfiles/claude/governance/fool-trial-log.md`. | 2026-08-01/02, trials 01–02 | PROPOSED (build-when-stable) |
| 179 | `wake-digest.py` | patch **[FIX-class]** | **The wake instrument silently hides open items.** `sec_pending()` drops a `PENDING-N` whenever a `REVIEWED-N` exists — **matching the number alone**, never checking the ruling is *about* that item. Numbering has drifted (REVIEWED-84 rules on PENDING-87), so **PENDING-84 was invisible at wake on the very morning the steward's pulling thread pointed at it**; closing it later produced no visible count change. Measured: 9 suppressed, 8 correctly, 1 falsely. Fix: resolve by the ruling's *subject line*, not its number. | 2026-08-01 (found at wake, surfaced not fixed) | PROPOSED |
| 180 | `normalize_ocr.py` (chamber fleet) | patch **[FIX-class]** | **Silent degradation with no disclosure.** `dict_state` reports only the static word list, so a `--lang fr` run with **wordfreq absent** falls back to its own documented *"old, weaker behaviour"* — validating French de-hyphenations against `/usr/share/dict/words` (English) — and says nothing. §VII: *a measurement carrying a known reliability caveat states it on its own output, every time*. Fix: report wordfreq active/absent and the effective language on every run. (wordfreq installed into `~/.local/chamber-tools-venv` 2026-08-01.) | 2026-08-01 (Derrida conversion) | PROPOSED |
| 181 | `/jurist-package` | patch | **Filing is not sending, and the skill has no step that distinguishes them.** The 2026-08-01 ESCALATE doctrine package sat filed-and-unsent for a day; the executor could not determine its state from the repository and had to ask. Add a send-state line to the package footer (`filed <date> · sent <date|not yet>`) and a §1.6-style check at wrap. Cheap, and it is the difference between a package that is waiting on the jurist and one nobody has moved. | 2026-08-02, found while packaging | PROPOSED |
| 182 | `/jurist-package` | patch | **Require the mechanical containment proof the skill's own discipline implies.** The skill states *quote, never paraphrase* but carries no check. Built and used twice on 2026-08-02: it caught a fabricated terminal period inside a blockquote in the executor's own package (read past twice), and discharged REVIEWED-85's stated precondition where the jurist could not verify skill-file quotes itself. Tool: `dotfiles/claude/governance/check_containment.py`, positive controls mandatory. **PROPOSAL, not FIX** — this changes gate criteria, which the §1.6 hard floor reserves. Bears directly on PENDING-86 option (b), which is unruled; route with that item, not ahead of it. | 2026-08-02 | PROPOSED |
Stroke 2 (2026-07-19) AUTHORIZED appending **all earned ladder entries** wholesale. These need EXECUTION, not a ruling — verify each against the current ladder before appending; some already landed.
## New proposals (2026-08-02 pm wrap — the vignette build; awaiting steward)
| # | Item | Gist | Status | Stroke | Source |
|---|------|------|--------|--------|--------|
| 1 | Revert-and-redo-smaller | Ch1's strongest working reflex we don't have: when a verification/gate fails and the cause isn't immediately visible, revert to… | PROPOSED | S2? | `archive:L110` |
| 2 | Two-hat commit separation | Name which hat each commit wears: a refactor commit's compiled output is byte-identical (or carries a pre-stated classified… | PROPOSED | S2 | `archive:L111` |
| 3 | Bad-smells → refactoring lens | Ch3's smell catalogue (Mutable/Global Data, Duplicated Code, Shotgun Surgery, Speculative Generality, Comments-as-deodorant…) as… | PROPOSED | S2? | `archive:L112` |
| 4 | Headless-Chrome box-model measurement | When a rendered layout differs and the cause isn't obvious, measure the box model before theorizing the mechanism. Today this… | PROPOSED | S2? | `archive:L136` |
| 5 | /measure-render (headless-Chrome box-model harness) | RE-FLAG — strongly earned. Proposed this morning (compass fix); the pm session ran it 4+ more times (true-advance measurement… | PROPOSED | S2? | `archive:L143` |
| 6 | Measure the font's true average prose advance before a character-count… | When setting a measure to a target character count, measure the font's average advance over real corpus prose (incl. spaces), not… | PROPOSED | S2 | `archive:L144` |
| 7 | byte-identical gate: hold/exclude volatile build-stamps | When proving a change byte-identical, a build-date/commit stamp (e.g. the colophon buildinfo/stamp) will differ between baseline… | PROPOSED | S2 | `archive:L155` |
| 8 | /measure-render (headless-Chrome box-model/scroll harness) | RE-REINFORCED (4th day of evidence). Proposed 2026-06-09 (compass fix) + reinforced 06-09 pm; today drove the ENTIRE §VII.f build… | PROPOSED | S2? | `archive:L167` |
| 9 | /model-handoff (premium-model scope charter) | When switching to an expensive/premium model (Fable 5 = 2× Opus rate; burn scales with context×session-length) for a bounded high… | PROPOSED | S2? | `archive:L175` |
| 10 | verification-ladder: feature-detect gates can lie | A CSS @supports(feature) (or any capability probe) can return true on a platform where the feature is non-functional — today the… | PROPOSED | S2 | `archive:L176` |
| 11 | verification-ladder: parse/validate machine-consumed artifacts that have… | When an artifact that humans have only ever read (a hand-authored YAML index, a config, a data file) is about to be machine… | PROPOSED | S2 | `archive:L184` |
| 12 | dry-run-first for bulk file operations | When a mutation touches many files at once (mass git mv, graduation, rename), build it dry-run by default and emit the full move… | PROPOSED | S2 | `archive:L193` |
| 13 | verification-ladder: re-verify a workflow/sub-agent's per-item dispositions… | A sub-agent or background workflow that reports a per-item verdict from a dry-run on a temp copy can be wrong on the real apply… | PROPOSED | S2? | `archive:L203` |
| 14 | Work-in-omnibus: verify the interior, not just the endpoints | When a sidecar/scope brackets one work out of a multi-work source by heading-to-heading boundaries, content-sample the span… | PROPOSED | S2 | `archive:L241` |
| 15 | CSS-mask: fill WHITE, not black (luminance-safe) | A CSS mask/-webkit-mask SVG must fill the shape white/opaque — a black-fill mask renders BLANK (the luminance-vs-alpha trap).… | PROPOSED | S2 | `archive:L251` |
| 16 | live-CSS-patch in site for fast in-browser iteration | To eyeball size/style options in the real browser without a full Hakyll rebuild each round, sed the value directly in site/assets… | PROPOSED | S2? | `archive:L252` |
| 17 | headless-Chrome element shot: scrollIntoView + full-viewport, NOT computed… | Recalibration: computed box-clips kept mis-landing on the page-top (burned several shots). The reliable element screenshot is… | PROPOSED | S2? | `archive:L253` |
| 18 | glyph-outline → SVG from a woff2 | Build a typographic SVG asset from the real font glyphs: fontTools SVGPathPen (path) + BoundsPen (bbox) over the woff2, y-flip… | PROPOSED | S2 | `archive:L254` |
| 19 | /clone-test-runtime-fix (CoW-clone + isolated-worktree harness) | When testing a runtime fix that needs real live data but must not touch the live instance: /bin/cp -c -R (APFS CoW) the live data… | PROPOSED | S2? | `archive:L270` |
| 20 | verification-ladder: verify the RUNNING BINARY's provenance, not just… | Before reasoning about live behaviour, verify what the running process actually executes — compiled dist/ build mtime + grep the… | PROPOSED | S2 | `archive:L271` |
| 21 | verification-ladder: quantify-the-removed-cost as the A/B control | When a fix removes a hot operation, the cleanest control isn't a flaky end-to-end before/after race — it's to time the exact… | PROPOSED | S2 | `archive:L273` |
| 22 | verification-ladder note: OCR word-guard passes on SCRAMBLED text | A verbatim word-guard that checks word PRESENCE cannot catch reading-order scrambling (2-col read across the gutter) — same… | PROPOSED | S2 | `archive:L300` |
| 23 | The gate itself can be PASS-BUT-FALSELY | A verifier that checks an enumerated set of cruft signatures silently passes any residue outside the set — verifyconversion… | PROPOSED | S2 | `archive:L308` |
| 24 | prose word-guard for faithful structure-cleaning | When a cleaner removes/reflows STRUCTURE (headings, printed titles, residue) but must preserve PROSE, gate it with a prose-only… | PROPOSED | S2 | `archive:L310` |
| 25 | structure-from-authoritative-ToC = one engine, two map-producers | Answer to the long-open unify question: chapter-structure recovery is ONE placement engine (insertchapterheadings: match… | PROPOSED | S2 | `archive:L311` |
| 26 | Symmetria §3 flag: claim-from-derived-artifact-when-the-source-is-checkable | The load-bearing harvest — jurist-elevated to STANDING PRACTICE. I trusted a derived artifact / a regex-over-derived-text over… | PROPOSED | S2? | `archive:L338` |
| 27 | per-claim citation verification (don't let a sub-agent's blanket "verified"… | Caught by the jurist: I cited arXiv 2605.24229 for a claim it didn't support, having let a sub-agent's aggregate "4/4 papers… | PROPOSED | S2? | `archive:L340` |
| 28 | verification-ladder: CI-upper-bound + drop-one-robustness = STANDARD for… | The jurist RULED (2026-07-04) that grading on the one-sided 90% Clopper-Pearson upper bound (not the point estimate) + the drop… | PROPOSED | S2 | `archive:L357` |
| 29 | memory/index restructure = byte-exact slice + md5-conservation + link-canary | When restructuring a memory index or any lossless-relocation of prose between files, do it as line-range slices (never retype) +… | PROPOSED | S2 | `archive:L389` |
| 30 | quote a long-job ETA only from an observed rate, never model-size intuition | Twice today I gave a re-embed ETA from gut ("15–45 min") and was wrong by ~30×; the steward caught it. The fix was measuring… | PROPOSED | S2 | `archive:L410` |
| 31 | mempalace-diagnose — RETIRE the proposal | AUTHORIZED 2026-06-05 (build-on-need). Now decorative: the steward decided (evidenced) to wind down palace-memory MemPalace.… | PROPOSED | S2 | `archive:L412` |
| 32 | cross-volume verify-before-delete move | Moving data across filesystems (internal→external cold archive): rsync -a → verify exact file-count match + du (NOT a byte-sum… | PROPOSED | S2 | `archive:L421` |
| 33 | verify at the granularity of the mutation, not the aggregate | A whole-set invariant (a document-wide word-multiset guard) can PASS while a per-item operation (a cross-note swap — a word from… | PROPOSED | S2 | `archive:L440` |
| 34 | re-audit coverage with the TOOL's recognizer, not the classifier that… | When a classifier and the tool it feeds share a predicate, the classifier's mis-classifications masquerade as genuine "new… | PROPOSED | S2 | `archive:L450` |
| 35 | extending a tool re-tests its foundations | Building an extension exercises shared machinery the original's tests never hit — so a widen's --validate should assert the… | PROPOSED | S2? | `archive:L451` |
| 36 | verification-ladder: retroactively re-verify everything landed under a… | The jurist's Q1b principle, proven load-bearing: a stronger check existing and NOT pointed at canon that shipped under the weaker… | PROPOSED | S2 | `archive:L463` |
| 37 | verification-ladder: structural safety = PROVISIONAL FIX; end-to-end proof… | The jurist's generalization after nested-block: "same risk as (a)" was true of the matching logic and silent on the rendering… | PROPOSED | S2? | `archive:L464` |
| 38 | split cause from magnitude before sizing a remedy | A diagnostic bucket keyed on ONE summary axis (magnitude, holds%, a deficit size) can hold heterogeneous causes — a single label… | PROPOSED | S2 | `archive:L502` |
| 39 | confirm-a-named-cause-by-swap-in (don't assert from identification) | When you NAME the true reference / config / cause behind an anomaly, don't assert the fix from the identification — swap the… | PROPOSED | S2? | `archive:L503` |
| 40 | method-class-vs-calibration | When a metric/gate fails to separate two cases, ask whether it is mis-CALIBRATED or structurally BLIND to the distinction — no… | PROPOSED | S2? | `archive:L511` |
| 41 | positive-test-at-the-enforcement-path over a negative-grep (bypass /… | For any "can X be bypassed?" / "is this gate skippable?" property, a negative grep proves the absence of a STRING, not the… | PROPOSED | S2 | `archive:L527` |
| 42 | Symmetria §3 flag / ladder: "closable-now" is itself a claim to check | The jurist named it a standing habit: the closable-vs-blocked partition on a work-list must be reviewed, not asserted — the named… | PROPOSED | S2? | `archive:L535` |
| 43 | ladder: reconcile against the AUTHORITATIVE source before any "closed… | Before claiming a block/scope closed or complete, reconcile against the authoritative source (the roadmap stage-1-rebuild-plan §4… | PROPOSED | S2? | `archive:L545` |
| 44 | governed spec-supersession procedure | Landing a ratified spec version is: cp live→-vNEW.md → bounded Edits (never retype) → diff shows ONLY intended altered lines +… | PROPOSED | S2 | `archive:L551` |
| 45 | verification-ladder / Symmetria §3: assert-"X is in Y" → read Y | A factual claim's grounding must reach the file that HOLDS the fact, not one that merely describes it. Earned hard 2026-07-17… | PROPOSED | S2? | `archive:L552` |
| 46 | implementation-is-a-second-gate | A text passed by reading is re-tested by having to act on it — the jurist's own minting, after their 07-16 miss surfaced at build… | PROPOSED | S2? | `archive:L560` |
| 47 | sandbox-must-pin-the-shared-module | When a test sandboxes module-level state (paths/constants), the patch must land on the SAME module object the code-under-test… | PROPOSED | S2? | `archive:L568` |
| 48 | census-the-substrate-when-a-safety-net-stays-silent | A safety net (generic fallback, fail-loud branch, unrecognized kind) that never fires across N real cases is UNINFORMATIVE, not… | PROPOSED | S2 | `archive:L569` |
| 49 | re-anchor = re-verify: reconstruct the old bound state by sha-match | When re-anchoring any sha-bound artifact after an upstream edit: reconstruct the OLD bound state from git by matching the… | PROPOSED | S2 | `archive:L597` |
| 50 | implement-the-relation-not-an-approximation | When code implements a RULED relation/contract (an equivalence relation, a gate criterion), the acceptance path must BE the… | PROPOSED | S2 | `archive:L605` |
| 51 | seam-probe the artifact (gates test claims; probes test joins) | The night's two REAL defects (empty footnote defs from per-spine -f html; defs-after-index swallowed by the trim) were invisible… | PROPOSED | S2 | `archive:L613` |
| 52 | cmp-after-apply (tool-report ≠ write-decision) | stripcruft --apply prints its transform counts BEFORE the write decision; three distinct refusal causes in one night (residual… | PROPOSED | S2 | `archive:L614` |
| 53 | Amendment-process: reassigned-component check | Jurist-minted in the REVIEWED-72 ruling: "when a change reassigns a named component, check what else names it." F4 moved the born… | PROPOSED | S2? | `archive:L631` |
| 54 | reference-verification-ladder.md | "The parser defines the census." When a census counts items, the item-definition is itself a claim requiring its own control… | PROPOSED | S2 | `archive:L652` |
| 55 | A | Strongly earned — three instances in one session. Every substantive vignette defect was found by rendering the artifact and… | PROPOSED | S2 | `register:L231` |
| 56 | C | New method, proven today. Building Phase 1a produced nine findings about where the vignette spec fails to determine its output… | PROPOSED | S2 | `register:L233` |
| 57 | verification ladder | A suspiciously UNIFORM offset is a constant masquerading as a measurement. A forward-window locator reports the window START, not… | PROPOSED | S2 | `register:L256` |
| 58 | verification ladder | Pre-register the expected effect BEFORE building the change. fidelityequivalence@3's effect was filed in the jurist package as 3… | PROPOSED | S2 | `register:L257` |
| 59 | verification ladder | Run the counterfactual before attributing a cause. Before claiming X causes Y, remove X and measure Y — where that is cheap and… | PROPOSED | S2 | `register:L274` |
| 60 | verification ladder | 2026-08-06. The drainer exits 1 on a halted run; piped through tail, the harness recorded exit 0. A signal that existed was… | PROPOSED | S2 | `register:L276` |
| 61 | verification ladder | 2026-08-07, four times in one session and not once by reading: 769 unreachable drawers (455 + 314, two unrelated causes), 2… | PROPOSED | S2 | `register:L297` |
| 62 | verification ladder | 2026-08-07. Front-matter re-anchoring: nonsense keys correctly failed, so the control passed — while apatternlanguage silently… | PROPOSED | S2 | `register:L299` |
| 63 | verification ladder | Never pin a derived total in a test; assert the invariant — and never let a test depend on a corpus accident. byname == 256 went… | PROPOSED | S2 | `register:L300` |
| # | Skill / instrument | Kind | One-line | Status |
|---|---|---|---|---|
| A | **verification-ladder: render-and-LOOK outranks the check suite for any rendered output** | ladder entry | **Strongly earned — three instances in one session.** Every substantive vignette defect was found by rendering the artifact and looking; *none* by the mechanical checks, which were good checks and all passed: a field colour bound to a class no element carried (Layer 3's whole mode mapping would have inherited the panel's ink and looked correct); a hand-rolled palette violating §III's sacred-palette clause, collapsing dark-mode contrast; interval clearings reading as smudges. The general shape: **an instrument can certify a property of the *code* while the claim being made is about the *result*.** For visual/rendered work the gate is the render, and the check suite is necessary-not-sufficient. Kin to `measure-toolchain-before-spec`, one level over. | PROPOSED |
| B | **`/measure-render` — RE-REINFORCED (5th+ instance)** | create skill | Headless-Chrome capture used again today, and this time it was *decisive* rather than diagnostic: the screenshots are what exposed the dark-mode contrast collapse and the interval smudges. Previously proposed 2026-06-09, reinforced 06-09 pm, 06-11. The pattern is now: build → emit → shoot → **read the PNG back and look at it**, which is a step a skill should carry because it is the step most easily skipped. | PROPOSED |
| C | **Implementing a spec is a spec-audit instrument — the under-determination census** | ladder entry OR skill | New method, proven today. Building Phase 1a produced **nine findings** about where the vignette spec fails to determine its output — none findable by *reading* the spec, because from inside an implementation a silence does not feel like a decision, it feels like the obvious reading. Output shape: per finding, *what the spec says · what it under-determines · how the implementation silently resolved it*. Deliverable committed at `docs/AldineXXI-Codex/drafts/vignette-spec-under-determination-census-2026-08-02.md` as the worked exemplar. Warrant is in the spec's own Part II: *"if the visual result doesn't work, the spec needs revision before proceeding."* | PROPOSED |
| D | **Symmetria §3 flag: applying a doctrine where it does not govern** | Symmetria §3 flag | Steward-caught today. Asked whether to send a spec to Fable, the executor reached for Constraint 6's independence framing and attached a corroboration caveat — but it was a **design** task, not a checking task, so independence never arose and the caveat was empty. The flag: **before invoking a governing principle, name the question-type it governs and check the task is that type.** A live maxim applied off-domain is the decorative failure `~/CLAUDE.md` asks us to flag, and it *feels* like rigour from inside. | PROPOSED |
## symmetria-flag (33)
**Applied at this wrap under the §1.6 FIX lane** (mechanical repo-CLAUDE.md freshness; classification test: changes neither executor latitude nor a governed artifact's assertion — it removes a claim the substrate contradicts; hard floor not engaged, no open item's visibility reduced): ARC `CLAUDE.md` asset-structure listed `js/ # JavaScript (theme toggle)`; the directory **does not exist** and the toggle was retired with the JS pipeline at Stage M (2026-06-01). Replaced with a note recording the retirement. Indexed in `skill-harvest-fix-lane-index.md`.
Stroke 1 (2026-07-19) consolidated four flags into the skill and explicitly did NOT promote a named list. Rows here need a per-row check against Symmetria §3 as it now stands before they are treated as open.
| # | Item | Gist | Status | Stroke | Source |
|---|------|------|--------|--------|--------|
| 1 | Symmetria §3 flag: theorize-before-measuring-a-layout | The drift this caught, as a standing flag: a causal story about why a layout renders as it does, asserted before the rendered box… | PROPOSED | S1? | `archive:L137` |
| 2 | check-for-governed-tooling-before-building | Before hand-rolling infrastructure (a PDF preamble, a build script, a template), grep the repo for an existing governed version.… | PROPOSED | S1? | `archive:L154` |
| 3 | Symmetria §3 flag: inherited-marker-read-as-current-state | A status/marker inherited from a RECORD (a selector-index entry, a tracker line, a "-pending" file, a prior framing) asserted as… | PROPOSED | S1? | `archive:L166` |
| 4 | Symmetria §3 flag: census-through-a-pattern | A filter/regex used to count or partition a set can silently mis-match and the count reads as authoritative. Today grep -iE 'LOG'… | PROPOSED | S1? | `archive:L194` |
| 5 | Symmetria §3 flag: solve-the-constraint-by-discarding-the-value | A "fix" that satisfies a stated constraint by removing the thing the constraint was protecting is contamination shape — it… | PROPOSED | S1? | `archive:L202` |
| 6 | Symmetria §3 flag: assert presence/absence from a fuzzy matcher, not the… | A presence/absence claim produced by a fuzzy/token matcher (filename tokens, embeddings, author-surname overlap) treated as fact… | PROPOSED | S1? | `archive:L211` |
| 7 | Symmetria §3 flag: probe-confirms-hypothesis | A query/test I constructed to match my hypothesis, whose result I then read as confirming the hypothesis rather than testing… | PROPOSED | S1? | `archive:L272` |
| 8 | Symmetria §3 flag: diagnose-inference/latency-without-isolating-the-exact… | The load-bearing harvest. When a network/inference call is slow, the FIRST test must be the isolated one: stop the competing load… | PROPOSED | S1? | `archive:L281` |
| 9 | Symmetria §3 flag: reinvent-governed-DESIGN-without-reading-the-spec | Proposed PENDING-41 (consumer-hardware graceful degradation) as a novel architectural direction when local-inference-spec 43L/43M… | PROPOSED | S1? | `archive:L282` |
| 10 | Symmetria §3 flag: finding-scoped-to-one-condition restated as… | A result true under a specific condition, restated as an unconditional rule, is contamination shape. Caught 2026-06-28: the… | PROPOSED | S1? | `archive:L309` |
| 11 | Symmetria §3 flag: tool-creep-into-substrate (name genome-or-phenotype… | A convenience tool proposed for one job silently becoming the durable substrate (the source of truth) is contamination shape — it… | PROPOSED | S1? | `archive:L319` |
| 12 | Symmetria §3 flag: graduated-with-a-flagged-gap-instead-of-resolved | Letting "honestly flagged" substitute for "resolved" — shipping a known-incomplete text because the hole is marked. Contamination… | PROPOSED | S1? | `archive:L329` |
| 13 | Symmetria §3 flag: re-derived-instructions-instead-of-citing-the-governed… | Wrote agents hand-made instructions (and invented fields) instead of pointing them at conversion-runbook.yaml/the spec — the… | PROPOSED | S1? | `archive:L330` |
| 14 | Symmetria §3 flag: reassuring-verb-before-verifying-the-mechanism | Reaching for a comforting characterization ("self-healed", "fine", "recovered", "handled") before verifying the actual mechanism… | PROPOSED | S1? | `archive:L411` |
| 15 | classify a change by MECHANISM, not by how big it feels | Reflexively labeled the recognizer generalization "PROPOSAL" because it felt large; the jurist's own FIX/PROPOSAL test (does it… | PROPOSED | S1? | `archive:L452` |
| 16 | Symmetria §3 flag: lost-the-forest-in-a-long-execution-arc | A long, productive execution session that costs the whole-program altitude is contamination shape (composition-over-consideration… | PROPOSED | S1? | `archive:L465` |
| 17 | check-the-register-before-a-substantial-build | Before starting substantial INFRA/tool building (a converter, a pipeline, a substrate), read the tooling-register + landscape… | PROPOSED | S1? | `archive:L471` |
| 18 | Symmetria §3 flag: a check proven for one tier/case is NOT proven for… | Reusing a verification method across a boundary it wasn't demonstrated on is contamination shape — the V-TEXT k-gram coverage… | PROPOSED | S1? | `archive:L484` |
| 19 | Symmetria §3 flag: soft-classification-where-a-checkable-claim-was-available | Shipping a soft label ("this is reordering", "magnitude unresolved", "apparatus") when a CHECKABLE claim (a reportable number, a… | PROPOSED | S1? | `archive:L494` |
| 20 | Symmetria §3 flag: answer-from-training-before-checking-the-banked-record | Answering an architecture/tooling/citation question — or proposing a tool/approach — from training memory before grepping the… | PROPOSED | S1? | `archive:L519` |
| 21 | Symmetria §3 flag: convert-a-steward-state-into-a-process-weakening | A proposal that converts an observed steward STATE (fatigue, "has carried a lot," being busy) into a weakening of the review… | PROPOSED | S1? | `archive:L528` |
| 22 | grounding-quoted-but-not-traced | The hook enforces QUOTING the ratified sections; this session proved quoting ≠ tracing: the coordinate-contract package quoted… | PROPOSED | S1? | `archive:L581` |
| 23 | Symmetria §3 flag: record-asserts-applied-before-the-act | A session record (Addendum, brief, tracker line) composed AHEAD of its acts and asserting APPLIED/DONE is contamination shape… | PROPOSED | S1? | `archive:L589` |
| 24 | /symmetria §3 | Add the contamination flag: "an instrument whose evidence is the same kind of thing as its own source." A text search cannot… | PROPOSED | S1? | `archive:L658` |
| 25 | /wake-up | Read the day's own Symmetria ledger when one exists for today. The wake reads MEMORY.md + the session file + the KG, but never… | PROPOSED | S1? | `archive:L681` |
| 26 | symmetria §4 (ledger template) | Add a standing ## What held section — instruments that fired prospectively, lessons that transferred to a failure class they were… | PROPOSED | S1? | `archive:L702` |
| 27 | symmetria §2 / /wrap-up §1 | Retire the self-report framing of the standing question. The 2026-07-29 literal question — "is there any instrument I built… | PROPOSED | S1? | `archive:L705` |
| 28 | D | Steward-caught today. Asked whether to send a spec to Fable, the executor reached for Constraint 6's independence framing and… | PROPOSED | S1? | `register:L234` |
| 29 | Symmetria §3 flag: the-fix-for-an-overclaim-is-an-overclaim-candidate | When you repair an overclaim, the replacement inherits the frame that produced the original. Replacing the engine's "genuine… | PROPOSED | S1? | `register:L247` |
| 30 | Widen assert-from-derivation-not-substrate with the null-result case | A null from an instrument you have not positive-controlled is a fact about your instrument, not about the world. Probed… | PROPOSED | S1? | `register:L248` |
| 31 | /wake-up §4 | Do not print the Symmetria line unless Symmetria was invoked. This wake's briefing ended "Symmetria active. Practice of return… | PROPOSED | S1? | `register:L258` |
| 32 | Symmetria §3 flag | A record asserting that a control is ABSENT is load-bearing, and must be verified like any other claim — it is the note that… | PROPOSED | S1? | `register:L275` |
| 33 | Symmetria §3 flag | 2026-08-07, 3 of 3 new checkers: the R0 validator failed six healthy sources and the tempting repair was editing the reading… | PROPOSED | S1? | `register:L298` |
## patch (28)
Skill/instrument patches. Each needs a ruling.
| # | Item | Gist | Status | Stroke | Source |
|---|------|------|--------|--------|--------|
| 1 | /wrap-up §5 | Palace-fully-derived, part 1: mirror every kgadd/kginvalidate made at wrap into the session memory file (one line each), so KG… | PROPOSED | — | `archive:L100` |
| 2 | /wake-up (new step or §2 check) | Wake canary: seconds-cheap probe at wake — every MEMORY.md pointer + [[link]] resolves to an existing memory file; flag dead… | PROPOSED | — | `archive:L102` |
| 3 | spec↔spec coherence dimension | The 2026-06-10 audit found §I.f-class contradictions — the measure (38→27.2rem) un-propagated across silence-and-rhythm/apparatus… | PROPOSED | S3 | `archive:L152` |
| 4 | /wake-up patch — surface the why when the thread touches the engine's… | When the active workstream is studium-engine / The Making / ARC-as-public-proof (the engine's reason-for-being), /wake-up should… | PROPOSED | — | `archive:L262` |
| 5 | /wrap-up §4.a | The §4.a drawer-filing step instructs passing tags: to mempalaceadddrawer — the tool rejects it (MCP error -32602: Unknown… | PROPOSED | — | `archive:L349` |
| 6 | Chamber graduation: build to the constitution, not to a legacy canonical | Steward-corrected 2× this session: "we cannot use the extant canon as precedent." The extant canon is a pre-constitution/pre… | PROPOSED | — | `archive:L632` |
| 7 | chamber-library CLAUDE.md — integration-test-gap discipline | Add to §Load-bearing disciplines: "The fleet has UNIT tests (testtools, per-tool fixtures) but NO integration test — nothing runs… | PROPOSED | — | `archive:L640` |
| 8 | /wake-up §2.c–2.d | Consume the SessionStart digest instead of recomputing it. wake-digest.py now fires at every SessionStart and already emits… | PROPOSED | — | `archive:L650` |
| 9 | /wake-up §2.a | Fix the link-resolution canary's path handling — resolve pointers against the memory file's physical directory… | PROPOSED | — | `archive:L651` |
| 10 | /wrap-up §6 / §6.5 | Verify that every file a commit message names is actually staged, and that steward-authored edits are committed — not just… | PROPOSED | — | `archive:L659` |
| 11 | /wake-up §2.a | (Re-proposing, third firing.) Link-canary path resolution — root cause now precise, not merely reproduced: the memory dir's… | PROPOSED | — | `archive:L661` |
| 12 | /jurist-package | Require a mechanical verbatim-containment proof over every quoted clause, reported in the package. The skill already says "Quote… | PROPOSED | S3 | `archive:L682` |
| 13 | /jurist-package | Mandate a mechanical verbatim-containment proof over every quoted passage, with a positive AND negative control, as a required… | PROPOSED | S3 | `archive:L692` |
| 14 | /jurist-package | Formatting convention: ratified text = > blockquote; PROPOSED text = fenced block, never a blockquote. The containment checker… | PROPOSED | S3 | `archive:L693` |
| 15 | /wake-up §3 (Next move) | Before executing an inherited resumption point, grep the substrate for whether its premise is already settled. Today's inherited… | PROPOSED | — | `archive:L694` |
| 16 | /wrap-up §5 (KG append) | Add a prevention predicate — {subject: <banked lesson>, predicate: "prevention", object: <the failure it stopped, and where>}.… | PROPOSED | — | `archive:L703` |
| 17 | /wake-up §2.b.2 | Surface one prevention alongside the drift-patterns. Currently the wake greps only drift-pattern, so the session opens by re… | PROPOSED | — | `archive:L704` |
| 18 | wake-digest.py | The wake instrument silently hides open items. secpending() drops a PENDING-N whenever a REVIEWED-N exists — matching the number… | PROPOSED | — | `register:L222` |
| 19 | normalizeocr.py (chamber fleet) | Silent degradation with no disclosure. dictstate reports only the static word list, so a --lang fr run with wordfreq absent falls… | PROPOSED | — | `register:L223` |
| 20 | /jurist-package | Filing is not sending, and the skill has no step that distinguishes them. The 2026-08-01 ESCALATE doctrine package sat filed-and… | PROPOSED | S3 | `register:L224` |
| 21 | /jurist-package | Require the mechanical containment proof the skill's own discipline implies. The skill states quote, never paraphrase but carries… | PROPOSED | S3 | `register:L225` |
| 22 | /jurist-package | Require reading the clauses ADJACENT to every quote, and stating in the package that you did. Strongly earned and jurist-caught… | PROPOSED | S3 | `register:L255` |
| 23 | governance-mcp / doc-access generally | A document whose head is superseded must disclose that at the point of access. The chamber constitution's first ~330 lines are… | PROPOSED | — | `register:L259` |
| 24 | /jurist-package | When a quoted source cannot be mechanically containment-checked (PDF, image, external URL, anything the prover cannot read), the… | PROPOSED | S3 | `register:L265` |
| 25 | /wake-up §1 | When the wake digest reports a state that contradicts another line of the same digest, name the contradiction as unreconciled… | PROPOSED | — | `register:L266` |
| 26 | /wrap-up §1 | A tracker with two update surfaces drifts between them. When updating a canonical tracker, append to its chronological log, not… | PROPOSED | — | `register:L277` |
| 27 | /wake-up + general | 2026-08-06. Was one keystroke from asking the steward to invent questions for the corpus, while corpus/chavruta-ground-truth.yaml… | PROPOSED | — | `register:L278` |
| 28 | /jurist-package | 2026-08-07. The amendment was pasted OVER REVIEWED-87's original entry; the amendment's own Amends: REVIEWED-87 then pointed at a… | PROPOSED | S3 | `register:L296` |
## skill-create (13)
New skills. Stroke 3 ruled several by name (S3).
| # | Item | Gist | Status | Stroke | Source |
|---|------|------|--------|--------|--------|
| 1 | bmf-diagnose | Today WAS that need and the method is proven+fresh: process sample → log pattern census (uniq -c histogram) → SIGUSR1→CDP CPU… | PROPOSED | S3 | `archive:L94` |
| 2 | /version-essay | The ADR-005 essay-versioning procedure, derived from essay-versioning-specification.md this session: when a published essay gets… | PROPOSED | S3 | `archive:L250` |
| 3 | /graduate-chamber-source (the /convert- family the runbook already plans) | Codify the now-PROVEN OCR→canonical→graduation pipeline as a single governed discipline, so the next source (Alexander 1–4, then… | PROPOSED | S3 | `archive:L290` |
| 4 | /graduate-chamber-source (already PROPOSED 06-26/27) | Now carries the full EPUB path (structurefromncx→insertchapterheadings→cleanpandochtmlresidue, used when repairepubheadings… | PROPOSED | S3 | `archive:L307` |
| 5 | /graduate-chamber-source (proposed 06-26/27/28) | The empirical spec is complete AND the rail it needs now exists (graduation-spec.yaml + verifygraduation.py + graduate-tool… | PROPOSED | S3 | `archive:L327` |
| 6 | /spec-amendment (the RFC-supersession amendment process) | The now-RATIFIED chamber amendment process as a codified discipline: normative spec change = a superseding version (Obsoletes… | PROPOSED | S3 | `archive:L339` |
| 7 | CLAUDE.md staleness canary (git tripwire) | If the scripts/ set or graduation-spec.yaml changed but CLAUDE.md didn't since, flag "may be stale." Bounded, low-false-positive… | PROPOSED | — | `archive:L381` |
| 8 | /reconcile-open-work (program forest-view register) | The practice proven twice now (ARC open-work register, then the whole Chamber→Gold→Engine register today): when tracking has… | PROPOSED | S3 | `archive:L462` |
| 9 | /jurist-package (create) | Draft a self-contained jurist package for a repo-blind reviewer: inline the ratified spec clauses verbatim (jurist gates the… | PROPOSED | S3 | `archive:L544` |
| 10 | /glyph-map-source | Per-source character-as-image glyph-mapping — the repeatable procedure built + proven on Levi this session (REVIEWED-70/v2.5.0)… | PROPOSED | — | `archive:L623` |
| 11 | /fool | Build WHEN STABLE, not now. The differently-formed-checker trial protocol, derived twice this session: withhold the ruling; pre… | PROPOSED | — | `register:L221` |
| 12 | B | Headless-Chrome capture used again today, and this time it was decisive rather than diagnostic: the screenshots are what exposed… | PROPOSED | S3 | `register:L232` |
| 13 | /census — the pre-registered instrument census | Strongly earned: two runs, ten days apart, both productive, and in BOTH the pre-registration caught a reversal the run would… | PROPOSED | — | `register:L246` |
## feedback-memory (9)
Proposed feedback memories.
| # | Item | Gist | Status | Stroke | Source |
|---|------|------|--------|--------|--------|
| 1 | /wake-up §2.b | Until upstream #1665 closes: wake searches run unscoped + post-filter by wing (wing-scoped mempalacesearch errors at HEAD).… | PROPOSED | — | `archive:L101` |
| 2 | ARC build has NO autoprefixer — hand-write -webkit- prefixes | ARC's plain-sass build adds no vendor prefixes. When introducing a new CSS property, check Safari's prefix need and hand-write… | PROPOSED | — | `archive:L145` |
| 3 | Justification-judgment bar = Bringhurst even-colour/rivers, NOT Rutter… | Load-bearing for the future justification decision: when living with the soft rag to judge whether to justify, ask "is the colour… | PROPOSED | — | `archive:L146` |
| 4 | container-must-embody-the-contained | When producing an ARTIFACT of a spec (a PDF of the spec, a rendered sample), set it per the spec's OWN rules and verify the… | PROPOSED | — | `archive:L153` |
| 5 | clean cruft at the SOURCE layer, not as a downstream transform | When a source carries conversion cruft (EPUB footnote-links, image-scan embeds), clean it at the SOURCE — producing a new… | PROPOSED | — | `archive:L185` |
| 6 | /wrap-up §4.b/§5 | Inline reminder at the KG-write step: kgadd object hard-caps at 128 chars — write short keyword objects on the FIRST pass (detail… | PROPOSED | — | `archive:L235` |
| 7 | studium-engine tool-evolution-log | Establish the analog of chamber-library/curation/tool-evolution-log.md for the engine tools (patternfinder, ingestgate, chunker… | PROPOSED | — | `archive:L242` |
| 8 | draft governance entries copy-paste-CLEAN | When drafting PENDING/REVIEWED entries for the steward to place, format them as clean copy-paste-ready blocks with plain ##… | PROPOSED | — | `archive:L534` |
| 9 | /wake-up patch — a tracker marked THE GOVERNING FRAME is read ENTIRE, not… | Earned at a measured cost of ten days. MEMORY.md carries "[Chamber as versioned releases] — THE GOVERNING FRAME for all library… | PROPOSED | — | `register:L249` |
## other (8)
Notes, tool promotions, and rows that resist bucketing.
| # | Item | Gist | Status | Stroke | Source |
|---|------|------|--------|--------|--------|
| 1 | /graduate-chamber-source (already PROPOSED 06-26) | Its empirical spec is now the full ocrmac column-aware pipeline, not the olmOCR one: render→ocrmac(per-line bbox/conf)→column… | PROPOSED | S3 | `archive:L298` |
| 2 | 2 research sweeps owed (not skills — project tasks) | The engine's signature capabilities are greenfield: (1) genealogy/temporal/citation-graph/KG-augmented/diachronic-NLP; (2) multi… | UNMARKED | — | `archive:L301` |
| 3 | /spec-amendment (proposed 2026-07-03, DEFERRED-until-first-use) | The 2026-07-03/04 v2.0 drafting IS its first real exercise — the empirical spec now exists. Codify the proven procedure so the… | PROPOSED | S3 | `archive:L348` |
| 4 | /model-handoff (premium-model scope-charter) | Used tonight end-to-end: produced studium-engine/docs/stage-1-replan-scope-charter-2026-07-05.md on Opus (§0 discipline / §1… | PROPOSED | S3 | `archive:L358` |
| 5 | /model-handoff (proposed 2026-06-12; reinforced 07-04 eve) | Tonight was the first time the pattern ran END-TO-END as designed: fresh Fable-5 session woke into the scope-charter, read only… | PROPOSED | S3 | `archive:L366` |
| 6 | /model-handoff (premium-model scope charter) | Proposed 2026-06-12; this session built a full scope charter with the discipline (charter-on-Opus → Fable spends premium tokens… | PROPOSED | S3 | `archive:L420` |
| 7 | convertlaneborndigital.py → fleet promotion | The one-door born-digital lane driver (whole-EPUB inject → whole-EPUB pandoc -f epub -t markdown-smart + non-empty-defs teeth)… | PROPOSED | — | `archive:L615` |
| 8 | ~/dotfiles/scripts/ | Promote the union-losslessness verifier to verify-union-lossless.py <baseline> <part>... — asserts baseline ⊆ union of parts at… | PROPOSED | — | `archive:L660` |
**Noticed, not fixed (needs steward/jurist — vignette Phase 4 scope):** `vignette-specification.md` Part II Phase 4 prescribes moving `assets/js/glyphs/` to `assets/js/glyphs-archived/`; that tree no longer exists, so part of the quarantine phase is already moot. And `AldineXXI-specification.md` §IX still says genomes are *"Generated by a local model via Ollama"*, which the companion superseded (Part II, *Engine evolution*). Both recorded in the under-determination census; §IX is sealed-spec.
---
## New proposals (2026-08-04 evening wrap — census 02 + the engine's first questions)
## New proposals (2026-08-07 evening wrap — retrieval is set by home; awaiting steward)
| Element | Kind | One-line | Where it lands | Status |
|---|---|---|---|---|
| **`/census` — the pre-registered instrument census** | **create** | **Strongly earned: two runs, ten days apart, both productive, and in BOTH the pre-registration caught a reversal the run would otherwise have banked comfortably.** Method: pre-register question + unit of census + the test applied + numbered predictions *with confidences* + a discrimination condition (what result would mean the census discriminated nothing) + stopping rule → run entire, no sampling → **grade the predictions**. Census 01's lenience clause converted a pleasant miss into the real finding; census 02's condition forced the "both buckets populated" check and its prediction-5 inversion *was* the result. Also carries the two-axis discipline (engagement vs record) that kept "it works" and "we can tell it works" from collapsing. | new `/census` skill | PROPOSED |
| **Symmetria §3 flag: `the-fix-for-an-overclaim-is-an-overclaim-candidate`** | Symmetria §3 flag | When you repair an overclaim, **the replacement inherits the frame that produced the original.** Replacing the engine's *"genuine silence, not a gap"* with *"the index is complete and current"* reproduced the identical defect one size down — "complete" is true of document coverage and unverified of query-matching, and a reader without that distinction collapses the two exactly as the engine did. Caught by the jurist, not by me. **Re-reading a replacement as a stranger is a separate act from writing it**, and it is the act that gets skipped because the repair feels like the careful part. | Symmetria §3 | PROPOSED |
| **Widen `assert-from-derivation-not-substrate` with the null-result case** | Symmetria §3 patch | A **null** from an instrument you have not positive-controlled is a fact about your instrument, not about the world. Probed `resolve_archived_source` with *engine* `source_id`s against the *chamber's* `canonical_slug` key space; got `None` three times **including the nonsense control** — which should have been the tell — and was one sentence from reporting a healthy 349/349 resolver dead. The existing flag covers asserting *presence* from a derived form; it does not name **asserting absence from an un-controlled probe**, which is the more seductive half because a null feels like an observation rather than a claim. | Symmetria §3 (widen the existing consolidated flag) | PROPOSED |
| **`/wake-up` patch — a tracker marked THE GOVERNING FRAME is read ENTIRE, not as its pointer** | patch | **Earned at a measured cost of ten days.** `MEMORY.md` carries *"[Chamber as versioned releases] — **THE GOVERNING FRAME for all library work.** Scope every library bite through this"* — and the file itself held the resolution to the paralysis the steward named at this wrap (*purpose choice and corpus scope are ONE decision, not sequential*), written 2026-07-28 and unopened since. The index entry cannot carry a reframe; only the file can. Proposal: where a tracker line declares itself governing, `/wake-up` opens the file rather than trusting the one-liner — the same logic as the telos-conditional already wired in §2.a. Kin to `feedback-resurface-banked-notes-before-rederiving`, one level up: not *re-deriving* a banked note but *never opening* it. | `/wake-up` §2.a | PROPOSED |
*First batch filed under the REVIEWED-95 firing-moment gate. Each declares where and when it fires; the gate's own test is whether that declaration changes the routing — and for #191 it did, moving it off a 14% home onto an 83% one.*
## New proposals (2026-08-05 wrap — the quoted-tier measurement; awaiting steward)
| # | Target | Kind | Proposal | **Firing moment (declared)** | Earned by | Status |
|---|---|---|---|---|---|---|
| 190 | Symmetria §3 | new flag | **An elegant discriminator that explains the data is not thereby licensed to act on it.** When a rule accounts for nearly all of a set, the pull to skip the per-item look is strongest exactly when the rule feels cleanest. Before executing a classification across many items, read the items the rule is about to dispose of. | **`/symmetria check`**, before any bulk move/delete/reclassification. Symmetria was invoked **56/64 sessions**, so §3 is a genuine high-retrieval home — routed here rather than to a skill. | 2026-08-07. symlink-vs-real-dir explained 61 of 63 skills and was about to be executed wholesale; it was wrong for the 2 that were the steward's own (`french-typography-pass`, `spec-code-audit`). 97% right, and the 3% were what mattered. | PROPOSED |
| 191 | `feedback-tool-review-after-each-use.md` | **patch** (extend an existing memory, not a new entry) | Add: **census where an instrument LOOKS versus where the thing it hunts actually lives.** A detector that is correct everywhere it looks, and does not look where the quarry is, reports clean forever. | **After each tool run** — the parent rule's existing moment. Lives in `MEMORY.md` (**83%** reach) rather than the ladder (**14%**), *because the gate asked*: as a standalone ladder entry it would have been filed at one-sixth the retrieval. | 2026-08-07. `governance-drift-check.py`'s deferral scan globbed only `*/docs/**/*.md`, so `claude/governance/` — where governance packages live — was invisible to it. Found by *using* the instrument to wire PENDING-112's falsifier, not by reading it. | PROPOSED |
| Target | Kind | Proposal | Earned by | PROPOSED? |
|---|---|---|---|---|
| `/jurist-package` | patch | **Require reading the clauses ADJACENT to every quote, and stating in the package that you did.** Strongly earned and jurist-caught: PENDING-99's Grounding quoted §II.3 verbatim, passed containment 16/16 with 9/9 controls absent — and omitted the sentence *one line later* (*"What remains genuinely open… the marker's exact syntax"*) that dissolved the whole question. It was in the executor's own read output. **A containment proof passes an omission every time, because nothing is misquoted.** The limit is now written into `check_containment.py`'s docstring; the *procedural* half belongs in the skill. Add to the Grounding step: quote the clause, read its neighbours, and record "adjacent clauses read" beside the containment line. | 2026-08-05, jurist-caught on first substrate access | PROPOSED |
| verification ladder | new entry | **A suspiciously UNIFORM offset is a constant masquerading as a measurement.** A forward-window locator reports the window START, not the match location — so it returns the window size as an offset. Shipped twice in one session (Δ−30, then Δ−25) before the definition was fixed; the truth was Δ−1. The tell was not a failing test — no test covered it — but that the number was identical across every hit. Sibling of `count-first-then-look`. Rule: when an offset/delta is constant across independent items, suspect the instrument before the data. | 2026-08-05, twice in one session | PROPOSED |
| verification ladder | new entry | **Pre-register the expected effect BEFORE building the change.** `fidelity_equivalence@3`'s effect was filed in the jurist package as 3/17→6/17 before any code existed; the post-build measurement returned exactly 6/17. Had the number been computed first and reported second, a partially-correct implementation would have been indistinguishable from a correct one, because whatever it produced would have become the claim. The census pre-registration discipline, transferred from audits to code changes. | 2026-08-05, applied and held | PROPOSED |
| `/wake-up` §4 | patch **[candidate FIX]** | **Do not print the Symmetria line unless Symmetria was invoked.** This wake's briefing ended *"Symmetria active. Practice of return foregrounded"* and Symmetria was never invoked; no ledger exists for the day. The claim was output, not act — the decorative-maxim failure `~/CLAUDE.md` asks be flagged, occurring inside the instrument whose job is to foreground the practice. Either invoke in the same step that prints the line, or print what is true. **Classified PROPOSED not FIX**: it changes what the executor must DO at wake, not only what it records, so the two-clause test routes it to the loop. | 2026-08-05, self-caught at wrap | PROPOSED |
| `governance-mcp` / doc-access generally | patch | **A document whose head is superseded must disclose that at the point of access.** The chamber constitution's first ~330 lines are obsoleted version headers; a default `limit=400` read lands entirely inside them. Granting access without disclosure would have *caused* the misruling the access exists to prevent. Handled here by putting the warning in the key's own description plus a negative control proving the trap is real. Generalize: any enumerated document whose operative content does not start at line 1 carries the offset in its description. | 2026-08-05, caught while building PENDING-86 (a) | PROPOSED |
**Classification:** both `[PROPOSAL]`, neither FIX-lane — each changes what the executor must do before acting (the latitude clause of the two-clause test). **No FIX-lane changes were applied this session.** The `/wake-up`, `/wrap-up` and `governance-drift-check.py` edits were all implementations of REVIEWED-95, not self-tending.
## New proposals (2026-08-05 evening wrap — the PENDING-101 research pass; awaiting steward)
| # | Target | Kind | Proposal | Earned by | Status |
|---|--------|------|----------|-----------|--------|
| 178 | `/jurist-package` | patch | **When a quoted source cannot be mechanically containment-checked (PDF, image, external URL, anything the prover cannot read), the package MUST declare the gap explicitly, name the quotations it covers, and give per-quote locators so the jurist can demand the original.** Today's package rests its most consequential finding (Part II) entirely on eight quotations from a PDF that `check_containment.py` cannot read — so the load-bearing quotes carry *no* mechanical proof while the incidental ones carry 17/17. I declared this voluntarily; the skill does not require it, and the next package may not. | 2026-08-05 — INC-2026-07-28-01 package. The asymmetry is the point: containment silently covers what is easy to check and not what decides. | PROPOSED |
| 179 | `/wake-up` §1 | patch | **When the wake digest reports a state that contradicts another line of the same digest, name the contradiction as unreconciled rather than choosing a reading.** Today's digest reported *"PREVIOUS SESSION DID NOT WRAP (ended ~Aug 04 19:43)"* alongside *"Last wrap: 1 min ago"*. Both cannot describe one session; the digest could report the fact and not reconcile it. I named it, but nothing in the skill required that, and the tempting move — silently picking the reading that fits — is the failure. | 2026-08-05 wake. Also the observable surface of PENDING-104 (concurrent sessions, no detector), so the patch is cheap evidence-gathering for a filed finding. | PROPOSED |
**Classification note:** both are `[PROPOSAL]`, not FIX-lane. #178 changes what a governed artifact (a jurist package) must assert — the assertion clause of the two-clause test. #179 is borderline (it *adds* visibility rather than narrowing it, so the hard floor is not hit), but the lane is provisional and the skill's own instruction is *when in doubt, propose*.
## New proposals (2026-08-06 wrap — the note that said it could not happen; awaiting steward)
| # | Target | Kind | Proposal | Earned by | Status |
|---|--------|------|----------|-----------|--------|
| 180 | verification ladder | new entry | **Run the counterfactual before attributing a cause.** Before claiming X causes Y, remove X and measure Y — where that is cheap and available. Not "is the mechanism plausible" but "does the effect survive the cause's removal." | 2026-08-06. Attributed a 3.11 s hook tax to a 10,485-item backlog and "fixed" it by parking the queue. Latency after: **3.11 s, unchanged.** One command would have refuted it before the claim. | PROPOSED |
| 181 | Symmetria §3 flag | new flag | **A record asserting that a control is ABSENT is load-bearing, and must be verified like any other claim — it is the note that stops future checking.** Sibling of `comments-promising-behavior`, but inverted and more dangerous: a doc that *overstates* a gate invites scrutiny; a doc that *denies* one closes the question. | 2026-08-06. `project-L1-reliability.md:45` said "⚠ No KeepAlive"; the plist has carried `KeepAlive{SuccessfulExit:false}` since 2026-03-07. The 08-04 kill therefore restarted BMF; it ran 1 d 20 h and **neither party looked, because the record said it could not happen.** | PROPOSED |
| 182 | verification ladder | new entry | **A piped command masks its exit code.** `script \| tail` returns `tail`'s status. When a script's exit code carries the verdict, do not pipe it — or read `PIPESTATUS`. | 2026-08-06. The drainer exits 1 on a halted run; piped through `tail`, the harness recorded **exit 0**. A signal that existed was discarded — the day's own theme, in the invocation. | PROPOSED |
| 183 | `/wrap-up` §1 | patch | **A tracker with two update surfaces drifts between them.** When updating a canonical tracker, append to its **chronological log**, not only its "Current state" section — or state explicitly that no substantive move occurred. | 2026-08-06. `project-L1-reliability.md` had **no 2026-08-04 entry** in its log, though 08-04 produced PENDING-92/93/94 and the session's central finding. Only "Current state" was touched. Found two days later, by accident. | PROPOSED |
| 184 | `/wake-up` + general | patch | **Before asking the steward to supply inputs, check whether the repo already holds them.** One level past `resurface-banked-notes-before-rederiving`: not re-deriving a banked *note* but re-sourcing banked *material*. | 2026-08-06. Was one keystroke from asking the steward to invent questions for the corpus, while `corpus/chavruta-ground-truth.yaml` held **27 real queries with audited answers** from his own hand-run chavruta. The steward caught it with four words. | PROPOSED |
**Classification note:** all five `[PROPOSAL]`, none FIX-lane. 180/181/182 add ladder/flag entries but each changes what the executor must *do* before asserting (the latitude clause). 183/184 change skill procedure. Lane is provisional; when in doubt, propose.
## 2026-08-06 evening — three verification-ladder entries (PROPOSED; queue with the Stroke-2 batch)
*No skill created, patched or retired this session. The steward re-explained nothing a skill could have carried — what he supplied was domain knowledge from a printed book, which no skill can hold. Recording that as the honest outcome rather than manufacturing a change.*
- **`a-better-than-baseline-result-earns-the-same-scrutiny-as-a-worse-one`** — the parse fix turned B11 from "returned citations" into a correct decline, which looked like the fix *removing* a false positive. Chasing why (re-running `git HEAD`'s own code) showed the improvement was not real: B11 had always declined, and yesterday's measurement doc had recorded it wrongly, along with "0 empties — the warrant machinery was never exercised." A result that flatters the change is a claim like any other. **Earned 2026-08-06; it corrected a filed measurement and regraded a pre-registered prediction from UNTESTED.**
- **`read-the-consumer-before-editing-a-declarative-field`** — kin to the banked `read-the-gate's-decision-code-before-designing-its-consumer`, one level over: before changing a *declaration* (`sidecar: none-yet`), read what branches on it. Doing so converted a wrong claim ("N1 would skip two sources" — false; `chunker.load_sidecar()` reads the file and ignores the field) into the real finding: `ingest_gate.py:142` only fires "required but absent" when the declaration says `required`, so the stale value is a **disarmed tripwire** — harmless while the files exist, silent the moment one is deleted. **Census-01's decay-not-construction finding, instantiated.**
- **`census-by-content-volume-not-by-marker-count`** — "240 patterns have ≥3 chunks between headings" did not establish 240 pattern *bodies*; an index or TOC produces the same signal. Re-measured by characters per span (median 4,810, zero stubs) it did. Counting markers answers a question about markup; counting content answers the question asked. **Earned twice in one exchange** — the same slip underlay reading a usage note as a bibliographic claim.
## New proposals (2026-08-07 wrap — the count found what the read did not; awaiting steward)
| # | Target | Kind | Proposal | Earned by | PROPOSED? |
|---|---|---|---|---|---|
| 185 | `/jurist-package` | patch **[strongly earned — cost a governance record]** | **Every placement draft MUST carry an explicit anchor line: *insert above/below this exact existing line; replace nothing*.** A block headed `## REVIEWED-87 — AMENDMENT 2026-08-07` and described as "the block to place" reads as a replacement heading, and the steward's reading of it was the reasonable one. | 2026-08-07. The amendment was pasted OVER REVIEWED-87's original entry; the amendment's own `**Amends:** REVIEWED-87` then pointed at a record no longer in the file. Recovered from git; the register entry uniquely held Q2's reframing, Q3 REJECTED + basis, Q5 CONCUR, and the finding that "the decisive sentence was one the executor had read and not surfaced". A detector now exists (drift-check 8) but the *cause* was the handoff format. | PROPOSED |
| 186 | verification ladder | new entry | **Compare the count to the source-of-truth count.** For any derived collection, assert `len(derived) == len(authority)` before believing it is a view rather than a sample. | 2026-08-07, **four times in one session and not once by reading**: 769 unreachable drawers (455 + 314, two unrelated causes), 2 clauses lost in the MEMORY.md trim, 3-of-253 adapter divergence, and each partition's drawer delta. Every one invisible to careful reading of the same code. | PROPOSED |
| 187 | Symmetria §3 flag | new flag | **FAIL-BUT-FALSELY — a freshly-built checker reporting a failure may be reporting its OWN fault.** Look at *what* it flags, not *how many*. Worse than PASS-BUT-FALSELY because a false failure prompts action **on the data**. | 2026-08-07, **3 of 3 new checkers**: the R0 validator failed six healthy sources and the tempting repair was editing the reading indices to satisfy it (a §V Tier-3 violation via an instrument bug); the name-matcher gave 2 wrong answers of 5 *while its positive control passed*; the link canary's 11 "dead pointers" were 9 regex artifacts. | PROPOSED |
| 188 | verification ladder | new entry | **A positive control that tests only ABSENCE cannot catch MIS-RESOLUTION.** Where a check resolves *which* item, the control must include a near-miss that should resolve differently — not only a nonsense input that should resolve to nothing. | 2026-08-07. Front-matter re-anchoring: nonsense keys correctly failed, so the control passed — while `a_pattern_language` silently resolved to the repeated title block (L15) instead of the essay (L102), and `choosing_a_language` failed on a longer heading. Fixed by conjoining name + heading level + containment + declared order, with a reversed-order control that fails 4/4. | PROPOSED |
| 189 | verification ladder | new entry | **Never pin a derived total in a test; assert the invariant — and never let a test depend on a corpus accident.** `by_name == 256` went red on legitimate growth. Separately, the no-sidecar-fallback test leaned on one source *happening* to lack a sidecar; giving it one removed the last such source, so the path whose absence cost 314 unreachable drawers became unexercised — **silently**. Drive the code path directly and report an honest skip. | 2026-08-07, both within one hour of each other. | PROPOSED |
**Reinforcement, not a new filing:** "a mention is not a retrieval — count the access, never the name" is the existing `census-by-mechanism-not-proxy` rule, hit again (the ladder read as 53/64 by filename mention; 9/64 by actual tool-call access, because `MEMORY.md`'s pointer line contains the filename and loads every wake). Recorded in the KG; no register row, because the rule already exists and already fires.