Files
dotfiles/claude/memory/MEMORY.md
T
David F GliddenandClaude Opus 5 7ca1540182 memory: supersede the 'verify by eye' clause, and name the case where the remedy is the cause
The copy-paste-clean note told me to verify a draft parses as intended BY EYE.
Today's instance 6 is the counterexample: two leading spaces before a ## render
as a flawless heading and parse as nothing. By eye is exactly what cannot catch
it. Superseded by exact-string comparison with a negative control.

And the note's own remedy — the fenced block — is what added the indentation. It
stays right for entries and is wrong for whitespace-only repairs, which should go
over as a command that never touches the paste path.

Amendment joined rather than rewritten, so the original stays visible.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01T1i5VRfHjD79hfaXjWsBXA
2026-09-10 19:35:40 +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.
  • A dated measurement is not a status — a claim true when written reads later as present tense, and nothing marks the difference. Re-measure a dated finding BEFORE ruling on it. ⚠ Read the whole block, not the field you came for — Awaiting: is where the eye goes and the last thing anyone updates; Status:/superseded lines sit above it and win. Five instances in two days, four of them self-falsifying in the same item further down.
  • 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.
  • Read at the grain it was produced at — correct numbers and correct text, read at a grain other than the one they were produced at. Two kinds: population mismatch (catchable by asking what a number counts over) and parser-vs-reader mismatch (renders correctly, parses as nothing — not catchable by reading at all). ⚠ Don't let the second vanish into the first. Run a check, don't read harder — over four instances in one sitting reading caught none, exact-string + negative control caught all four.
  • 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 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 at governance-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 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 — fenced, paste-ready blocks for entries; ⚠ AMENDED 2026-09-10: a COMMAND for whitespace/line-anchored REPAIRS (a fenced block is what adds the indentation), and verify by exact-string check with a negative control — the 'by eye' clause is SUPERSEDED. A ## with two leading spaces renders perfectly and parses as nothing.
  • 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; read it, this line holds no state. ✅ fr cell CLOSED 2026-09-06 (steward act, 346d8e8) — the one-shot ratio is SPENT; DO NOT DERIVE AGAIN. Bare ratio_A_to_B retired; ..._grounded_spans: "1:7" is the historical population, ..._grounded_instances: "1:9" equals the retired VOID figure under a DIFFERENT population — the trap. ⚠ Against §6.2's A:B ≈ 1:1 the inherited fr gold DOES NOT MEET THE RULE; what follows is NOT decided. ⚠⚠ CARRIED HERE BECAUSE A QUALIFIER INSIDE A CLOSED ENTRY IS READ AS HISTORICAL: every "verified by reading" claim in the fr cell rests on ONE READER (REVIEWED-121 pt 8) — the pass, its 2026-09-05 replication, and the ratio enumerations. The replication does NOT discharge it: same party, twice. It lifts when a second reader reads, and not before. ⚠ CLOSED ≠ SETTLED — doctrine never fired · defeater never able to fire · 73-span citation-safety exposure untouched; the cell entry carries the full open list.
  • 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.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; 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

🔑 THE UNIT OF THE MEASUREMENT IS NOT THE UNIT OF THE CLAIM. A number produced over one population, read as answering a question about another, with nothing in the record marking the substitution. Three substrates in one sitting: the rejection timestamp (child-completion, read as tick time — this killed judgment 2); my own verification predicates, 3× (per-line where the unit was per-paragraph; per-file where it was per-entry); and PENDING-168's count, whose unit is formally deferred. The register names the governance case (CLASS E) and has no name for the measurement case. Yesterday's thread was authority-without-a-ruling; this is the layer beneath. ✅ DONE 2026-09-09 night — REVIEWED-137 placed (3d340f6), the four PENDING-169 §5 judgments. Presence ANSWERED (occupied on a per-machine clock, occupancy uncorrelated with the work). Fidelity retrospective UNANSWERABLE · condition-G instrument DESIGNED, NOT AUTHORIZED · wrap cost answered, wrap cap UNANSWERABLE. Plus 049ca57 [FIX] + e611bee addendum. 🔥 THE FINDING THAT DISPLACED THE QUESTION: the 14-word pile-up and the tick→terminal lag are ONE phenomenon — 44 of 50 pile-up-day rejections unattributable vs 1 of 52 elsewhere, no exceptions either direction over 14 days. So every cap argument rests on a confounded base, the attended split is VOID, and 08-31 kills the W1/W2 framing — it toggles. Mechanism UNKNOWN. ⚠ log_rejection timestamps at write time, so the banked per-day series is binned by child-completion on exactly the five days that matter — and the corpus that could check it is gone. ⛔ CONDITION G STILL STANDS. REJECT_LOGGING_ENABLED = False, re-verified unchanged at 3d45e3a. tick_id is the field to add — named by two failures, not designed. 📌 JURIST: THREE closures in the direction requiring no further work, the third inside the sitting where the executor flagged the first two. Live for PENDING-89 + Constraint 6. ⚠ The repaired self-planting mechanism is NOT whole — source_has/source_lacks cover the assertion, not the file; prose can plant the needle (I did it, in the comment explaining the bug). REVIEWED-137 §6 declares it verified. ⛔ N-now owed at every wake with its split — re-measure, never relay. 30-day review 2026-09-16, joint -178/-179 same date.

  • Session 2026-09-09 night — the unit of the measurement — the verdicts sitting. Four judgments, two answered and two recorded UNANSWERABLE with reasons — the more valuable half. Presence: per-machine clock, idle panes take the draws, tick starvation leaves no trace. 0 of 89 into mumbles was FALSE and I certified it structural — Stop fires for claude -p. Then the steward released PENDING-180's fix: census found exactly one self-planted needle, source_has built, mutation-verified — and I re-planted the bug in the comment explaining it. PULLING: the unit of the measurement is not the unit of the claim. FIRST MOVE: draft the item list from the carry list in 01. Daily/2026-09-09.md.

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.