Files
dotfiles/claude/memory/MEMORY.md
T
David F GliddenandClaude Opus 4.8 d734afb59b session 2026-07-17 (afternoon): v2.1.0 landed OPERATIVE; 2b forks ruled by jurist; substrate-drift caught+corrected
Session file + ledger (returns incl. the substrate-drift, jurist ruling) + KG (v2.1.0 fact, 2 drift/calibration lines) + skill-harvest (spec-supersession procedure; assert-X-in-Y→read-Y) + MEMORY.md/reference demote-on-promote.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01E57CJHC6pH4XLqY4SHzJ3H
2026-07-17 21:52:46 +02:00

69 lines
18 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: ''
metadata:
node_type: memory
title: MEMORY
type: note
permalink: claude-memory/memory
originSessionId: 22915403-bc5d-4796-9c7d-196b7c30d2f9
permalink: claude-memory/memory
---
# Claude Code Memory
## Standing preferences
- [CapableHands standing authorization](reference-capablehands-standing-authorization.md) — M4 mini david@10.0.1.136 durably authorized for remote OCR/inference; don't re-ask permission to use it (steward 2026-07-01).
- [Governance files are dotfiles symlinks](reference-governance-files-are-dotfiles-symlinks.md) — `~/PENDING.md`/`~/REVIEWED.md`/`~/CLAUDE.md` → `~/dotfiles/…`; Edit/Write refuse to write through a symlink, so **edit the real dotfiles path** when appending PENDING/REVIEWED.
- [Typography palace — query via CLI](reference-typography-palace-cli.md) — type masters (~20-21 sources) in a dedicated MemPalace at `~/.mempalace/palace-chamber-typography`; query `mempalace --palace <that> search "…"` (CLI). For ARC typography — don't re-ask where it lives.
- [Fowler's rules for quotation](feedback_fowlers_rules_quotation.md) — single quotes primary, double for nested, logical British punctuation order. Apply across all writing.
- [Canadian spelling in ARC prose](feedback-canadian-spelling-arc-prose.md) — centre/colour ("almost EU"); corpus "center" = autocorrect drift (10 files, cleanup open). Draft all steward-voiced prose in Canadian spelling.
- [MemPalace KG object 128-char cap](feedback-mempalace-kg-object-128-char-cap.md) — `kg_add` `object` hard-caps at 128 chars; write KG objects as short keyword phrases on the FIRST pass, detail goes in the drawer. Recurs at every /wrap-up §5 — stop re-deriving it.
- [Rank on fields you actually write](feedback-rank-on-fields-you-actually-write.md) — a consumer that ranks by an evaluative field (importance/weight) nothing populates silently degrades to trivial order while claiming to rank; verify scoring fields end-to-end, prefer signals already captured (recency). For BMF/CapableMind/studium-engine tool-building.
- [Shorter, concentrated sessions](feedback-shorter-concentrated-sessions.md) — steward preference (2026-07-13): shorter but very concentrated — 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](feedback-constitution-as-block-then-pull-based-corpus.md) — steward discipline (2026-07-14): finish the **constitution as one block FIRST**, THEN corpus-into-spec **pulled by what each engine phase needs**. **Bounded question → bounded answer; don't surface N new threads**; keep open-thread count LOW. Above [[feedback-shorter-concentrated-sessions]].
- [Close thoroughly — no frequent deferrals](feedback-close-thoroughly-no-frequent-deferrals.md) — steward directive (2026-07-16): **frequent deferrals ARE how the cloud accumulated**; close ALL of a block that's closable-now; distinguish closable-now vs genuinely-blocked (**name the specific dependency**, never a vague defer). Completeness complement to [[feedback-constitution-as-block-then-pull-based-corpus]].
- [Checkable claim surfaces bugs](feedback-checkable-claim-surfaces-bugs.md) — insisting on a checkable claim (number, substrate-fact, discriminating test) over a soft classification repeatedly EXPOSES a real bug; the demand for verifiability is itself a defect-detector. Steward-named 2026-07-13. (Caught F-5 + the "finally" overclaim, 2026-07-17.)
- [Completion is a tripwire](feedback-completion-is-a-tripwire.md) — the *feeling* of "done" is the cue to verify the tail (census/gate/scan-check), not the signal to ship; the last 10% is invisible from inside the first 90%. Ninety-Ninety as a security property (steward 2026-07-06).
- [Studium Engine charter](reference-studium-engine-architectural-charter.md) — the engine's constitutional doc (`studium-engine/docs/the-studium-engine-architectural-charter.md`): reasoner-at-centre over a BOUNDED provenanced corpus; three cognitions; boundedness=trust. Read before building the engine.
- [Studium Engine = Sixtus-V craftsman collaboration](feedback-studium-engine-sixtus-v-collaboration.md) — work the ground freely (I build, surface only vision-forks); **constraint-candidates** = 3rd governed instrument (I name, steward applies). Studium-engine only; heavier loop for L1/L2.
- [Trust prior pass frame](feedback-trust-prior-pass-frame.md) — When extending a prior verification, re-run it at the scope of the extension. Frame-inheritance from a deep-read is contamination shape: the prior pass tested what it tested; your extension claims things it did not test. Caught 2026-05-28 → four-pass audit. Verify-before-compose at draft time, not build time.
- [Verify each post type after changes](feedback-verify-each-post-type-after-changes.md) — ARC: after any shared CSS/template/composition change, check EVERY content type on BOTH desktop and phone, not a sample on one viewport. Lesson from §II.d gate verified phone-only → desktop appearance surfaced 2 sessions late (no regression; just unseen). Per-type×per-viewport extension of [[trust-prior-pass-frame]]; belongs in the SCSS verification ladder.
- [Reading Compass is SVG, not type](feedback-reading-compass-is-svg-not-type.md) — ARC Compass sigils are SVG `<symbol>` artwork, NOT Plex Sans / nav typeface / Pattern 3. Recurring conflation; steward corrected 2026-06-03. Plex-Sans nav *text* = breadcrumb + version-stamp + post-type only.
- [MemPalace is an unaffiliated stopgap](mempalace-is-unaffiliated-stopgap.md) — MemPalace is third-party; steward/Seb build BMF/CapableMind (hoped to replace it). Don't conflate them (3rd steward correction 2026-06-05 — the conflation even reached a skill name and was retracted); MemPalace PRs await MemPalace's maintainers, NOT Seb.
- [MemPalace wing-filter broken](feedback-mempalace-wing-filter-broken.md) — wing-scoped search → 'Error finding id' (upstream #1665, open at HEAD); search UNSCOPED + post-filter by wing. Don't run `repair` (#1589). Affects wake-up §2.b.3.
- [Skill-harvest register](skill-harvest-register.md) — **canonical home for proposed skills** awaiting steward authorization (the governed analog of PENDING.md for our tooling). Review history + current statuses in the file.
- [Verification ladder](reference-verification-ladder.md) — the named instruments (byte-identical compile gate, delta classification, censused-routes, fresh-clone gate, measure-toolchain-before-spec…); reach for the gate the claim's shape demands instead of re-deriving.
- [Plane coordination workflow](reference-plane-coordination-workflow.md) — CENTRAL to steward↔Seb (est. 2026-06-02): `app.plane.so/capablemind`, thin effort-tasks `[BM #N]` over canonical GH issues. ⚠ BBF = BetterBridge *product*, NOT the board. Plane MCP OAuth (`ToolSearch select:mcp__plane__*`); `create_work_item` needs `description_html`. Detail in file.
- [Resurface banked notes before re-deriving](feedback-resurface-banked-notes-before-rederiving.md) — when an idea was already captured (runbook known_gaps, skill-harvest, prior note), READ the note before re-deriving; re-derivation drifts (page-numbers mis-recalled as provenance vs structure-scaffolding, steward re-corrected 2026-06-27). The engine's own purpose, turned on my practice.
- [Verify-before-compose hook](feedback-verify-before-compose-hook.md) — chamber-library constitutional writes (spec · graduation-spec · *amendment*/*FOR-JURIST*/*JURIST-PACKAGE*) are BLOCKED by a PreToolUse hook unless they carry `<!-- GROUNDED-IN: … -->` + a Grounding section quoting the ratified sections. The action-time enforcement the prose lessons ([[feedback-resurface-banked-notes-before-rederiving]]) lacked; don't fight the block. Steward-directed 2026-07-17 after the re-derived-from-training failure recurred on #2.
- [Tool review after each use](feedback-tool-review-after-each-use.md) — steward directive (2026-06-16): review every tool we built after each run (success OR failure), capture what it taught, iterate until reliable; PASS-BUT-FALSELY is the priority signal. Log at `chamber-library/_curation/tool-evolution-log.md`. Proven same day (audit_cruft hardening → 160 hidden-dirty files surfaced).
- [Engine sources graduate to the permanent chamber](feedback-engine-sources-become-permanent-chamber-collection.md) — steward policy (2026-06-28): any work added for the engine ALSO becomes permanent chamber collection unless expressly stated; take it ALL the way (clean→verify→graduate→catalogue→sidecar); never leave staged. The chamber accumulates. ⇒ all ~30 Making sources graduate in.
- [Notes are part of the work](feedback-notes-are-part-of-the-work-keep-footnotes-endnotes.md) — steward directive (2026-06-28): footnotes/endnotes are integral — KEEP+CONVERT them (`<sup><a>`→`[^N]`), never drop on graduation. (Caught dropping Taylor's endnotes — wrong.)
- [The maturation of the chamber — a dialogue](../../../../../_Dev/studium-engine/docs/the-maturation-of-the-chamber-a-dialogue-2026-06-28.md) — the pivotal 2026-06-28 exchange on the chamber's telos (fidelity-without-trust; reading-is-unsolvable-is-the-feature; L2/engine=answerable-not-pure). 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. Per `feedback-canonical-workstream-tracker-discipline.md`.*
- [MemPalace wind-down](project-mempalace-winddown.md) — DONE (steward 2026-07-07): `palace-memory` wound down, wake/wrap rewired to the files layer; KG exported (`knowledge-graph.jsonl`). Typography palace KEPT (separate instance).
- [ARC open-work register](project-arc-open-work-register.md) — **the single code-verified source of truth for what is OPEN on ARC** (post-Stage-G, built 2026-06-11). Read THIS for remaining ARC work (A1 Vignette, A2 cul-de-lampe, content sweeps, Phase-2/held set, REVIEWED-placement debt), not the chronological tracker.
- [ARC](project-arc-rework.md) — canonical ARC workstream tracker (chronological record 2026-04-16 →). **Status: STAGE G DONE/SEALED (GPG `ac0a7ee`, 2026-06-10) — reactive mode governs.** Open work → [[project-arc-open-work-register]] (A1 Vignette · A2 cul-de-lampe · content sweeps · Phase-2 held set). Chronological detail in the tracker file.
- Chamber-typography — *tracker not yet established*; substantive moves live in per-session memories (2026-05-11 onward) + `project-chamber-cruft-restoration.md` + `project-chamber-typography-mining-plan-2026-05-15.md`.
- [ARC chamber v1-legacy cluster](project-arc-chamber-v1-legacy-cluster.md) — ARC's `content/chamber/**` is intentional v1-Chamber legacy (not drift); deferred to-do = gather into a presentable cluster as a record of development. Out of §5 clause-1 audit scope. Confirmed 2026-05-29.
- [Studium engine telos — the chamber of voices](project-studium-engine-telos-chamber-of-voices.md) — **the ultimate goal, above the build plan**: David's childhood chamber of hero-voices → discourse with his library + voices conversing, this time *accountably* (v1 was eloquent/unaccountable; same ambition built grounded/citable). Why verbatim fidelity is load-bearing.
- [Studium = CM's unfettered sandbox](project-studium-cm-sandbox-and-transfer.md) — Studium/chamber are personal projects Seb now sees as fundamental to CM; experiment freely on the library/engine without risking CM's runtime, breakthroughs transfer back (V2 verifier = live example). Steward-framed 2026-07-08.
- [Making sequence source set](project-making-sequence-source-set.md) — **COMPLETE against the ReadingList as of 2026-06-18** (reconciliation-verified); census of what's sourced where, sourced≠ingested (only Pos I in manifest), the **Handke-German decision** (original is source), the Levi drop-cap gate. Read before any Making/studium source work.
- [Source library — link + dedupe](project-source-library-link-and-dedupe.md) — steward's master ebook library = `~/Documents/___The Library [ePub_AWZ3]/` (2190 ebooks, messy nested). GOAL: link chamber↔sources (provenance index) + dedupe; real link needs EPUB/PDF internal metadata + edition-identity, not filenames. Detail + seed in file.
- [Character-as-image hazard](feedback-character-as-image-hazard.md) — some EPUBs render diacritics/non-Latin script as INLINE IMAGES; the standard image-drop SILENTLY MUTILATES them (PASS-BUT-FALSELY). Tripwire = audit_cruft md_image count; INSPECT before dropping; character-bearing images = CONTENT (map→Unicode). (Alter's Psalms parked pending a glyph-map.)
- [Sidecar typology — protocol-dependent reading-indexes](project-sidecar-typology-protocol-dependent.md) — TWO layers: `.meta.json` structural sidecar = PROTOCOL-NEUTRAL (the graduated bar); reading-indexes (rich YAML) = PROTOCOL-DEPENDENT, probably PLURAL — **don't design the schema yet**; settle corpus to gold, let protocols declare themselves. Steward 2026-06-29.
- Studium Engine — *no tracker file yet*; moves in per-session memories + the **[architectural charter](reference-studium-engine-architectural-charter.md)**. Steps 0–7 built; corpus CLEAN. **Stage-1 rebuild plan** (`studium-engine/docs/stage-1-rebuild-plan-2026-07-05.md`): V0+N0 ruled → V1→V4 / N1→N3 (V0 jurist-gated). Collaboration = [[feedback-studium-engine-sixtus-v-collaboration]].
- [L1 reliability](project-L1-reliability.md) — canonical L1 tracker (est. 2026-05-28). Latest: N6 deploy #175 live+holds; CapableHands-as-BMF-clasp = PRIORITY (PENDING-41). L1 behind the Studium/chamber focus. Read the tracker before L1 work.
- [Be (laundromat)](project-be-laundromat.md) — canonical Be tracker (est. 2026-06-08). Be = Skemantix startup (Seb+David) funding CapableMind's ladder; **bridge, not venture**. Decisions LOCKED (entity/pricing/infra in file); a11y gate MERGED. **Pre-revenue WTP gate = renovate Pat → charge her; discipline: no new spec until it clears → nothing for executor on be.** Repo @ `f43a0fd`.
## Active Session
- [Session 2026-07-17 (afternoon) — v2.1.0 OPERATIVE; B diagnosed, forks to jurist](session-2026-07-17-v2.1.0-landed-operative-2b-forks-to-jurist.md) — **A CLOSED + PROMOTED: the constitution is now v2.1.0 OPERATIVE** (`6fd3593`; v2.0.2 frozen `-v2.0.2.md`). Drafted the atomic supersession by **copy-then-bounded-edit** (v2.0.2 byte-preserved; diff = 8 intended alterations; landed #2/A3/#4/#5/F-5), landed declared-data (graduation-spec `licence` axis+vocab; sidecar `citation_coverage[]` via additive/FIX lane), committed+pushed **both remotes**, promoted to live. **B BEGUN by diagnosis:** oriented vs the substrate (PENDING-58 operative text · `graduate_to_canonical` wiring point · `build_loeb_sidecar` producer), surfaced **two forks to the jurist** (`docs/2b-sidecar-wiring-two-forks-FOR-JURIST-2026-07-17.md`, `731a086`, sent) — **Fork 1** per-field credit boundary (structural kinds live in `app[]`; the unnamed `list` kind) · **Fork 2** anchors[] post-#2-landing (retain the exact `loeb-line` layer as *produced-without-proof* [my lean **(ii)**] vs omit per literal §3(A); touches the OQ-5 seam). **JURIST RULED both forks mid-wrap** (`docs/2b-two-forks-JURIST-RULING-2026-07-17.md`): **Fork 1** credit {table,glyph,editorial-insertion,unrecognized} + `list` (labelled *produced-with-a-content-edge*); "app[] not produced" = the variant-**ledger**, not the array. **Fork 2** (ii) retain `loeb-line` uncredited — honours the OQ-5 seam's *intent*, but item (f)'s *wording* must be amended. **Two FIX follow-ons surfaced** (both touch just-landed content → own light FIX): **FIX-A** item-(f) seam clarification (**GATES the build**) · **FIX-B** app[] naming-collision (3rd shared-name instance). **⚠ Honest session failure:** wrote "build_loeb_sidecar NOT in test_tools" into the brief from the tool's **stale docstring** (it IS fleet-v1 — 16 refs); trusted a derived artifact over the substrate I'd *quoted*; steward caught the say/do gap → corrected at source ([[feedback-checkable-claim-surfaces-bugs]]: *assert "X in Y" → read Y*). **⚠ PULLING THREAD: execute the ruling** — FIX-A + FIX-B (Session 1, jurist editor-gate) → build the wiring per the rulings (Session 2) → first V-DSL exercise on 6 CLEAN small Loeb (Session 3) → **residual-(b)** → REVIEWED-58. **Tomorrow = 3 sessions (steward-requested, for rigor).** **LITERAL Q: when the first exercise runs, does the per-field-gated wiring earn its keep, or does exercising surface a gap the paper rulings couldn't (a `list` content-edge biting; an unanticipated app[] kind)?** Read the session file at wake.
## 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; the MemPalace `handoffs` glance was retired 2026-07-07 with the wind-down).
## 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. (Compacted 2026-07-17: entries re-slimmed to tight one-liners, 20.5→<17.1KB.)