Files
dotfiles/claude/memory/MEMORY.md
T
David F GliddenandClaude Opus 5 718ba77b61 session 2026-08-26: PENDING-163/164/165 + five amendments; prior-art search built
Session record: the record did not contain the decision.

Filed: PENDING-163 (+3 amendments), PENDING-164 (jurist-drafted, placed verbatim,
+ executor addendum and build record), PENDING-165 (+1 amendment). Rulings
REVIEWED-130 and REVIEWED-131 placed by the steward.

Built: preserve-transcripts.py (PENDING-147 (i), 43 transcripts read-back proved),
two pre-commit fixes, the hook-directory allowlist in governance-drift-check.py,
and prior-art.py + the prior_art MCP tool (PENDING-164 (c)+(d)).

The finding: a steward decision that rewrote seventeen commits of history
(chamber-library 0677e8a, retiring LFS) is absent from the entire authorization
record, so both AI parties independently recommended adopting the mechanism it
retired. governance_search over 313 items returns one hit; grep over the raw files
returns zero before today.

Six self-referential instrument failures and three false zeroes, one of which was
caught before it was believed — and the only reason was that the jurist
pre-specified what the instrument had to return.

MEMORY.md rotated (prior Active Session demoted verbatim, checked for carried
claims first). 6 KG lines incl. one genuine transfer: the 2026-08-25 lesson about
declaring a limit rather than manufacturing a column fired unprompted on a
different instrument in a different item. One skill-harvest proposal, whose subject
is that today's own build ignored the routing table measurement it had open.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NvZAKSf9aqratbqHbU9LK5
2026-08-27 16:25:28 +02:00

23 KiB
Raw Blame History

name, metadata, permalink
name metadata permalink
node_type title type permalink originSessionId modified
memory MEMORY note claude-memory/memory 22915403-bc5d-4796-9c7d-196b7c30d2f9 2026-08-17T13:20:44.481Z
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.
  • 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/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 — 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 51/84 as of 2026-08-25 — up 2 from 49 on 08-24; the counter is a 30-day ROLLING WINDOW per PENDING-147, so it rises and falls as transcripts age in and out. Re-measure, never relay: len(glob('~/.claude/projects/-Users-davidglidden/*.jsonl')), the trial's own method at governance-drift-check.py:331). 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 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. ⚠ THE STROKE-2 BATCH IS AUTHORIZED BUT SHOULD NOT BE EXECUTED YET — PENDING-141. 41 rows stamped S2 are authorized (2026-07-19, execution not a ruling) and 22 are S2? (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 live DEFERRED-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_source returns, 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.136 durably 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. N0–N2 + R0 + voice_stamp built; corpus 14 sources, trilingual, fleet 9 suites / 285. fr cell all but closed — 8 grounded (1 A + 7 B), ratio_A_to_B VOID until PENDING-134 lands. ⚠ PENDING-131 (c) never bound the engine (chunker.py has char_range since Cluster A). NEXT: rule PENDING-134 — last blocker is a steward MCP restart.
  • 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. The replay has never resumed, only restarted (minCursor is a minimum over 11 modules, two never participate ⇒ every start rebuilds from seq 0). Completion is gated by uninterrupted run length, not rate. Recall never worked either (retrieval_count = 0). Read the tracker before ANY L1 work — walked past once on 2026-08-03.
  • Instrument censuses — have our gates ever fired? — census 01 (has each gate a real negative instance? → decay, not construction, is the failure mode) + census 02 (has it fired at all? → the record divides by whether a human invokes it). 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.json structural 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. Bones derived once 2026-08-25 (peak SUCCESSION 96 · dump ABSENCE 8); name + soul sealed, never regenerate (soul). Doctrine = BUDDY-PATTERN-jurist-draft-v2-2026-08-22.md; §8 has no blanks (20 min · frequency UNKNOWN · empty-window consumes · body correlates with nothing). NOTHING WIRED — no statusLine, no script, §13.1 spec unwritten. Trial 09 VOID (REVIEWED-124), void now recorded in all three docs. ⚠ Subject matter lives in CapableMind-AI, instruments in dotfiles, and nothing in CapableMind points back.
  • Obsidian vault — from archive to practice — canonical vault tracker. Read it; it holds the four-purpose brief (steward, 2026-08-24) that is now the design brief. ⚠ The vault is NOT a git repo — it mirrors to ~/_Dev/david-root-and-branch-vault-git. The capture practice STARTED 2026-08-23 (two predecessors died at 3 and 4 entries; the measure is week four, not week one) — ⚠ this line previously read "has not been started", which went stale the day it began, and previously carried "paper bridge working" as state the tracker did not hold. Item 0 is new and steward-owed: photographed pages of physical BOOKS with margin notes — a different object from the three notebooks, untracked until 2026-08-24.
  • 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

