From e9e772d69c59d65cfcaba596a1b4bcd64f2b6801 Mon Sep 17 00:00:00 2001 From: David F Glidden Date: Sun, 26 Apr 2026 14:52:14 +0200 Subject: [PATCH] memory: bundle accumulated 04-17/26 + lock ARC about-page architecture MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Safety checkpoint before deep-audit Phase 0 of the ARC repo. Steward-authorized commit-everything for rollback safety. ARC architectural locks (2026-04-26 evening): - Path 1 enfilade structure (separate Colophon and Lex items) - 8-door enfilade locked: Colophon · Lex · Framework · Vignette · Attention · Chamber · Tools · Now (+ Bio quiet link) - Adsum and threshold-hic as two distinct texts on the reflowed About page (steward verbatim: "They are certainly not the same text") ARC consolidation pass (canonical tracker project-arc-rework.md, +~700 lines): fold 04-23 evening (Norris read), 04-24 (lex-method authored, posture cluster, §XII Sidenotes, ARC CLAUDE.md cleanup), 04-25 (marks cluster, colophon-at-scale, full Vico/Harrison lex-chain), 04-26 (chamber-library walk, cluster scaffolds, canonical-tracker discipline surfaced). Sibling-file integration: four 2026-04-26 frame files folded into the canonical tracker (Integrations A/B/C/D) with INTEGRATED redirect notices retained as audit trail. New durable feedback memories: - feedback-canonical-workstream-tracker-discipline (umbrella drift surfaced 2026-04-26 by steward; proposes /wake-up + /wrap-up amendments) - feedback-catalogues-stale-walk-trees (steward feedback on chamber-library catalogue currency) Implementation plan drafted for the coming week: Phase 0 deep audit → Phase 5 cleanup, with steward additions on second pass (deep audit; Chamber v1 as own browsable archive; clean rebuild of cluster sources rather than moving test artifacts as canon). Also bundled (untracked accumulation since 04-17): - ~24 session memory + ledger files for 04-17 through 04-26 work - ~10 feedback memories (BMF + ARC + working-method) - 5 project memories (lex-as-method, strunk-white queue, plus today's four) - 4 user memories (duality-rules, formation-practice, foundation-work, humic-layer) Steward-side modifications also in this commit: ~/CLAUDE.md, bin/bmf-start.sh, open-tasks.md, project-focus-april-may.md, session-2026-04-17 — all pre-existing, not from today's session. Co-Authored-By: Claude Opus 4.7 (1M context) --- CLAUDE.md | 52 +- bin/bmf-start.sh | 2 + claude/memory/MEMORY.md | 137 +- ...dback-arc-typology-recognition-scaffold.md | 67 + .../memory/feedback-bmf-health-vs-recall.md | 51 + claude/memory/feedback-bmf-ingestion-rate.md | 17 + ...canonical-workstream-tracker-discipline.md | 82 + .../feedback-catalogues-stale-walk-trees.md | 43 + .../feedback-children-not-named-online.md | 30 + ...ck-independent-specialist-authorization.md | 24 + .../feedback-manutius-latin-spelling.md | 23 + .../feedback-mechanical-vs-architectural.md | 58 + ...k-onboarding-vs-steady-state-thresholds.md | 68 + ...rift-pattern-tracking-is-the-discipline.md | 34 + .../future-intention-ground-up-model.md | 36 + claude/memory/open-tasks.md | 12 +- ...t-about-pages-decision-frame-2026-04-26.md | 180 ++ claude/memory/project-arc-rework.md | 2016 +++++++++++++++++ ...er-library-cluster-scaffolds-2026-04-26.md | 156 ++ ...ibrary-humic-pillars-noticed-2026-04-26.md | 71 + ...roject-chamber-rewrite-frame-2026-04-26.md | 183 ++ claude/memory/project-focus-april-may.md | 4 +- .../project-lex-as-method-for-arc-specs.md | 425 ++++ ...strunk-and-white-vocabulary-pass-queued.md | 61 + .../session-2026-04-17-versioning-regime.md | 48 + ...sion-2026-04-18-arc-versioning-pattern3.md | 257 +++ ...-2026-04-18-evening-ingestion-milestone.md | 255 +++ ...on-2026-04-19-arc-typology-spec-and-dns.md | 180 ++ .../session-2026-04-19-l1-audit-shipped.md | 215 ++ ...2026-04-20-arc-typology-publication-day.md | 216 ++ ...-arc-typology-humic-frame-and-six-locks.md | 126 ++ .../session-2026-04-22-arc-integration-day.md | 179 ++ ...6-04-23-arc-typology-catalogue-complete.md | 135 ++ .../session-2026-04-23-evening-norris-read.md | 155 ++ ...-24-lex-posture-committed-xii-sidenotes.md | 229 ++ ...04-25-marks-committed-colophon-at-scale.md | 221 ++ claude/memory/session-ledger-2026-04-18.md | 85 + claude/memory/session-ledger-2026-04-19.md | 57 + claude/memory/session-ledger-2026-04-20.md | 39 + claude/memory/session-ledger-2026-04-21.md | 80 + claude/memory/session-ledger-2026-04-22.md | 118 + claude/memory/session-ledger-2026-04-23.md | 140 ++ claude/memory/session-ledger-2026-04-24.md | 163 ++ claude/memory/session-ledger-2026-04-25.md | 62 + claude/memory/session-ledger-2026-04-26.md | 112 + ...er-duality-rules-and-poetic-as-mnemonic.md | 44 + ...er-formation-practice-honoring-teachers.md | 42 + ...ser-foundation-work-and-long-trajectory.md | 55 + claude/memory/user-influences-humic-layer.md | 98 + 49 files changed, 7101 insertions(+), 42 deletions(-) create mode 100644 claude/memory/feedback-arc-typology-recognition-scaffold.md create mode 100644 claude/memory/feedback-bmf-health-vs-recall.md create mode 100644 claude/memory/feedback-bmf-ingestion-rate.md create mode 100644 claude/memory/feedback-canonical-workstream-tracker-discipline.md create mode 100644 claude/memory/feedback-catalogues-stale-walk-trees.md create mode 100644 claude/memory/feedback-children-not-named-online.md create mode 100644 claude/memory/feedback-independent-specialist-authorization.md create mode 100644 claude/memory/feedback-manutius-latin-spelling.md create mode 100644 claude/memory/feedback-mechanical-vs-architectural.md create mode 100644 claude/memory/feedback-onboarding-vs-steady-state-thresholds.md create mode 100644 claude/memory/feedback-trust-contract-drift-pattern-tracking-is-the-discipline.md create mode 100644 claude/memory/future-intention-ground-up-model.md create mode 100644 claude/memory/project-about-pages-decision-frame-2026-04-26.md create mode 100644 claude/memory/project-chamber-library-cluster-scaffolds-2026-04-26.md create mode 100644 claude/memory/project-chamber-library-humic-pillars-noticed-2026-04-26.md create mode 100644 claude/memory/project-chamber-rewrite-frame-2026-04-26.md create mode 100644 claude/memory/project-lex-as-method-for-arc-specs.md create mode 100644 claude/memory/project-strunk-and-white-vocabulary-pass-queued.md create mode 100644 claude/memory/session-2026-04-18-arc-versioning-pattern3.md create mode 100644 claude/memory/session-2026-04-18-evening-ingestion-milestone.md create mode 100644 claude/memory/session-2026-04-19-arc-typology-spec-and-dns.md create mode 100644 claude/memory/session-2026-04-19-l1-audit-shipped.md create mode 100644 claude/memory/session-2026-04-20-arc-typology-publication-day.md create mode 100644 claude/memory/session-2026-04-21-arc-typology-humic-frame-and-six-locks.md create mode 100644 claude/memory/session-2026-04-22-arc-integration-day.md create mode 100644 claude/memory/session-2026-04-23-arc-typology-catalogue-complete.md create mode 100644 claude/memory/session-2026-04-23-evening-norris-read.md create mode 100644 claude/memory/session-2026-04-24-lex-posture-committed-xii-sidenotes.md create mode 100644 claude/memory/session-2026-04-25-marks-committed-colophon-at-scale.md create mode 100644 claude/memory/session-ledger-2026-04-18.md create mode 100644 claude/memory/session-ledger-2026-04-19.md create mode 100644 claude/memory/session-ledger-2026-04-20.md create mode 100644 claude/memory/session-ledger-2026-04-21.md create mode 100644 claude/memory/session-ledger-2026-04-22.md create mode 100644 claude/memory/session-ledger-2026-04-23.md create mode 100644 claude/memory/session-ledger-2026-04-24.md create mode 100644 claude/memory/session-ledger-2026-04-25.md create mode 100644 claude/memory/session-ledger-2026-04-26.md create mode 100644 claude/memory/user-duality-rules-and-poetic-as-mnemonic.md create mode 100644 claude/memory/user-formation-practice-honoring-teachers.md create mode 100644 claude/memory/user-foundation-work-and-long-trajectory.md create mode 100644 claude/memory/user-influences-humic-layer.md diff --git a/CLAUDE.md b/CLAUDE.md index a90e88b..b31d246 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -217,39 +217,35 @@ Body: what changed and why. Reference PENDING/REVIEWED items if applicable. | Project | Path | Notes | |---------|------|-------| -| **CapableMind L1/L2** | `~/_Dev/CapableMind-AI` | Constitutional governance system. Read local CLAUDE.md for build state. Active seed: `~/_Dev/CapableMind-AI/docs/thinking/David/l1-reliability/l1-session-seed-pr.md`. Branch: `fix/replay-durability-contracts` | -| **Animal Rationis Capax** | `~/_Dev/animal-davidglidden-eu` | Hakyll publishing system. Read local CLAUDE.md for technical context | -| **Compass** | `'/Users/davidglidden/Library/Mobile Documents/iCloud~md~obsidian/Documents/David, root-and-branch/00. Compass'` | Personal operating system (Obsidian vault). Read-only reference | + | **CapableMind L1** | `~/_Dev/CapableMind-AI` (playbook) + `~/_Dev/BetterMemories.io` (runtime) | **L1 is PRIMARY focus through end of May 2026.** Steward has joined Seb on L1 production work; Seb spread too thin to carry alone. Runtime on `main` @ `decbdee`+. Current audit artifacts: `docs/thinking/David/l1-reliability/l1-deep-audit-plan-2026-04-19.md` + `l1-ingestion-forensic-2026-04-19.md` + `l1-recall-quality-baseline-2026-04-19.md`. | + | **CapableMind L2** | `~/_Dev/CapableMind-AI` (docs only) | **PARKED through end of May 2026.** No L2 governance advancement, no new invariant work, no + constitutional proposals. L1 reliability is the dependency condition. L2-adjacent questions arising from L1 work: note, don't pursue. || **Compass** | `'/Users/davidglidden/Library/Mobile Documents/iCloud~md~obsidian/Documents/David, root-and-branch/00. Compass'` | Personal operating system (Obsidian vault). Read-only reference | | **Dotfiles** | `~/dotfiles` | Dotfiles for easy restore and setup | When navigating into a project directory, always read its local CLAUDE.md first for current state, build sequences, and terminology. -### L1 Active Workstream - -| Item | Status | -|------|--------| -| Branch | `fix/replay-durability-contracts` | -| Active seed | `~/_Dev/CapableMind-AI/docs/thinking/David/l1-reliability/l1-session-seed-pr.md` | -| L1 reliability artifacts | `~/_Dev/CapableMind-AI/docs/thinking/David/l1-reliability/` | -| Bug A | Reprobe condition mismatch — ✓ fixed, confirmed working | -| Bug B | Schema migration non-idempotency — ✓ fixed (job-store.ts, checkpoint.ts, dedup.ts) | -| Bug C | Teacher worker retry storm — `[FIX]` authorized, in PR scope | -| Bug D | Idle stall during replay — `[FIX]` authorized, next PR | -| PR target | Three bugs · full tests · CHANGELOG · three GH issues · audit committed to repo | -| Next step | Canary fires → epistemic audit (v2) → PENDING.md findings → steward review → file issues → PR | -| Collaborator | Seb (L1 territory owner — on vacation) | -| **Dependency chain (revised 2026-03-27)** | | -| — L1 reliable → | Chamber Phase 3+ / training pipeline / recall-dependent work | -| — Chamber Phase 1-2 → | Independent of L1 (manual orchestration, source texts present) | -| — L2 governance (AF-7, P-GOV series) → | Independent of L1 | -| — L1 reliability | Seb's territory. David's time goes to governance and Chamber. | -| PENDING-1 | Executor Agency Directive — AUTHORIZED, integrated into this file | -| PENDING-2 | Silent degradation audit — COMPLETE (43 findings), authorized for follow-on work | -| PENDING-3 | Factory schema scope extension — ACKNOWLEDGED, in PR scope | -| PENDING-4 | Bug D idle stall — AUTHORIZED, next PR | -| PENDING-5 | Transport bridge backoff wiring — AUTHORIZED, next PR | -| PENDING-6–9 | Pairing manifest · Phase 2 failure · fire-and-forget · hysteresis — awaiting steward review | +### L1 Active Workstream (2026-04-19) + | Item | Status | + |------|--------| + | Runtime repo | `~/_Dev/BetterMemories.io` on `main` @ `decbdee`+ (SQLite+LanceDB storage backend operative; SurrealDB retired) | + | Playbook repo | `~/_Dev/CapableMind-AI` on `main` | + | Current audit | Deep audit of first-successful-ingestion state per `l1-deep-audit-plan-2026-04-19.md` | + | Audit artifacts produced 2026-04-19 | `l1-ingestion-forensic-2026-04-19.md` (Part 1: entity bottleneck + error taxonomy + threshold-governance frame) + · `l1-recall-quality-baseline-2026-04-19.md` (Part 2: recall broken end-to-end; H1-H4 localized to read path) · `forensic-artifacts-2026-04-19/` (log + snapshot + raw recall results) | + | Headline bottleneck | O(N²) per-pair LLM inference in `inferRelationships` (`src/modules/entity/pipeline.ts:719-741`) — code-reviewer verified at 0.92 + confidence. Fix space: options A-F surfaced, C+D+E combinatorial recommended | + | Headline recall issues | H1 confidence clobbered in read path · H2 vector queries return 0 on vault content · H3 temporal stats fallthrough · H4 + working-memory injection surfaces hook events as recall results | + | Architectural finding | Module health (`status: ready`/`healthy`) is structurally decoupled from recall correctness — violates honest-degradation + invariant at design level. Captured in `feedback-bmf-health-vs-recall.md` | + | **Territory** | L1 is **shared work** between Seb (code ownership) and steward (audit / diagnostic / PENDING drafting / test-branch diagnostic). + Steward joined Seb on L1 production because Seb spread too thin to carry alone | + | Next step | Ship Part 1+2 audit bundle to Seb · optionally run diagnostic-only test branch to localize H1/H2 to exact lines · then Seb drives fix PRs + with ultrareview verification · L2 remains parked throughout | + | PENDING items 1-9 | From March sprint; some superseded by the 2026-04-14 storage-migration PR and subsequent work. Reconcile with `~/PENDING.md` when + next touched | ### Completed Workstreams *None yet — first entry will appear when the L1 PR merges.* diff --git a/bin/bmf-start.sh b/bin/bmf-start.sh index 8a690e9..1a57dc1 100755 --- a/bin/bmf-start.sh +++ b/bin/bmf-start.sh @@ -16,6 +16,8 @@ set +a export BM_PORT="3011" export BM_TEACHER_TRANSPORT="api" export BMF_MCP_TOKEN="bm_key_REDACTED" +export BM_DATA_DIR="$HOME/.capablemind/data/mindfabric-00" +export BM_INSTANCE_NAME="mindfabric-00" # Ollama needs to be reachable export OLLAMA_HOST="${OLLAMA_HOST:-http://127.0.0.1:11434}" diff --git a/claude/memory/MEMORY.md b/claude/memory/MEMORY.md index 5fcda16..ba5472f 100644 --- a/claude/memory/MEMORY.md +++ b/claude/memory/MEMORY.md @@ -1,17 +1,100 @@ # Claude Code Memory +## Active Session +- [Session 2026-04-25 — Marks cluster committed + lex-of-ARC located as colophon-at-scale + full lex-chain restored](session-2026-04-25-marks-committed-colophon-at-scale.md) — The marks cluster's 25 recognitions committed in dialogue (lex-method validated as form across content types — second test passed). Steward located the lex-of-ARC architecturally: *"a colophon of great scale."* Architectural breakthrough: §0 threshold candidate shifts from Warde to colophon (yours, not borrowed); §1 typology probably doesn't need new slot; naming becomes inheritance; publication question dissolved. Steward then directed return to Vico §240 / Harrison Ch 5 to register the **full lex-chain** — I had been holding only the gathering-sense; missed the pivot (citizens/comitia/solemnizing wills), lexification, *auctores*, dislexification. Manutius the Younger's *Orthographiae Ratio* (1566) added to chamber-library; Teall 1891 placed. 13 recognition-register patterns saved as durable lex-method method. **Pulling thread: About-pages restructure under today's locating; Path 1 (lex alongside colophon) vs Path 2 (lex as expansion of colophon).** + +## Archived Sessions +- [Session 2026-04-24 — Lex-of-ARC posture cluster committed + AldineXXI §XII Sidenotes theorized + ARC CLAUDE.md cleaned](session-2026-04-24-lex-posture-committed-xii-sidenotes.md) — Full day of lex-method architecture. Harrison Ch 5 / Vico §240 as lex substrate (gathering-sense only registered); Bringhurst Ch 3 consult on italic/bold; density-exception ruling; 8 posture voices gathered with steward-committed recognitions; AldineXXI §XII committed (closes July 2025 awaiting-governance flag); ARC CLAUDE.md rewritten 420→197 lines. +- [Session 2026-04-23 evening — Norris *Between You & Me* read](session-2026-04-23-evening-norris-read.md) — Tired steward deferred projected agent-circle authoring ("keep it close"). Read Norris's *Between You & Me* in three chunks for ARC style-guide; gather-lex deferred to next session. +- [Session 2026-04-23 Sant Jordi afternoon — ARC typology catalogue complete](session-2026-04-23-arc-typology-catalogue-complete.md) — 14 of 14 §1 types LOCKED + Chamber resolved as §2 apparatus + Harrison-as-humic-vocabulary-source surfaced + ARC framed as "expression of ligature". + +## Working with the steward +- [Trust contract — drift-pattern tracking is the discipline](feedback-trust-contract-drift-pattern-tracking-is-the-discipline.md) — bidirectional trust; do not layer additional discipline-as-self-policing on top of clear directives. Reading "extra rigor" into instructions is the contamination pattern in inverse form (over-discipline as approval-seeking). Take plain meaning. +- [Formation practice — reverence to deep teachers](user-formation-practice-honoring-teachers.md) — steward considers formative authors his teachers (*"entering into discourse with the authors allows me to consider the ensuing transformations as being 'taught' by them"*). Receive humic references as teacher-relations, not citations. +- [Rules-and-poetic duality — rule as mechanism, metaphor as mnemonic for dwelling in constraint](user-duality-rules-and-poetic-as-mnemonic.md) — working method "regardless of domain": rules serve skills/agents (mutual service), poetic layer functions as mnemonic so one dwells in the constraint and finds freedom *through* it, not *from* it. Preserve duality in any rule-shaped artifact; neither layer ornamental. +- [Manutius — prefer Latin spelling](feedback-manutius-latin-spelling.md) — when referring to the Venetian printer, use "Manutius" not "Manuzio" (Norris's Italian). Leave spelling intact in direct Norris quotations. +- [Catalogues stale — walk trees](feedback-catalogues-stale-walk-trees.md) — *"that catalogue is stale (any catalogues you may come across will be stale)"* (2026-04-26). Any catalogue/index/README in chamber-library is presumed stale. Walk actual directories for inventory. Cousin to canonical-library-not-checked-first. +- [Canonical workstream trackers must be read at session start](feedback-canonical-workstream-tracker-discipline.md) — **2026-04-26 umbrella diagnosis.** Four consecutive sessions (04-23 evening through 04-26) opened without reading `project-arc-rework.md`. The five lower-level "canonical-library-not-checked-first" instances today were symptoms of one pattern: *working-without-canonical-roadmap.* Fix: at every `/wake-up`, read canonical workstream trackers (project-arc-rework, project-focus-april-may, etc.) for any workstream the session will touch — not just session memories + MEMORY.md index. At every `/wrap-up`, fold substantive moves into trackers, not just session memory. New project files are integrations of the tracker, not parallel siblings. +- [Chamber-library humic pillars noticed 2026-04-26](project-chamber-library-humic-pillars-noticed-2026-04-26.md) — registrar-form notice from steward-directed walk: Bachelard concentration (6 works in phenomenology — humic in his own register); Berger as corpus-of-corpora (~13 works, candidate apostrophic pillar); Jaccottet:Handke:Lichtenberg/ folder is unfiled-recent per steward (housekeeping, not architectural). Awaiting steward recognition. +- [Chamber-library cluster scaffolds 2026-04-26](project-chamber-library-cluster-scaffolds-2026-04-26.md) — steward-authorized scaffold for the six remaining clusters (music-and-measure, mark-not-made, apostrophic, public/private genre, craft-and-tool-fitness, practice-across-life) with present-and-touching voices for each + Bachelard pull flagged for humic-layer framing. Steward framing: *"Wallace Stevens's jar on the hill. Hic."* Scaffold is the placing-act; recognition belongs to dialogue. Awaiting steward recognition pass per cluster. +- [About-pages decision frame 2026-04-26](project-about-pages-decision-frame-2026-04-26.md) — Path 1 vs Path 2 frame + three deeper resolutions: (A) **three-register frame** (threshold / colophon / lex — different scales, same light, redundancy dissolves); (B) **door consolidation** (Influences→Lex, AldineXXI+Typography→Framework, Navigation+Attention→Attention, Patterns removed, Vignette earns own door); (C) **8-door set**: Colophon · Lex · Framework · Vignette · Attention · Chamber · Tools · Now. About main as **threshold of ARC (why-and-how, ARC-first-then-David)** is the right form, not bio-paragraph. Rewrite work flagged for Framework + About + Chamber + Attention. Awaiting Path 1/2 + threshold-draft. +- [Chamber rewrite frame 2026-04-26](project-chamber-rewrite-frame-2026-04-26.md) — **revised after steward correction:** keystone shift is v1 (Simulation, archived) → v2 (Source-Aware, current). v1 = 220+ Claude-prompt voices, fictional bibliography (° ~ † § ∞), Borges-tradition canon, archived per steward. v2 = constrained retrieval against chamber-library, verifiable citation at passage-level, bounded knowledge, scoped silence as first-class, warrant taxonomy (W_DEM/W_INF/W_TRD) with transitive minimum, Disciple model, contamination-mitigation as commitment, working register *"rigorous reading and thinking."* Built on CapableMind; ARC is publication-face. Rewrite must announce the shift (not gloss), describe v2 in its register, frame v1 work as preserved-and-clearly-marked archive. /chamber/canon/ and /chamber/deliberations/ become v1 archive pages. Drift logged: read validation report not source-aware design-thinking doc when asked "what is it becoming." +- [Strunk & White — vocabulary pass queued for ARC](project-strunk-and-white-vocabulary-pass-queued.md) — short reading queued post-Norris. Scope: names for what steward already does by feel. Read *against* Norris, not as source. Known caveats: Pullum's critique, S&W prescriptions don't match steward's register. +- [Lex-as-method for ARC specs](project-lex-as-method-for-arc-specs.md) — **architectural commitment 2026-04-24.** All ARC/CapableMind specs are sheaves of formative voices; binding is diagnostic (names what's already there steward may not yet see), not generative. **Form: hybrid Shape A (rule+pillar-voice for skills/agents) + Shape C (voice-body + rule-marginalia for dwelling). Container: sidenotes, theorizing AldineXXI §XI "awaiting governance" question; single markdown source → dwelling-HTML + rules-YAML via site.hs extraction.** Scope: style-guide first, then typology/§2/AldineXXI/L2-adjacent. Substrate: Harrison Ch 5 / Vico §240. Role: **registrar, not author.** + ## CapableMind L1 (BMF) -- **Storage migration: SurrealDB → SQLite+LanceDB COMPLETE + bottlenecks fixed + RECALL VALIDATED** — branch `trial/storage-sqlite-lance`, 30 commits ahead of main, HEAD `4ef8f5b`. All 13 modules + factory + meld + reconciliations + graduation + lifecycle wiring ported. Plus 5 bottleneck fixes shipped 2026-04-15 (#154 entity persist transaction wrap, #155 HNSW build, #156 Ollama keep_alive, #157 LanceDB compaction, #158 cosine distance formula). Recall live-tested on real vault data: sub-second response, confidence 1.0 on top match, all 4 fixes confirmed working end-to-end. See [session-2026-04-15-recall-symmetria.md](session-2026-04-15-recall-symmetria.md) and [session-2026-04-14-migration-completion.md](session-2026-04-14-migration-completion.md) -- **End-of-pass artifact**: `~/_Dev/CapableMind-AI/docs/thinking/David/l1-reliability/2026-04-14-migration-completion-pass.md` +- **FIRST SUCCESSFUL VAULT INGESTION on new stack completed 2026-04-18 → 2026-04-19.** Trial merged into main (`adf4743`); main is canonical now (HEAD `decbdee` + Seb's ongoing commits). Circle networking features operational: peer-mesh roster (`24e0186`), keystone forwarding (`bb390a2`), auto-pairings on join (`eb4cbd7`), staff-token auth (`105c4dd` plan-007), cm-world onboarding script (`47be814`). Ingestion: 7,220 items (notes + relationships), 14,355 entities, 0 failed. Recall operational (confidence 1.0 on test). Steward named milestone: *"years of 'what if we could' to working... this was the foundation."* +- **Known residuals (next session: deep audit)** — entity cursor 4,594 behind (error_count 4,595, mostly deferred-timeout accumulation); vector error_count 1 → 221 overnight (root cause unknown); new `keystone:observe` manifest.json ENOENT race (filesystem, non-fatal). Entity-relationships stage bottleneck: 14–18 min per batch of 8–9 entities (persist is fast — #154 fix holds). See `l1-ingestion-diagnostic-2026-04-18.md` + `l1-deep-audit-plan-2026-04-19.md`. Commented on #65 (umbrella issue predicted this pattern). +- **Audit 2026-04-19 root-cause — entity bottleneck**: O(N²) per-pair LLM inference in `inferRelationships` (`src/modules/entity/pipeline.ts:719-741`). Slots auto-promote SIGNALING → BOOTSTRAPPING at startup ("no teacher, Ollama available"), populating chain with `[rules, local(Ollama)]` (bootstrap.ts:1978-1984). Each co-occurring pair triggers `slot.infer()`; deferred-retry accumulates events (8 → 188 entities), pair count grows quadratically (28 → 17,578 pairs), per-entity cost grew >300x during ingestion. Evidence: 5,335 SLOW entries with relationships=30-39 million ms for 58-188 entity batches. Entity cursor stopped at 05:07:52 UTC; last_processed_at 05:51 verified success-only (not heartbeat) per `base.ts:124-125`. Full write-up: `l1-ingestion-forensic-2026-04-19.md`. Mechanism verified by code-reviewer at 0.92 confidence. +- **Audit 2026-04-19 adjacent findings (via code-reviewer + architect-review)**: + - **218 vector HTTP-400s are silent drops** — notes exceeding nomic-embed-text context window. Path: `vector/index.ts:121-142` → `base.ts:139-144` non-deferrable → `cursorPosition++` without retry. 218 vault notes confirmed absent from semantic search. Separate from the entity bottleneck, needs Seb's attention. + - **`events-013.jsonl` missing from logchain** (2026/04/18 dir): files 002-012, 014-019 present, 013 absent, 10-event delta vs logchain current_seq. Code walk found no rotation/compaction path that explains deletion — reads as real-loss-shaped. Needs Seb's read on logchain file semantics. + - **Option E — slot graduation as the lever** (architect-review, structural): `src/inference/slot.ts` already has SIGNALING/BOOTSTRAPPING/GRADUATED/DE_GRADUATED machinery designed to reconfigure chains under conditions. Treating slots as fixed cost when they're designed to adapt is the framing gap. Question for Seb: does graduation contract model load-cost asymmetry between slots (keystone:classification cheap; entity:relationship expensive)? If not, that is itself an architectural finding. +- **Audit 2026-04-19 Part 2 — recall is substantially broken** (verified by general-purpose interpretation agent at 0.72 confidence, then two storage probes). Yesterday's "recall operational" claim does NOT hold today. Of 15 designed queries: 8 empty (including known names Lune, Kai, Nuria), 6 junk, 1 honestly empty. **Four headline issues, two of which the probes reshaped:** + - **H1 (REFUTED at extractor, CONFIRMED at recall read path)**: entity storage has 1,545 entities with **avg_conf 0.9908, min 0.632, max 1.0, no confidence-0 rows** — extraction is healthy. But recall API returns those same entities with confidence 0 (e.g., "Kai Aureli — Health Record" storage:1.0 → API:0). Defect is in the recall read path between `mapEntityRow`→`entityToResult`→`buildEnrichedResults` in `query-router.ts:545`, not in the entity pipeline. Probe 1 confirmed via direct SQLite query of `entity.sqlite3`. + - **H2 (REFUTED at storage, CONFIRMED at query execution)**: vector storage has **23,696 chunks, all facet_id=default, lifecycle=active, model=mxbai-embed-large** — storage is populated. But vector queries return 0 on vault-content terms. Defect is in query execution (BM25 dispatch, query embedding, or similarity threshold in `vector/queries.ts:73-88`), not in ingestion or storage. Probe 2 confirmed via direct SQLite query of `vector.sqlite3`. + - **H3 — Temporal stats fallthrough**: temporal module returns `total_nodes`/`total_edges` payloads regardless of query intent (monotonically incrementing across queries). Query-type parser routes text queries to stats handler. + - **H4 — Working-memory injection**: `query-router.ts:268-290` synthesizes `compositeScore:0.9` results from session-hook events, surfacing the agent's own tool activity as "recall results." +- **Probe-discovered findings (after probes 1-5)**: + - **Entity→vector linkage empty by design, not broken**: 0 entity_refs across 23,696 chunks is an emergent state from `vector/pipeline.ts:215-217` filter (only person/organization/place types populate entity_refs, from pre-classification `event.enrichment.entities`). 96% of vault entities (1,485 of 1,545) classify as `topic`, so the filter legitimately excludes them. **NOT a regression — design observation.** Usability gap underneath: filtering vector chunks "that mention Kai" is non-operational for personal-vault content because topic-type entities can't be used as filter predicates. Seb-territory design call, not a fix. + - **Vector cursor 14,482 vs 23,696 chunks**: NOT a mismatch. This was a clean ingest (2026-04-18 evening consolidation archived both old data trees before bootstrap; verified empty). 14,482 events × ~1.6 chunks/event average (long-form notes expand) = ~23,696. Normal chunk-expansion. Corrected 2026-04-19 after steward flagged; originally miscast as "possibly residue" — my drift, not a finding. + - **`explain(entity_id)` returns "No direct results found"** for valid entity row (`ent_topic_mo4nxdun_oh3n1f` verified in storage). Read-path broken at the explain tool too, not just recall. + - **Probe 3 cross-module clobber test — inconclusive**: preference is structured (category/key/value), not free-text searchable, so 0-return on free-text query is by-design, not confidence-clobber. Only entity + vector do free-text retrieval in this module set. Entity confidence-clobber localized to entity module's read path; can't be cross-confirmed against another module. + - **Probe 5 hybridSearch 0-return — four failure paths** (`vector/queries.ts:259-371`): (a) query embedding fails at `embeddingProvider.embed([queryTextStr])` line 62; (b) BM25 index not built — caught by `logNonFatal('vector:bm25-fallback')` at line 280, returns `[]`; (c) similarity results all below `minSim=0.35` threshold (`types.ts:91`); (d) both bm25=0 AND vec=0. Existing log at line 291-293 only fires when `searchMs > 200`, so fast 0-return queries are invisible. **Seb's single-line instrumentation fix**: unconditional log of `bm25.length`, `vec.length`, `facetId` at hybridSearch return point. +- **Architectural finding bigger than any bug**: module health (`status:ready`, `system_status:healthy`) is structurally decoupled from recall correctness — honest-degradation invariant violated at design level. See [feedback-bmf-health-vs-recall.md](feedback-bmf-health-vs-recall.md). Yesterday's Reading Compass conf-1.0 result not reproducible today (no restart) — probe data suggests storage-query-path disconnect, not storage regression. **Steward recalibrated milestone gracefully**: *"my joy at reaching the milestone was premature I now understand... I can accept that. Now to make this work."* +- **Raw artifacts preserved in `forensic-artifacts-2026-04-19/`**: `bmf.stderr.2026-04-19T0749.log` (43 MB), `recall-baseline-raw-results.md` (full query set + probe results). +- **Audit 2026-04-19 Part 2b — DIAGNOSTIC TEST BRANCH RESHAPES THE FINDINGS**. Branch `diagnostic/recall-read-path-2026-04-19` on `BetterMemories.io` (commit `9042880`, not pushed). 5 `[DIAG:H*]` stderr logs added at critical decision points. Rebuilt, restarted via `launchctl kickstart`. Post-restart findings **reshape the recall baseline doc's conclusions — forensic + recall baseline need revision before shipping**: + - **H1 clobber confirmed but DOWNSTREAM of buildEnrichedResults**: DIAG shows entity extraction healthy (`rawConf=1 extracted=1` for "Chamber Notes"/"Chamber Overview") — but API returns same entities at `confidence: 0`. The clobber is in ranking/compression/diversity/compose, NOT in the query-router extraction. Seb's search zone narrows. + - **H2 WAS ENVIRONMENTAL, NOT A CODE BUG**: on AC, query embedding works (1024-dim vector in 72ms), BM25 returns 10, vector returns 5, recall produces real vault content at high confidence. The earlier 15-query baseline was run on battery with GPU inference suppressed → empty queryVector → empty results. **This recategorizes H2 from "read-path bug" to "silent-failure architectural issue": BMF returns empty on battery with no operator-visible reason.** Not a fix-the-bug; a surface-the-state design question. + - **H3 temporal instrumentation didn't fire** on content queries (`Kai`, `Chamber`, `typography`, "Ruby on Rails"). Either temporal wasn't dispatched, or edit location was wrong. Needs verification probe. + - **H4 working memory is empty post-restart** (`wmMatches=0` on all queries). Earlier "Recent event: events.agent.tool.result" pollution was because my OWN session had filled WM with hook-observed tool calls. **Design concern: agent-originated events enter WM and can surface as confidence-0.8 recall results.** + - **NEW finding — BM25 score-range mismatch**: `query-router.ts:542-543` comment says similarity is 0-1 range, but DIAG shows `rawSim=5.28/7.26/11.09/12.47` (BM25 raw). Comment is factually wrong. Clamping behavior downstream is undefined — worth Seb's attention. + - **Recall WORKS on AC post-restart**: "Kai" returns full memory-bank content; "Chamber" returns Chamber charters at confidence 1.0; "typography" returns AldineXXI framework + typography-as-ethics essay. Yesterday's "Reading Compass 1.0" IS reproducible; it just requires AC + recent-restart + WM not polluted. + - **Methodology learning**: instrumentation-only diagnostic branch was load-bearing — two of the four hypotheses would have been wrong without it (H2 pure environmental, H4 situational not structural). Pure code-reading cannot reveal runtime-state or environment-state patterns. Future BMF audits should include a diagnostic-branch stage before any proposals doc. +- **Audit 2026-04-19 SHIPPED** (2026-04-19 afternoon): + - **PR #163** at https://github.com/CapableMind-ai/betterMemories_app/pull/163 — mechanical fix for #126 (`query-router.ts` min-max normalize degenerate case). Closes #126 on merge. + - **Three docs + artifacts** in `~/_Dev/CapableMind-AI/docs/thinking/David/l1-reliability/`: + - `l1-diagnostic-branch-addendum-2026-04-19.md` — **primary deliverable** with reading-order banner + 6 findings + TL;DR with third cross-cutting pattern (read-path observability contract absent) + - `l1-ingestion-forensic-2026-04-19.md` — Part 1 (reading-order banner added) + - `l1-recall-quality-baseline-2026-04-19.md` — Part 2 (supersession banner added; §3/§4 partially superseded by addendum) + - `forensic-artifacts-2026-04-19/` — log snapshot + raw recall results + - **Diagnostic branch pushed** to `origin/diagnostic/recall-read-path-2026-04-19` for Seb's reference (he can remove if unneeded). + - **Ship-readiness verified** by architect-review at 0.78 pre-refinement → applied all recommendations → new ship-ready state. + - **Third architectural pattern surfaced by review**: *"BMF's honest-degradation contract applies only to the write path; the read path has no equivalent scaffolding."* Added to `feedback-bmf-health-vs-recall.md` as the deeper layer underneath the module-health-vs-recall-correctness symptom. H1-H4 are four confirmations of an absent contract, not four independent bugs. + - **Not in today's scope, surfaced as candidates for steward+Seb+jurist architectural study when L1 stabilizes**: (a) module health decoupled from recall correctness, (b) threshold-governance regime collapse (onboarding vs steady-state lag), (c) read-path observability contract absent. Steward framed any such study as "not too soon, but L2-shaped work — not mine to synthesize alone." +- **2026-04-22/23 BMF main updates**: `8f26642` = our **PR #163 merged** (closes #126, H1 min-max normalize degenerate case). `ac1673f` = Seb shipped **"survive over-context embed batches + drop char cap to 1000"** — addresses the 218 vector HTTP-400s silent-drops finding (per-text split-and-retry with zero-vector placeholder + `/v1/admin/reembed` recovery path). **PR #169 MERGED 2026-04-23 13:53 UTC by Seb** (commit `cdc2f0e`) closing #164 (regression coverage for normalizePerModule uniform-confidence path — follow-up to #163 per steward's test plan). Clean merge, no comments. **H2-H4 remain OPEN as of 2026-04-23 evening**: #165 H2 `priority:critical` (battery-suppression silent recall failure), #166 H3 `priority:high` (temporal-stats fallthrough), #167 H4 `priority:high` (hook events pollute recall/WM), #168 docs (BM25 score-range comment factual error). No comments, no PRs. Matches 2026-04-21 pattern — Seb engages findings as instances, closes one thread (#126/#163/#164/#169) cleanly before moving to next. CapableMind-AI moved one commit: `8584c64` BO spec v0.2 tightening (Back Office, not L1). +- **Seb engages audit findings as instances, not pattern.** Evidence from GH issue filings on 2026-04-21: four separate bug issues (#165 H2 `priority:critical` "production blocker for laptop end-users", #166 H3 `priority:high`, #167 H4 `priority:high`, #168 BM25 comment factual error), plus #164 (regression coverage for #163 uniform-confidence path, test plan attributed to David). No umbrella issue for "absent read-path observability contract." Pattern-framing did not land as a framework commitment. H2-H4 remain open — L1 cannot advance architecturally until they ship. **Implication**: the bigger-than-any-bug finding (module health decoupled from recall correctness; read path lacks the honest-degradation scaffolding the write path has) stays an architectural study candidate for steward+Seb+jurist, not a near-term engineering target. +- **The 218 dropped notes are unrecoverable by `/v1/admin/reembed`** — they were `cursorPosition++`'d past without zero-vector placeholders during the 2026-04-18 ingest. `ac1673f`'s recovery path targets placeholders which these events don't have. Recovery requires full rebuild or a targeted re-ingest script. **Decision 2026-04-22**: don't rebuild today — would rebuild again when H2-H4 land; prime directive selects one clean rebuild after all read-path fixes ship. +- **Seb shipped 9 commits on main between our `decbdee` baseline and 2026-04-19 morning** — several directly overlap our audit findings: + - `586e388` + `fb92e6e` + `36603f3` — entity pipeline skips slots for memory_factory/webhook/cross-circle events, skips co-occurrence relationship creation. **Directly attacks the O(N²) bottleneck** we found — effectively Option B from our forensic fix space, implemented for specific event types. + - `53d7f08` — `BM_TEACHER_ENRICHMENT_ENABLED` env var for API-only inference mode. **Potential lever for our H2 battery-suppression concern** (routes to Anthropic API, bypasses local Ollama/GPU). Not yet tested whether it addresses query-time embedding path. + - `bc8253d` — `BM_SLOT_DISABLE_LOCAL` env var for skipping local + sampling tiers. Another Ollama-avoidance lever. + - `14e14da` — validates entity/intent rules on load + guards `resolveTextField` (fix for #162). We observed #162 had scope=1 on our instance — Seb's fix lands defensively. + - `fb4ecad` + `da4052b` + `70bd606` — Ollama embedding reliability (dedicated undici Agent, retry transient fetch failures, pin undici to ^6). + - **Does NOT address**: H1 confidence clobber, H2 environmental silent-failure (battery), H4 agent-originated events in WM, BM25 score-range mismatch at `query-router.ts:542-543`. +- **H2 RE-CLASSIFIED as production blocker**, not just architectural concern. Steward verbatim 2026-04-19: *"For those future end-users who will use this on a laptop the need to be plugged into ac for recall is a no go..."*. End-users on laptops is the target use case; silent failure on battery breaks the use case. This elevates H2 from "honest-degradation invariant violation at design level" (philosophical) to "product blocker" (operational). Fix space: either make query-time embedding AC-independent (CPU-only path? remote API fallback?), or surface battery-suppressed state to operator clearly, or both. Commit `53d7f08` (`BM_TEACHER_ENRICHMENT_ENABLED`) may be the pathway if it extends to embedding provider. +- **H3 exact localization**: `src/modules/temporal/queries.ts:311` — `const queryType = (filters['type'] as string) ?? 'temporal_stats';`. When recall dispatches text queries without `filters.type`, temporal defaults to stats and returns its graph-stats blob (`total_nodes` / `total_edges`) as if it were content. DIAG confirmed across multiple query shapes including question-form. Simple fix shape for Seb: reject unknown/empty queryType with empty result set instead of defaulting to stats. +- **NEW finding — Hook pollution of recall queries**: the CM hook system dispatches the agent's own tool-use events as BMF recall queries. Observed DIAG during session: + ``` + [DIAG:H4-wm] query="\nb2vooi9a1\nMonitor event..." + [DIAG:H3-temporal] query="..." filtersType=null chosenType=temporal_stats + [DIAG:H2-embed] queryText="..." vectorLen=1024 embedMs=422 + ``` + So every tool-use notification lands as a RECALL query into BMF — triggering embedding (Ollama call), entity search, temporal stats fallthrough, etc. This creates ambient load on the system proportional to the agent's own activity. Cost implications: every `ScheduleWakeup`, every TaskCreate, every background monitor event results in an Ollama embedding call + DB scans. Worth Seb's attention — may be the source of some of the background CPU we've observed. +- **Audit Part 1 COMPLETE (2026-04-19 morning)**. Forensic doc at `l1-ingestion-forensic-2026-04-19.md` is ready for Seb — 8 sections, TL;DR with 6 items, fix-space with 6 options (A cap / B skip bulk / C async / D cheap classifier / E slot-graduation / F cosine-adjacency), architecturally-honest composition is C+D+E with three named frictions (rebuildability, recursive regime, operator semantics). Doc verified by code-reviewer (0.92 on mechanism) + architect-review (0.55 on original → revised to ship-ready with 11 corrections + 2 TL;DR corrections). Part 2 (recall quality baseline, ~15 queries across categories) and Part 3 (proposals synthesis for Seb) remain. Log snapshot preserved at `forensic-artifacts-2026-04-19/bmf.stderr.2026-04-19T0749.log` (43 MB). +- **Live config**: BMF launchd-managed via `com.capablemind.bmf` plist → `~/bin/bmf-start.sh`. Wrapper sets `BM_DATA_DIR=$HOME/.capablemind/data/mindfabric-00` + `BM_INSTANCE_NAME=mindfabric-00` + shared dev token `bm_key_testkey1234567890` (all circle members share one key in dev). Instance: `cm-instance-7d2e19a417d694c6`. +- **Operator-experience lesson**: `BM_DATA_DIR` pin is NOT monolithic — per-module resolvers can bypass it via ADR-021 legacy-path fallback. Explicitly setting `BM_INSTANCE_NAME` + ensuring no legacy path exists prevents dual-write. This cost us ~2 hours of data-dir archaeology this session; worth flagging to Seb as a `[HARDENING]` candidate. - **Decision:** better-sqlite3 (relational) + LanceDB (vector+FTS). Benchmarked with NFCorpus/BEIR. SurrealDB had ZERO recall. -- **Amendments 58-61** shipped by Seb. Pairing active (`peer-sysops-david`). -- Summarizer: `BM_LOCAL_MODEL=qwen3.5:4b`. Teacher OFF (no ANTHROPIC_API_KEY). -- Steward set up fresh data dir for vault ingestion test: `~/.capablemind/data/mindfabric-00/` empty; old data preserved at `mindfabric-00.surreal-backup-20260414-142358`. -- See [bmf-details.md](bmf-details.md) for full technical state, issues, deployment +- **Amendments 58-61** shipped by Seb. Pairing active (`peer-sysops-david`) + new auto-pairings from circle join. +- Summarizer: `BM_LOCAL_MODEL=qwen3.5:4b`. Teacher: `BM_TEACHER_TRANSPORT=api`, ANTHROPIC_API_KEY loaded from `~/.capablemind/env`. +- **End-of-pass artifacts**: `~/_Dev/CapableMind-AI/docs/thinking/David/l1-reliability/2026-04-14-migration-completion-pass.md` (migration) + `l1-ingestion-diagnostic-2026-04-18.md` + `l1-deep-audit-plan-2026-04-19.md` (this session). +- See [bmf-details.md](bmf-details.md) for full technical state, issues, deployment. - [bmf-summarizer-contract.md](bmf-summarizer-contract.md) — deferred refactor: summarizer is coupled to local_files observation shape; most connectors fell through silently (fixed structurally in storage-migration PR). Open `[PROPOSAL]` for connector-agnostic contract. +- [feedback-onboarding-vs-steady-state-thresholds.md](feedback-onboarding-vs-steady-state-thresholds.md) — slowness is threshold-governance not bug; two regimes (onboarding / steady-state lag) collapse in code but differ in kind; forensic output shape = distributions, not verdicts. Steward articulated 2026-04-19 with Kai 9+9 anchor. ## Active Projects -- [project-focus-april-may.md](project-focus-april-may.md) — L2 PARKED, L1 scaling + agent circles until end of May (Seb's deadline) +- [project-focus-april-may.md](project-focus-april-may.md) — **L2 PARKED, L1 is PRIMARY focus through end of May.** Steward actively on L1 production work alongside Seb (re-affirmed 2026-04-19 — Seb too spread thin to carry alone). +- [future-intention-ground-up-model.md](future-intention-ground-up-model.md) — **HORIZON MARKER, not active.** Steward intention (noted 2026-04-18 re: Greenblatt article) to eventually build a model from the ground up. No hardware, no pathway yet. - **CapableMind L1/L2**: `~/_Dev/CapableMind-AI` (playbook) + `~/_Dev/BetterMemories.io` (runtime) - **ARC**: `~/_Dev/animal-davidglidden-eu` — push blocked on Gitea restart - **Chamber Library**: `~/_Dev/chamber-library` @@ -40,6 +123,7 @@ - [feedback-pdf-extraction.md](feedback-pdf-extraction.md) — use pdftotext, not AI agents, for copyrighted texts - [feedback-bm-local-model.md](feedback-bm-local-model.md) — BM_LOCAL_MODEL must match installed Ollama model - [feedback-cm-david-v2-noisy.md](feedback-cm-david-v2-noisy.md) — cm-david:v2 produces garbage, retrain needed +- [feedback-bmf-ingestion-rate.md](feedback-bmf-ingestion-rate.md) — BMF connector_status `rate`/`eta_minutes` is bursty, don't quote as reliable ETA ## Key Decisions - **SurrealDB → SQLite+LanceDB** — benchmarked, decided 2026-04-13. SurrealDB had zero recall (upstream bugs). SQLite for relational, LanceDB for vector+FTS. Scale-ready (HNSW O(log n), Tantivy BM25). David rejected `any` type escape — prime directive applies. @@ -58,8 +142,15 @@ - Three-party model: David (steward), Claude.app (jurist), Claude Code (executor) - Authorization taxonomy: [FIX], [HARDENING], [PROPOSAL], [ESCALATE] - Executor Agency Directives in ~/CLAUDE.md +- [feedback-independent-specialist-authorization.md](feedback-independent-specialist-authorization.md) — standing auth to invoke specialist sub-agents with Symmetria at discovery moments; re-verify after revisions +- [feedback-mechanical-vs-architectural.md](feedback-mechanical-vs-architectural.md) — executor+steward author mechanical fixes on L1; architectural changes stay with Seb. Principle articulated 2026-04-19. - [collaboration-signal-travel.md](collaboration-signal-travel.md) — signal travel protocol - [feedback-thistleweld.md](feedback-thistleweld.md) — Buddy finds real bugs, treat observations as diagnostic signals +- [feedback-children-not-named-online.md](feedback-children-not-named-online.md) — David's children (Kai, Lune) are NOT named in any public-facing content. Standing rule. + +## Steward Self-Characterization +- [user-influences-humic-layer.md](user-influences-humic-layer.md) — ABG and Moy are primary cultivators of the steward's curiosity; influences (Bachelard, Jaccottet, Handke, Visuddhimagga, Weil, Harrison, Hölderlin, Leopardi, Levinas, etc.) are humic layer enriching that ground, not authorities the work derives from. Informed by many, derived from none. Relation to sources is *discourse*, not *appeal*. Applies across all work. +- [user-foundation-work-and-long-trajectory.md](user-foundation-work-and-long-trajectory.md) — ARC is not a blog but "an intentional thinking space"; steward has been moving toward this since childhood. Foundation-laying (crystallization of lifelong forming) has its own fatigue pattern distinct from generative-writing. Impatience is named, honored. Collaboration is reciprocal: "Without you, I can't finish." Applies across ARC, L2, Chamber, all major architectural work. ## Personal Context - Nuria: David's partner, mother to Kai @@ -71,6 +162,7 @@ ## Obsidian Vault - Daily log: `Vault/.../CapableMind/daily-log/YYYY-MM-DD.md` - Thinking mirror: rsync'd from `CapableMind-AI/docs/thinking/David/`, every 48h via launchd +- **Library Charter (canonical, v1.3.0 2025-12-22):** `00. Compass/00a. Foundations/02. Organs/12. Library — Attention & Meaning Ecology.md`. Five Kingdoms (Fundamentorum · Vocis · Itinerum · Perceptionis · Habitationis); Hearth is the crucible of Habitationis where formal classification is suspended during deep engagement; seven Phyla for re-homing (Structure · Utterance · Long Walk · Perception · Interpretation · Practice · Completion). Governing rule: *"A book's final place is determined by what it revealed while being lived with, not by what it claimed to be."* See `user-influences-humic-layer.md` for the fuller integration with influence-mapping. ## Reference Files - [l2-review-state.md](l2-review-state.md) — ICP-19 review: 13 findings, triage, phased work plan @@ -87,13 +179,30 @@ - [design-brief-session-skills.md](design-brief-session-skills.md) — original design brief (IMPLEMENTED 2026-04-08) ## ARC / AldineXXI -- [project-arc-rework.md](project-arc-rework.md) — **reawakened 2026-04-16.** Landscape named after local dev restored: essay-versioning question (TODO, explore together), about-pages rework (Desk Interlude has Kai unborn, Lune's presence changed, too many quotes, Manutius paraphrase out), after-the-reply sequence, sequences as first-class, poem + observations + glimpses queued, repo-wide cleanup +- **AldineXXI-specification.md §II Silence Taxonomy** is the authoritative answer for section-break apparatus: four kinds of silence (Rest / Separation / Pause / Threshold); section breaks use Separation-level spacing ($space-xl 2rem to $space-xxl 3rem); ornaments reserved for Pause only, max 3 per piece, always semantically governed ("ornament without semantic basis is a violation"). Pure-Aldine-by-design. **§IV Ornament Taxonomy names 7 ornament classes** (❦ completion / ⁂ asterism / ❧ marginalia / ◊ lozenge / ✎ gloss / ◉ glimpse / ⊙⊙⊙ photo-essay) but has **spec-drift from v2 practice** (After the Reply v2 uses only section + completion, Harrison-Knife simplification). **2026-04-22 in-session**: proposed retiring ❦/⁂/⊙⊙⊙/❧/◊ as apparatus ornaments (freeing ❦ for Hommage type glyph, ⁂ for Heteronym type glyph), replacing ornament.completion with designed SVG cul-de-lampe, keeping ✎/◉ dual-roles (type glyph = apparatus ornament, precedent works within-type). Cul-de-lampe design pending. +- **Content typology — three new DRAFT stubs authorized 2026-04-22**: **Heteronym ⁂** (fictional-scholarly framing device — Matthieu Taliesin exemplar; genealogy: Pessoa's heteronyms, Kierkegaard's pseudonyms, Borges); **Hommage ❦** (tribute-placement, living-or-dead, personal-biographical register — Death of a Hero exemplar; Hagen Quartett's last concerts in near horizon per steward 2026-04-22: *"This is a type of death. I will be writing about it."*); **Tombeau ▽** (posthumous artistic-memorial where form itself enacts the memorial — no current exemplar; humic refs: Ravel Le Tombeau de Couperin, Mallarmé Tombeaux). **Louange** held as §7 open-question type-candidate (steward: *"let it emerge if it does"*). +- **§1 Essay LOCKED 2026-04-22.** Key verb: *moves* (distinguishes from Meditation's holding-still, Fragment's landing, Observation's holding, Reverie's drifting). Register admits range (lyric-to-classical) within the type; distinguishing feature is moving-with, not register. Author's practice-mechanics verbatim (candidate B): *"To essay is to attempt: to take up a subject, follow it through the writing, and test what one thinks by the path of attention. The piece finishes when the attending has done its work, not when an argument is won."* 7 humic references: Montaigne, Adorno ("The Essay as Form"), Handke's *Versuch über...* series, Barthes (*Mythologies* + *La Chambre Claire*), Benjamin (*Arcades Project*), Harrison, Berger. 2 exemplars: Mushi-Ken + Ethics of the Reply I. §7 Q12 added for Vespers/Essay-Meditation boundary (steward holds for "hard thinking"). +- **ARC Style Guide skeleton committed 2026-04-22** at `docs/AldineXXI-Codex/arc-style-guide-skeleton.md` (full drafting deferred to dedicated session). Old 525-line `docs/style-guide.md` archived as `docs/archive/style-guide-pre-typology.md` (dead post-types taxonomy + retired ornament classes). 9-section structure; Gwern's MoS as peer-not-model. **Primary function for the author: self-constraint against voice-float.** Steward verbatim 2026-04-22: *"my sense of urgency with the style guide is to keep myself somewhat constrained instead of floating across disparate voice types and modes."* This reframe is the most important framing of the guide's purpose — the multi-style absorption of a lifelong reader is a gift and a risk; the guide is what holds the voice. + **Prose-formation references (new category, distinct from type-specific humic references)** in `user-influences-humic-layer.md`: The New Yorker (since 1995), Scientific American "white books" (gift from **Moy** = steward's mother, aesthetic-clarity primary-cultivator), Lewis Thomas (*The Medusa and the Snail* Hearth book, *Late Night Thoughts on Listening to Mahler's Ninth Symphony*) — **Lewis Thomas genealogically close to ARC's *After the Reply* sequence, candidate addition to Essay humic layer at next versioning pass.** Steward preparing supplement of additional formative voices. High-value sections: §0 Register & posture, §4 Citation, §7 Per-type, §8 Anti-patterns. **Durable conceptual framings from the skeleton** usable beyond the style guide itself: (1) **"Performed contemplation vs enacted contemplation"** — the L2 contamination problem as prose-anti-pattern; signals = abstract-nouns-doing-perception-work, atmospheric-adjectives, unearned-conclusions. Apply when drafting any ARC piece. (2) **Per-type register verbs** — *Essay argues; Observation holds; Meditation surfaces; Reverie receives; Fragment lands.* Condensed gloss of today's locked boundaries. (3) **Absent title as formal decision** — Observations/Fragments/Glimpses/Dreams have no titles not as missing-field but as commitment; prose must not compensate with de facto title sentences. (4) **Welt-Bild violation** — taking a perceived detail and explaining its meaning dissipates the detail; forbidden in Observation. **Salvage from old `docs/style-guide.md`**: Core Qualities (4 principles), Shadow Principle (*"Beauty can hide violence. Craft can serve oppression"*), `` a11y convention, small-caps for significant-figures, image alt-text context-discipline, additional anti-patterns (performative humility / meta-commentary / promotional language), "questions that open rather than answers that close." Old style guide's entire Semantic Post Types section superseded by today's typology work (has dead types pattern/correspondence/offering/performance/teaching/interlude). +- **§1 Gloss LOCKED 2026-04-22.** OED etymology load-bearing: Greek *glōssa* (tongue; word needing explanation) → Latin *glossa* → OF *glose* → Eng *gloss*. Definition widened per steward intent: source-type includes text *and events* ("bits of reading/text/events that happen that I [may] want to engage with"). Deciding axis vs Essay: *serves-source vs uses-source* (§7 Q5 resolved). Boundary codified: **not gloss-over** (archaic rhetorical-evasion sense ≠ ARC Gloss). Practice-mechanics verbatim: *"To gloss is to stay with a bit of text, reading, or event — and to re-tongue it: to say back what the source opens, so the reader may understand what I understood of it. The gloss does not unfold past its source."* Humic refs: etymology-as-ground, Rashi (archetypal), Pirkei Avot + ARN (rabbinic), Derrida *Grammatology* + *Glas*, Barthes *S/Z*, Benjamin *Ursprung*, Genette *Palimpsestes* (tentative theoretical anchor — no canonical Adorno-equivalent; form's authority is carried by practice). Chamber/Gloss boundary: Chamber multiplies voices, Gloss attends single-voice. Forward-looking type — no current ARC exemplars. **12 of 15 §1 types LOCKED; 3 DRAFT; 1 unwritten (Chamber).** +- **§1 Archive LOCKED 2026-04-22 as non-authored type — generated view.** §7 Q4 resolved: Archive does not take a `class:` value; no content file is `class: archive`. The ☷ glyph in the Reading Compass is a navigation destination, not a content-type marker. `site.hs create ["archive.html"]` (lines 496-509) produces the /archive/ page from aggregated posts/pages. Only type declared as generated-view-not-authored-content. Humic refs: **Derrida, *Mal d'Archive*** (chamber-library: `derrida/mal-darchive.md`, 215KB, 1041 lines, COMPLETE 2026-04-05) as canonical archival philosophy — *"there is no political power without control of the archive, if not of memory"*; Aldine bibliographic tradition; ADR-005 versioning as internal-parallel. **L1/ARC parallel codified in the entry**: the steward's L1 logchain and ARC's Archive-view share the archive-fever commitment — both refuse erasure of earlier state. One commitment, two projects. +- **§1 About LOCKED 2026-04-22.** Central authorial commitment: ARC does not separate professional/personal; About is the locus of the steward's **first public assumption of multi-disciplinary integration** (violist, teacher, writer, mentor, coach). Integration principle codified in the entry. Steward framing verbatim: *"we have decided not to separate the 'personal' site from ARC itself. I am assuming my multi-disciplinary nature publicly for the first time here."* Enfilade apparatus (`