The 2026-09-03 repair plan rested on one claim: that human_turns() is an
existing, controlled discriminator, and wiring it into four transcript
consumer sites was plumbing rather than classifier-building.
Tested against ground truth taken from the fool's own prompt text — not from
the function under test — the claim is false. 24 known mumbles, 41 known
non-mumbles, out of 65 transcripts:
must-detect 22/24 two mumbles read as human-attended
must-not-flag 35/41 and one "failure" is correct — b7e7eb39 is the
unattended session of 2026-08-31, which genuinely
has no human turn
human_turns() == 0 never meant "mumble". It means "nobody spoke", which is
equally true of an unattended real session. A mumble embeds the previous
session's text and so inherits its slash-command markers; it is excluded
only when the session it quoted happened to contain one. The two leaks are
exactly the two marker-free mumbles. Coincidence, not design.
No repair was made at any site, and no replacement discriminator was built.
Three controls passed and a fourth broke: all three test the question the
function was built for, none could see the question it was being reused for.
A successor written now inherits whatever made the first set look sufficient.
Also here, per the 2026-09-03 handover:
- step 0 preservation ran: 76 transcripts, read-back PASS, 11 of them
already pruned at source and surviving only in the archive
- gate 2b: the composition claim in PENDING-178 stands (11 mumbles,
~a fifth, on 08-31). Two terms do not close and are reported as an open
disagreement, not a correction — the reconstruction is a demonstrated
lower bound and -178 enumerated live
- gate 2c: five sites in four files; -178's [HARDENING] scope holds
- MEMORY.md record-only arithmetic correction: N-now 44 -> 65 measured,
composition 41 real + 24 mumble added, direction reversed (it is rising,
not shedding), stale :331 pointer corrected to :513
Filed as an item rather than a PENDING-178 addendum on PENDING-145's
mechanism: a ruling claims a number, so an addendum would be suppressed the
moment -178 is ruled. The undecided filing moratorium is disclosed inside
the item.
governance-drift-check.py:513 excluded on receipt and not examined.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01X3L79vgAnt1x2kxvf23Qt7
22 KiB
name, metadata, permalink
| name | metadata | permalink | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
claude-memory/memory |
Claude Code Memory
Standing preferences
Entries keep their rule inline when they fire at a moment I would not recognize as needing a lookup; they shrink to a pointer when the trigger is loud enough that I'd open the file anyway. A ⚠ constraint always travels with the workaround it limits.
Rules that fire silently — keep these in front of me
- Fowler's rules for quotation — single quotes primary, double for nested, logical British punctuation order. All writing.
- Canadian spelling in ARC prose — centre/colour ("almost EU"). Draft all steward-voiced prose this way; corpus "center" = autocorrect drift (cleanup open).
- Close thoroughly — no frequent deferrals — frequent deferrals ARE how the cloud accumulated. Close ALL of a block that's closable-now; for the rest, name the specific dependency.
- Shorter, concentrated sessions — ONE tightly-scoped high-leverage bite taken all the way, then wrap; hold the rest as ranked horizons.
- Constitution-as-block, then pull-based corpus — finish the constitution as one block FIRST, then corpus-into-spec pulled by what each engine phase needs. Bounded question → bounded answer; keep open-thread count LOW.
- Removing a claim ≠ removing the reliance — cutting an unsupported sentence can hide the gap; the dependency survives, now invisible. Test: does the conclusion still need it?
- Derive the rule from the consumer, not the survivor — choosing between two disagreeing implementations is selection, not derivation. Derive from what a CONSUMER must do.
- Rank on fields you actually write — a consumer ranking by an evaluative field nothing populates degrades to trivial order while claiming to rank. Verify scoring fields end-to-end; prefer signals already captured.
- The central path — answerability, not purity — the contamination recursion is probably irresolvable, so bind the claims, don't certify the parties. Route by claim-type: checkable → produce the check + a falsifier; judgment → disclose standpoint in one line, decide, record; undecidable → name it open. One layer, then act — never audit the audit.
- Notes are part of the work — footnotes/endnotes are integral: KEEP+CONVERT (
<sup><a>→[^N]), never drop on graduation. - One-shot instruments are proportionate — a measurement answering a question asked once is NOT a directive violation; its counterfactual is an assertion, not a durable tool. The violation is re-writing what's already banked (rule of three → ladder). Too few promoted, not too many built.
- A checkable question over a self-authored corpus — counting events in a record I wrote is self-report with extra steps. Before leaving any question: who authored the corpus it reads, and would a different author have written it differently? Narrow until it turns on what entries literally say.
- Grounding finds my errors, not my support — three packages running, every omission cut AGAINST my own case. Ground in TWO passes: (1) what did I get wrong? (2) what already says this? Search the register for the CONCLUSION, not just the citations. ⚠ Quote from the FILE, never from the relayed message — placement adds and cuts.
- A null search is evidence about the query — a search that finds nothing is a fact about the QUERY until the query is proven able to find the thing; and acting on a handle (filename, regex, path) without inspecting the referent is the same error reversed. ⚠ Never report "you don't have X" from a name search. Four instances, two sessions, 2026-08-31.
- Resurface banked notes before re-deriving · Checkable claim surfaces bugs · Census by mechanism, not proxy · Completion is a tripwire · Trust prior pass frame — the five epistemic disciplines. Kernels: read the banked note before re-deriving · a checkable claim over a soft classification is itself a defect-detector · census by RUNNING the real pipeline · the feeling of "done" is the cue to verify the tail · re-run a prior verification at the scope of your extension. ⚠ Also carried as Symmetria §3 flags — two surfaces, deliberately: §3 loads only when Symmetria is invoked, so these stay here for sessions where it isn't.
Loud trigger — pointer suffices
- Chamber work: ground in constitution + charter + runbook FIRST — 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 — Edit/Write refuse to write through a symlink, so edit the real
~/dotfiles/…path when appending —PENDING/REVIEWEDonly. ⚠ 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 — the named instruments; reach for the gate the claim's shape demands instead of re-deriving one. ⚠ FROZEN — REVIEWED-123 (2026-08-17): no additions, rewordings, removals or reorderings, from ANY source, whatever its authorization, until the trial is graded (N-now 65/84, measured 2026-09-03 — and the direction has REVERSED: 52 on 08-31, 65 today, rising fast and rising for the wrong reason. Composition, measured the same day by the fool's own prompt signature: 41 real + 24 mumble (36.9%). The earlier reading here — 44/84, "DOWN 7 from 51", "shedding faster than it gains" — was wrong in the number and backwards in the direction; corrected 2026-09-03 as a record-only arithmetic fix (PENDING-179 gate 2b). The counter is still a 30-day ROLLING WINDOW per PENDING-147, so it can fall; it is not falling now. ⚠ Report the COMPOSITION with the count — a bare 65 reads as 65 sessions and roughly a third is machine chatter (PENDING-178). Re-measure, never relay:
len(glob('~/.claude/projects/-Users-davidglidden/*.jsonl')), the trial's own method atgovernance-drift-check.py:513). Entries earned meanwhile queue in PENDING-141's owed-entries list (4 rows). Reading it is unaffected — that is the point of the freeze. - Skill-harvest register — 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 exactarchive: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. ⚠ THE STROKE-2 BATCH IS AUTHORIZED BUT SHOULD NOT BE EXECUTED YET — PENDING-141. 41 rows stampedS2are authorized (2026-07-19, execution not a ruling) and 22 areS2?(unsettled). BUT appending them triples the ladder from 20 entries WHILE a pre-registered trial is measuring whether the ladder is reached (baseline 14%, graded at 84 transcripts). Ladder size is an uncontrolled variable in that design, so executing the authorized batch would confound the only check behind REVIEWED-95's causal claim. ⚖ RULED — REVIEWED-123 (2026-08-17): AUTHORIZED (a) HOLD, on six conditions, and the freeze is GENERAL rather than S2-specific. Grading does NOT authorize the append — the batch returns for a ruling. Report N-now at every wake until lifted; 30-day review is a liveDEFERRED-DECISION. ⚠ 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 — draft PENDING/REVIEWED blocks as plain fenced markdown; display formatting leaks into the placed record.
- Verify-before-compose hook — chamber constitutional writes are BLOCKED without
<!-- GROUNDED-IN: … -->+ verbatim Grounding. Don't fight the block. - Tool review after each use — 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. - Every canon doc's source lives in Chamber Sources — a canonical's source = whatever
resolve_archived_sourcereturns, never the master library or a path in frontmatter. Read the banked record before calling a mismatch a defect. - Engine sources graduate to the permanent chamber — work added for the engine ALSO becomes permanent collection unless stated otherwise; take it all the way (clean→verify→graduate→catalogue→sidecar). Never leave staged.
- Bulk indexing runs in tranches, gated on READBACK — never one multi-day mine; order by criticality; prove each tranche by reading back, not by write-success (933k drawers once stored fine and were unreadable). Steward rule 2026-05-04, learned on MemPalace, applies now to engine corpus work.
- Studium Engine charter — the engine's constitutional doc. Read before building. · Sixtus-V collaboration — build freely, surface only vision-forks; constraint-candidates = 3rd governed instrument. Studium-engine only.
- CapableHands standing authorization — M4 mini
david@10.0.1.136durably authorized for remote OCR/inference; don't re-ask (steward 2026-07-01). - Steward's notebooks + transcription provenance — three notebooks (Journal I B6-slim · A6 field book · A6 "real life"); provenance cites the NOTEBOOK, not the photo; dates are a red rubber stamp; file under the date RECORDED, arrival is metadata. ⚠ Ask each notebook's own archiving form.
- Typography palace — query via CLI — ~20 type masters at
~/.mempalace/palace-chamber-typography;mempalace --palace <that> search "…". For ARC typography; don't re-ask where it lives. - Steward maps live in ~/dotfiles/maps — a map = an artifact David reads directly to orient. Write to
~/dotfiles/maps/, symlink to Desktop, never straight onto the Desktop. - Plane coordination workflow — CENTRAL to steward↔Seb:
app.plane.so/capablemind, thin effort-tasks[BM #N]over canonical GH issues. ⚠ BBF = BetterBridge product, NOT the board. - MemPalace is an unaffiliated stopgap — third-party; don't conflate with BMF/CapableMind. MemPalace PRs await MemPalace's maintainers, not Seb.
- The maturation of the chamber — a dialogue — the 2026-06-28 exchange on the chamber's telos (fidelity-without-trust; reading-is-unsolvable-is-the-feature). Companion to project-studium-engine-telos-chamber-of-voices.
Canonical Workstream Trackers
Read the tracker for any active workstream at /wake-up before composing the briefing. Append substantive moves at /wrap-up — to the chronological log, not only "current state". Per feedback-canonical-workstream-tracker-discipline.md.
- Chamber as versioned releases — THE GOVERNING FRAME for all library work. The 2000-year Chamber as versioned releases with soft borders, each serving a PURPOSE; scope every library bite through this. Open decision: which purpose anchors V1. Read the file, not this line — it holds the reframe that resolved the purpose/scope paralysis.
- Studium Engine — canonical engine tracker; read it, this line holds no state. fr cell: TWO STEPS FROM CLOSING — PENDING-134's disclosure, then
ratio_A_to_Bre-derived ONCE (REVIEWED-116 pt 5). - Studium engine telos — the chamber of voices — the ultimate goal, above the build plan: the childhood chamber of hero-voices, rebuilt so the counsel is accountably theirs. Why verbatim fidelity is load-bearing.
- The Chamber touchstone — the why — seven questions to test work against when lost in the trees. Read at Step 0 of any chamber work. Holds no state; does not decay.
- The Chamber vision is NOT in one place — it lives in seven sources across two repos + memory. A single home would become an eighth unless it supersedes or points.
- L1 reliability — canonical L1 tracker. BLOCKED ON SEB (PENDING-94); BMF is down and staying down. ⚠ Read the tracker before ANY L1 work — walked past once on 2026-08-03.
- Instrument censuses — have our gates ever fired? — both pre-registered. ⚠ Read before trusting any gate's silence.
- ARC open-work register — the single code-verified source of truth for what is OPEN on ARC. Read THIS for remaining ARC work, not the chronological tracker. · ARC — chronological record; Stage G DONE/SEALED (GPG
ac0a7ee) — reactive mode governs. - Source library — link + dedupe — master ebook library
~/Documents/___The Library [ePub_AWZ3]/(2190 ebooks). GOAL: link chamber↔sources + dedupe; a real link needs EPUB/PDF internal metadata + edition-identity, not filenames. - Sidecar typology — protocol-dependent reading-indexes —
.meta.jsonstructural sidecar = PROTOCOL-NEUTRAL (the graduated bar); reading-indexes = PROTOCOL-DEPENDENT and probably PLURAL — don't design the schema yet. - Character-as-image hazard — EPUBs rendering diacritics as inline images are SILENTLY MUTILATED by image-drop. Mechanism built + wired; per-source glyph-maps still owed. VIEW the glyph; map to SOURCE form.
- Making sequence source set — COMPLETE against the ReadingList (reconciliation-verified). Sourced ≠ ingested. Read before any Making/studium source work.
- Studium = CM's unfettered sandbox — experiment freely on library/engine without risking CM's runtime; breakthroughs transfer back. Steward-framed 2026-07-08.
- Be (laundromat) — Skemantix startup (Seb+David) funding CapableMind's ladder; bridge, not venture. Decisions LOCKED. Pre-revenue WTP gate = renovate Pat → charge her; no new spec until it clears ⇒ nothing for executor on be.
- The Fool — Tarbuckle — THE ACTIVE WORKSTREAM; tracker established 2026-09-03, read it. ⚠ Bones + soul are SEALED — never regenerate. ⚠ Subject matter lives in CapableMind-AI, instruments in dotfiles, and nothing in CapableMind points back.
- Obsidian vault — from archive to practice — canonical vault tracker; holds the four-purpose brief that is now the design brief. ⚠ The vault is NOT a git repo — it mirrors to
~/_Dev/david-root-and-branch-vault-git. - 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
🔴 NEXT SESSION, FIRST WORK — STEWARD-DIRECTED 2026-09-03: "deal with that right away — I need the wake and wrap tools to be reliable." ONE root cause, 4–5 consumer sites: the transcripts dir is a proxy for "a session" and a Tarbuckle mumble is indistinguishable from a session at the file level. Sites:
governance-drift-check.py:513(PENDING-178) ·wake-digest.py:354→previous_transcript(the falseunattendedalarm of 09-01 — diagnosed, code never changed) ·wake-digest.pyselftest_tx[-14:-1](fails every run) ·tarbuckle-invoke.py:40(⚠ SUSPECTED, VERIFY FIRST). 🔑 The discriminator already exists and is controlled —wake-digest.py:932 human_turns(); this is wiring a tested function into 4 call sites, not building a classifier. ⚠ It is[FIX], not[PROPOSAL]— my wrap-time classification was wrong: the control's label already says "a real session", so restoring that population repairs it against its own spec. Does NOT extend to changing what the>=84trigger means — that stays PENDING-178/REVIEWED-123. Write the positive control FIRST. Full census + first steps: ADDENDUM 1 of the session record. 🔑 THE INDEX HAD BECOME THE RECORD.MEMORY.mdbreached its load budget and was being silently truncated at wake — but the cause was not bulk. Five tracker entries had grown into paragraphs, and for three the index was the SOLE custodian of live state: the studium tracker stopped at 2026-08-13 while the index carried engine news to 09-01 · the Fool's only link was a sealed seed, with nowhere legitimate to append · L1's replay mechanism (minCursoris a minimum over 11 modules, two never participate ⇒ pinned at 0 by construction) and completion criterion (uninterrupted run length, not rate) existed nowhere else. All relocated verbatim; Tarbuckle got a tracker. 26,803 → 23,714 (2171d91, both remotes verified). ⚠ PRUNING WOULD HAVE BEEN HARMFUL. The cut took its rule from the file's own Index discipline — trackers are pointers — and so left "Rules that fire silently" untouched: those keep their text inline because they fire when I would not know to look. Cutting the loudest lines would have removed the catches and still left three workstreams undocumented, now deleted rather than truncated. ⚠ THE CANARY WAS CLEAN AND ITS SELFTEST WAS FAILING (86/87). The failing control samples the 13 most recent transcripts; all 13 are Tarbuckle mumbles (~66 KB, one human turn each). PENDING-178's defect at a SECOND site — it will now fail on every run, and a control that always fails is one everyone learns to ignore. The pointer controls, which the trim rests on, all pass. Not filed (moratorium undecided). 📌 HEADROOM IS THIN AND THE MECHANISM IS UNFIXED. Rotation handles the Active Session block; nothing handles slow growth in the tracker list — which is how this breach formed. 📌 STEWARD OWES:~/.claude/agentsunder version control (directed; before anything else edits it) · the moratorium decision ·RE_IDregex[FIX]· PENDING-171 · -177 · -178 · -160 · -168 · the §5 regrade.
- Session 2026-09-03 — the index had become the record — the load-integrity breach diagnosed rather than pruned; three sole-custodian workstreams relocated; Tarbuckle tracker established; the digest selftest found permanently failing on a mumble-only sample. NEXT: the fr cell's last two steps — unchanged.
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 — 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).
Index discipline (self-bounding — keep this file lean)
Wake-loaded live index; hard budget well under the harness load ceiling. Keep to: Standing preferences · Canonical Trackers as one-line pointers (chronological detail lives in the linked tracker files, not here) · Active Session · these pointers. Rotation + budget-breach handling are wired into /wrap-up (demote prior Active Session on promote) and /wake-up (truncated load = flag + trim). Back up before restructuring.
Compaction history relocated to MEMORY-reference.md at the 2026-08-20 wrap — pure history, not wake-critical.