🔑 THE RECORD DID NOT CONTAIN THE DECISION — PENDING-164, and it is the day's finding. On 2026-06-05 the steward adopted LFS in chamber-library, retired it, and rewrote seventeen commits to undo it (0677e8a); 400c054 built the per-repo exemption. Neither appears anywhere in PENDING/PENDING-archive/REVIEWED. Twelve weeks later BOTH AI parties independently recommended adopting LFS. governance_search('LFS'): 1 hit, PENDING-163 itself. Grep over raw files: 0 before today. ⚠ The symptom is two parties missing prior art; the disease is that the record does not contain the decision, so only the party with a filesystem could find it — and the jurist has none (repo_activity caps at 100 commits, five weeks short). ✅ BUILT: prior-art.py + prior_art MCP tool (PENDING-164 (c)+(d), REVIEWED-131) — commit-message search across owned repos, no count window, register-mention count beside it. One implementation, two surfaces. On LFS returns 20 commits incl. 0677e8a + 95760ff. ⚠ The positive control FORCED the enumeration to be computed from remotes — copied from REPOS, 95760ff (in dotfiles) was unreachable. Had it existed that morning, one command would have returned the whole refutation. ⚠ THE CENSUS'S SECOND HALF IS NOT MECHANICAL — and the backlog is NOT counted. 661 candidates → 270 narrowed (243 outside dotfiles). Grepping verbs is mechanical; identifying which mechanism a commit decided about is interpretation. Limit declared, not faked (PENDING-151 step 1's shape). 270 unclassified, a few hours of reading, unscheduled and unclaimed. ⚠ SIX SELF-REFERENTIAL INSTRUMENT FAILURES, THREE FALSE ZEROES. git lfs install --local wrote into the global hook dir twice (2nd triggered by measuring LFS) · the whitespace census returned a clean zero having measured nothing (zsh newline splitting) · the new hook-allowlist controls registered AFTER the tally, so a failure would have printed nothing — the check against blind checks, blind to itself · prior-art.py returned zero for everything (find exits 1 on unreadable Library dirs while printing all 37 repos). 🔑 The last was the ONLY false zero caught before it was believed, and the sole reason is that the jurist PRE-SPECIFIED what it must return. The others were luck. The difference is not care. ✅ PENDING-147 (i) DISCHARGED — 43 transcripts, 115 MB, at ~/_Dev/claude-transcript-archive, read-back PASS, re-runnable instrument. ⚠ NOT git-tracked and NOT backed up — no Time Machine destination exists on this machine. Living outside the pruned path is what stopped the clock; git was never the load-bearing part. ⚠ THE HOOK WAS BROKEN TWO WAYS. Line 45 word-split on paths, so a 17 MB file with a space in its name passed the 5 MB ceiling entirely (ecee76b; 10 such files exist and could only have entered through it). And its message recommended LFS, which cannot satisfy it (2408032, jurist-drafted — two edits I would have shipped wrong). PENDING-165: git-lfs launders shims into the governed dir — 066a47a COMMITTED them, tracked four weeks. (d) allowlist + (b) narrow gitignore built; ⚠ my (d) was blind to that very occurrence — the jurist caught it, on my own standard. 📌 STEWARD OWES: move the pre-LFS snapshot to the MemPalace drive (⚠ move, don't migrate export; must carry .git/lfs/objects, 552 obj / 975 MB; 399/399 resolve locally; read back at destination) · place the REVIEWED-129 amendment · rule PENDING-160 · restart Claude Desktop — now also gates prior_art, else the tool built to close the jurist's blindness is built-and-inert · the §5 regrade ruling. ⚠ THE §5 REGRADE GATE WAS THIS SESSION'S INHERITED THREAD AND WAS NEVER TOUCHED. Recorded as untouched rather than quietly dropped.

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.