🔧 Auto-commit from sysupdate on 2026-06-03 21:09

This commit is contained in:
David F Glidden
2026-06-03 21:09:27 +02:00
parent 29b3d43970
commit bc53c94742
14 changed files with 532 additions and 2 deletions
+15
View File
@@ -1,13 +1,16 @@
# Claude Code Memory
## Standing preferences
- [Typography palace — query via CLI](reference-typography-palace-cli.md) — the type masters (Bringhurst/Tschichold/Hochuli/Lupton/Sousa, ~20-21 sources) live in a dedicated MemPalace at `~/.mempalace/palace-chamber-typography`; query with `mempalace --palace <that> search "…"` (CLI, NOT the MCP tools which point at palace-memory). For ARC typography work — 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.
- [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.
- [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; MemPalace PRs await MemPalace's maintainers, NOT Seb.
- [Skill-harvest register](skill-harvest-register.md) — **canonical home for proposed skills** (create/patch/retire) awaiting steward authorization; the governed analog of PENDING.md for our own tooling. `/wrap-up` §1.6 proposes here; steward authorizes; `/wake-up` surfaces open proposals. Check at wake; append at wrap. Open now: `/spec-code-audit`, `bmf-diagnose`, `/arc-typeset`, `/pre-build-audit`, `/vignette` (deferred to Phase 2), Symmetria `trust-prior-pass-frame`.
- [Plane coordination workflow](reference-plane-coordination-workflow.md) — **NOW CENTRAL to the steward↔Seb workflow** (est. 2026-06-02): `app.plane.so/capablemind`, BMF project, thin effort-tasks `[BM #N]` over canonical GH issues (effort-only, no technical detail; labels/priority mirror GH; issue attached as link). Executor keeps task state current as the 6-hour relay. ⚠ BBF = BetterBridge *product*, NOT the board. Plane MCP user-scoped/OAuth; load tools via ToolSearch `select:mcp__plane__*`. `create_work_item` needs `description_html`.
## 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`.*
@@ -18,6 +21,18 @@
- [L1 reliability](project-L1-reliability.md) — canonical workstream tracker established 2026-05-28 (Symmetria-pulse decision). Current state at top + Active umbrella (PENDING-24 six sub-items) + four-findings table + sources of truth + decisions made/deferred + skill-harvest candidates + chronological log 2026-03-21→. Active goal: **working proposition for Seb by Monday 2026-06-01** (steward 2026-05-28, "bring him relief"); deadline shifted to mid-July. Read tracker at /wake-up before composing L1 portion of any briefing.
## Active Session
- [Session 2026-06-03 (evening) — ARC Stage N: prune + §VII.e conformance + the threshold, PUBLISHED](session-2026-06-03-evening-arc-stage-n-conformance-threshold.md) — **Stage N nearly closed in one evening; 6 commits, pushed + deployed + live-verified** (`e0f35db`→`3f89564`). (1) **Dead-glyph prune byte-proven** (5 fields incl. a 5th the wrap missed; 2 dead templates; `currentSymbol`; `needsGlyph`→`rendersAsPost`; `conditionalField`; `diff -r` = 0 twice; jurist ACCEPTED). (2) **§VII.e batch, measured first** (separator gray@0.5 = 1.84:1 FAILS 3:1; breadcrumb category gray = 3.98:1 FAILS the 4.5 TEXT floor → grey off the table on a11y): apparatus text → fg recede-by-form; opacity attenuations dropped (+4 list-context duplicates caught at the **compiled-CSS grep gate**); **breadcrumb componentized** (steward's eye caught sequence-index + about breadcrumbs silently in Garamond — one `.breadcrumb` rule, 3 templates); category fg + xs (**A1 settled by the masters: Bringhurst running-heads + RUTTER from the Chamber library** — `converted_texts/collections/typography/web-typography-rutter.md` — who VALIDATES Plex-Sans-as-functional-face and rules size the lever, weight out; **nav-face reconsideration closed, no proposal**). (3) **Frontispiece threshold**: epigraph + attribution → fg (steward chose on render); **`font-variant: small-caps` drift FULLY retired** → canonical EB Garamond SC mixin (cite + title + title-return; silent late font-family override caught at the compiled gate); title = one even-SC lapidary line; phone-centering fix (mobile blanket `p` rule). "It is much stronger." (4) **PENDING-26 filed** (`.whisper`: ~156 usages = 6× the plan's figure; name candidates `.apparatus-meta` + `.register-mark-inline`-or-unify; jurist to lock). **NEW CARRY:** frontispiece **compass reveal mechanism never implemented** (dark mode exposed it; steward: own pass, to the level of everything else). New memory: `feedback-reading-compass-is-svg-not-type`. **Pulling thread: CLOSE STAGE N** — systematic dead-selector sweep + §I.h rhythm token; **Option B Compass-§VI-as-data** as the paired build; then re-partition → Stage G → vignette. **Literal Q:** REVIEWED entries for PENDING-25 + -26 filed? and did the jurist pick `.register-mark-inline` or unification? ARC `main` @ `3f89564` clean/pushed/deployed; `~/dotfiles/PENDING.md` carries -25 AND -26 uncommitted. Skill harvest: reinforce verification-ladder with compiled-selector grep + WCAG-contrast calculator.
## Archived (2026-06-03 morning — §I.k + PENDING-25 + Phase-2 listing generator)
- [Session 2026-06-03 — ARC §I.k French spacing + translation-renderings doctrine (PENDING-25) + Stage-F Phase-2 listing generator SHIPPED](session-2026-06-03-arc-ik-french-spacing-translation-doctrine-phase2-listing-generator.md) — **A long ARC build day; three threads all completed, the last deployed live.** (1) **§I.k Build-time Typographic Enforcement** (`02373fd`): `frenchSpacing` Pandoc AST transform, uniform U+202F before `; : ! ? »`/after `«`, gated on `lang: fr`, upgrade-not-insert (URLs safe), idempotent; **jurist ruled uniform-U+202F** over the Lexique's fine/mot distinction (web-transposition; companion §1 stands); verified on synthetic corpus + English gate; dormant (no `lang: fr` piece yet). (2) **Translated-renderings doctrine → PENDING-25 [PROPOSAL] AUTHORIZED** (jurist brief → Opinion: ARC holds *works*, languages are non-canonical *renderings*, the work holds the corpus slot; `translator:` required; Context C gated; amend frontmatter-spec, no new companion; W3 = group by `work:` at build; 4 conditions addressed; impl deferred — listing-half folds into Phase 2, rest after Stage G, decoupled from vignette; **heteronym refactor = the toggle's proving ground**; triggered by **Lune translating *After the Reply* → French, ~late Aug/Sept**). (3) **Stage-F Phase 2 SHIPPED LIVE** (`4303df0`+`6851367`+`41fc030`, deployed + verified at animalrationiscapax.org): 11 per-type `create` blocks → **one generator** over new `data/listings.yml` (presentation facts; validated vs `content-types.yml` enumeration → unknown class = build error), **byte-IDENTICAL** listings; dead triptych/glyph JS retired (`<head>` load + `assets/js/glyphs/` ~100 files); steward's two probing Qs caught stale assumptions (**`currentSymbol` is DEAD — SVG `<symbol>` per-slug is the rendered sigil since 2026-05-26**; SVG stays out of jurist-pending typology §2). Wrote **`arc-horizon-2026-06-03.md`** (one-place remaining-ARC view: #1 done → Stage N → re-partition → Stage G → vignette). **Returns:** the steward's questions were the engine of quality — verify-current-state/render-and-LOOK, don't reason from the remembered model; governance loop held (surfaced fine-vs-mots to jurist, drafted doctrine as brief→PROPOSAL); proportion held ("do it once well" = two right-sized once's, not a Compass-data mega-change). **Pulling thread: ARC Stage N** (spec-conformance + dead-code prune), now loaded with Phase-2 dead-glyph fallout (rename live-but-misnamed `needsGlyph`; delete dead `renderGlyph.html`/`partials/triptych.html` + `has_glyph`/`glyph_id` field defs + vestigial `currentSymbol`; SVG-vs-unicode spec note) — with the bounded **Compass-§VI-as-data follow-on** (`listings.yml`+specials → nav rows; closes the (slug,title) overlap Phase 2 opened) as the satisfying adjacent re-entry. **Literal Q:** subtractive Stage-N dead-glyph cleanup first, or the Compass-data follow-on? + has the steward filed PENDING-25's REVIEWED entry? **CapableMind deferred entirely** (steward); housekeeping remainder parked. ARC `main` @ `41fc030` clean/pushed/deployed; `~/dotfiles/PENDING.md` carries PENDING-25 uncommitted (steward's repo). Skill harvest: extend the SCSS verification-ladder candidate into a general **build-output byte-equivalence gate** (proved 3× now: SCSS, site.hs generator, §I.k transform).
## Archived (2026-06-02 afternoon/evening — Plane.so coordination layer + MemPalace cold-start fix)
- [Session 2026-06-02 (afternoon/evening) — Plane.so coordination layer stood up + MemPalace recurring-drop ROOT-CAUSED & FIXED (#1495 cold-start warmup)](session-2026-06-02-plane-setup-mempalace-coldstart-fix.md) — **CapableMind housekeeping pivot; two arcs, both shipped.** (1) **Plane.so bridge** (Seb's ask — make the 6h gap a relay): added official **Plane MCP** (OAuth, user-scope, no secret); model = GH issues canonical/technical, **Plane task = thin effort overlay** (`[BM #N]` tag, effort-line only, GH link, labels/priority mirror GH; coupled-not-mirrored). Home = **BMF** project (cleared 7 demo cards, seeded 5 thin tasks #165/#167/#170/#168/#171 + 5 GH-mirrored labels). **BBF=BetterBridge product, NOT the board** (steward corrected my misread→read the spec). Recorded central in `reference-plane-coordination-workflow.md`. Steward: shape+assignees "wait & see"; grow-as-we-go. Gotcha: `create_work_item` needs `description_html`. (2) **MemPalace silent-drop fixed** (was "root cause unknown" for weeks): steward's auto-write-keepalive hypothesis DISPROVEN (never disabled; separate process). Real cause = upstream **#1495** — embedder cold-load on first chromadb-write (esp. `diary_write` at wrap) exceeds MCP timeout → -32000, no trace. Fix `cf96e68` already in tree (`local/bge-m3-on-3.3.6`, 0 behind) but **opt-in**; steward flagged non-standard bge-m3/MPS engine → VERIFIED warmup is embedder-agnostic (loads bge-m3/MPS, cached, wired in main() L2845). APPLIED `MEMPALACE_EAGER_WARMUP=1`+`MEMPALACE_LOG_FILE`+`MEMPALACE_MCP_IDLE_HOURS=0` in settings.json env; **needs restart to activate**. Patched `/wrap-up §4.0` liveness-ping (steward-auth). **Returns:** steward corrected me twice (BBF; non-standard engine) — verify-before-assert through-line; time-discipline held (upstream-issue check WAS the win). **Pulling thread: VERIFY the MemPalace fix holds after restart** (mcp.log shows warmup, first diary_write clean — applied-but-unverified). **Literal Q:** did the warmup take for bge-m3/MPS, or escalate env placement? Housekeeping remainder (untracked CM-AI files, PENDING bloat, BMF parked, L1 tracker stale, Seb gate-Q) untouched.
## Archived (2026-06-02 morning — ARC craft day; four deploys, all verified live)
- [Session 2026-06-02 — ARC verse typography + Pandoc F1 + icosahedron mark + favicons (FOUR deploys, all verified live)](session-2026-06-02-arc-verse-pandoc-f1-icosahedron-mark-favicons.md) — **A long ARC craft day; every thread shipped, nothing mid-flight.** (1) **§I.h.b/c Verse typography** (`5318ae1`): read masters from the **`palace-chamber-typography`** MemPalace (CLI access saved as `reference-typography-palace-cli.md` — answers last wrap's open Q); steward caught that 'Time is not a river' is HIS poem (primary verse) not a quotation → **split §I.h.b Verse Quotation (indent) + §I.h.c Primary Verse (no indent)**; `::: verse`+`| ` line blocks, `Ext_line_blocks` enabled, shared `.verse` SCSS; re-authored the meditation + set the **real Berger poem** into Vespers. (2) **Pandoc utilization audit** (deep): **F1 SHIPPED** (`8549ead`) — zero real math in corpus, so retired `tex_math_dollars` + the 40-line `$`-escaping hack + MathJax (−70 lines); **F5 HELD** (`writerSectionDivs` conflicts with §II.d marginalia grid; needs `display:contents` a11y resolution first); **F4 queued** = `§I.k` build-time typographic enforcement (French-NBSP filter as Haskell `pandocCompilerWithTransform`, spec-FIRST); artifacts `_audits/pandoc-utilization-audit-2026-06-02.md` + `pandoc-hakyll-toolset.md` (indexed in CLAUDE.md, `956542c`). (3) **Icosahedron site mark** (`4ef26b0`): redrawn the right way through a full reference lineage (Garamond→manicule→Jamnitzer→Roman d20→engraving) → a **solid shaded faceted die**, inline mode-aware `var(--accent)`, defined once in `templates/site-mark.html`, og raster re-rendered (1.4MB→45KB). (4) **Favicons** (`7ec44aa`): regenerated from the new die + fixed 3 pre-existing bugs (empty manifest name, broken icon paths, stray `#5bbad5` mask color in BOTH head templates). **Returns:** render-the-artifact-and-LOOK before asserting (caught my own feTurbulence/table errors); steward corrected my flattened verse distinction + my under-committed "restrained" mark rec (the gesture wanted boldness). **ARC fact to keep: `<head>` is duplicated across default.html + frontispiece.html — any head change touches BOTH.** ARC `main` @ `7ec44aa`, clean, pushed+deployed. **Pulling thread = a CHOICE for tomorrow (threads all completed): ARC F4/§I.k (French-NBSP, spec-first) vs the parked L1/Seb proposition.** Literal Q: which workstream tomorrow?
## Archived (2026-06-01 — Stage M published live; the verse-spec gap today resolved)
- [Session 2026-06-01 — ARC Stage M complete + PUBLISHED LIVE; .post-content + .callout purges; verse-spec gap surfaced](session-2026-06-01-arc-stage-m-published-postcontent-callout-purges.md) — **Shipped the whole mode arc + PUBLISHED** (first deploy in weeks). M(a) system light/dark (`light-dark()`+`color-scheme`) + §I.h block quote + toggle/JS removed (`e32009c`·`2b790dc`·`a837bcc`·`a989cfb`); M(b) P3 wide-gamut + M(c) prefers-contrast (`12db85a`). **THE RIGHT-SHIFT BUG** on marginalia posts (Death-of-a-Hero, After-the-Reply) → root cause **`.post-content`** (non-spec Jekyll wrapper, post.html only; `:has()` matched it AND `.bears-apparatus` → nested 66rem grids → title-left/body-right; about-pages fine bc NO wrapper) → **PURGED** (`c6549de`, unified on spec's `.bears-apparatus`, retired the glimpse guard); **`.callout` retired** (`71e87ea`, spec residual AldineXXI:2599, §I.h-violating bar/box/italic). **PUBLISHED** `faf7674` → CloudFlare + GitHub mirror, **live-verified** at animalrationiscapax.org (0 toggle/data-theme/post-content; `color-scheme`+`light-dark` present); the local-only glimpse fix finally shipped. **−8,224 net lines** (purges as subtraction). Deploy first blocked by unaccepted Xcode license (steward installed Xcode yesterday; `make rebuild` recompiles) → he ran `sudo xcodebuild -license` → retry OK. **Returns:** misread the screenshot viewport + leaned "no regression" — **steward corrected both; I proved the truth via byte-identical `git diff` + DOM/source reads, not assertion**; through-line = read the rendered/computed artifact, the steward's eyes+memory ARE data. New feedback memory: `feedback-verify-each-post-type-after-changes` (per-type × per-viewport). **Pulling thread: §I.h.b Verse Quotation** — ARC has no verse-quotation typography (`.poetic` = incomplete fragment); **read the typography palace (Bringhurst esp. — he's a poet — + Tschichold/Hochuli) FIRST**, write §I.h.b once (line breaks, indent-not-bar, hanging indent for runovers, body colour, attribution), then drop the real Berger poem into Vespers (it's a paraphrase now). **Literal Q:** where does the "typography palace" live (chamber-library? MemPalace wing?) + what do the masters prescribe for setting verse? **Wide-window stance accepted.** ARC `main` @ `faf7674`, pushed+deployed, clean, 0 unpushed. **MemPalace MCP disconnected mid-session — drawer/diary/KG NOT filed; memory file + ledger carry it.** Next queue: §I.h.b · icosahedron→accent inline SVG · F-Phase 2 · §VII.e residual.
## Archived (2026-05-31 / 2026-05-30 — Stage-F Phase-1 + mode-modernization decided; the threads 2026-06-01 built on)