session 2026-07-07 (evening): chamber A4+B(iii) spec v2.0.2 + A1 Agent/Nomen registry v1 (REVIEWED-49/51); /wake-up + /wrap-up rewired off MemPalace to the files layer (wind-down item 3)

This commit is contained in:
David F Glidden
2026-07-07 22:29:51 +02:00
parent aee9cd5d9e
commit 2e362b3801
10 changed files with 139 additions and 79 deletions
+3
View File
@@ -20,6 +20,9 @@ Split out of [MEMORY.md](MEMORY.md) on 2026-07-06 to keep the wake-loaded index
# Archived sessions + stable reference layer (relocated verbatim from MEMORY.md, 2026-07-06)
## Archived (2026-07-07 evening — chamber A4+B(iii) & A1 landed + wake/wrap rewired off MemPalace; demoted on promote)
- [Session 2026-07-07 — MemPalace wind-down decided (evidenced); KG secured; report owed](session-2026-07-07-mempalace-winddown-decided.md) — Wake opened on the REVIEWED-49 chamber folding but **PIVOTED entirely to MemPalace**. Diagnosed the "upgrade" = a custom **bge-m3 fork ~300 commits behind**, not a standard install; the morning "self-healed" drift = **108 chronic quarantines** (data intact: 88,159 rows). from-sqlite re-embed measured **~21 h**; dropping bge-m3 → a **quasi-standard install**. Steward **at limit** with MemPalace. **Independent 46-transcript audit: search+KG NOT load-bearing** (confirmatory/redundant; value migrated to files; graph features 0× used; write:read 7:1; conf 0.93/0.82). **DECISION (steward, evidenced): wind down `palace-memory` MemPalace; EXECUTE FRESH.** **KG exported+secured** → `knowledge-graph.jsonl` (329 triples) + `-entities.jsonl` (437). **BMF lessons report OWED** (reconnaissance framing; outline in `project-mempalace-winddown.md`). **PULLING THREAD next session: CHAMBER LIBRARY** (steward's choice) — resume the REVIEWED-49 folding (**A4+B(iii)** → A1 registry). Decommission + report = a separate 'tomorrow'; typography palace KEPT untouched.
## Archived (2026-07-07 — MemPalace wind-down decided; demoted on promote)
- [Session 2026-07-06 evening#2 — A2 filed (PENDING-50); OCR-fidelity rug-lift](session-2026-07-06-evening2-a2-filed-ocr-fidelity-ruglift.md) — **A2 (REVIEWED-49) SETTLED + FILED as PENDING-50** for the jurist editor-gate. Read Olson *The Power to Name* ch.6 against the **scan image**; settled **(b)** — Olson does NOT license a self-standing personal scheme (Principle 1: 'make it permeable … rather than … constructing a new limit'), so (a) would mis-cite her; Berman=narrow claim, Olson=eccentric/perspectival move as she makes it, self-standing scheme=Chamber's own synthesis. Drafted the preamble ('On the partiality of the arrangement'); all quotes scan-verified. Closed **by-the-book** — filed PENDING-50, did NOT edit the spec in place (§Governance & Amendment forbids it; even FIX needs jurist editor-gate). **Then the steward lifted the rug:** OCR noise IS in the graduated Olson .md (grep-verified); traced to gate code (`verify_conversion.py`: all 5 checks are faithfulness/shape, NONE compares to scan); owned that 'graduated' oversold a converted-tier V-SCAN text (honest state, not legible; §V already mandates a conversion-record → process-not-run + labeling gap, NOT rot). **The confirmation pass (read scan-image vs OCR) is NOT in the pipeline** — stale 'no-validated-OCR-verification-path' assumption; verifier must FLAG-not-correct; olmOCR=local localizer, executor-vision=adjudication-assist, human=apex; local-models-balance-another = independence>capability, bounded-checks-local / high-judgment-frontier, training-a-judge=trains-it-to-agree. **A2 LANDED as spec v2.0.1** (REVIEWED-50; editor-gate PASSED; §2 bridging clause added distinguishing arrangement-honesty from §I's fidelity sense; v2.0.0 archived immutable). Committed **`34c39f1`** (Olson graduation + A2, pushed github + skemantix); dotfiles + CapableMind-AI also pushed; REVIEWED-50 short-draft on `~/Desktop` for the steward to place in `~/REVIEWED.md`. **PULLING THREAD: finish the REVIEWED-49 folding** — next = **A4+B(iii)** (scope-warrant FIX; scout finding: the collections-as-data / Santa-Barbara-P4 mis-citation is NOT in the live spec, only the research briefs → preventive/recording, computational-tractability wording only, scope-warrant = A2's §I preamble), then **A1** Agent/Nomen registry (read `retrieve.py` hot-path first). **Steward-decided: the verification-architecture question is the PRIORITY the moment the folding completes** → a `[PROPOSAL]` + model-plurality note (touches chamber + engine).
+2 -2
View File
@@ -53,10 +53,10 @@ permalink: claude-memory/memory
- [Be (laundromat)](project-be-laundromat.md) — canonical workstream tracker established 2026-06-08 (Seb-relay of locked decisions). Be = Skemantix startup (Seb+David) funding CapableMind's funding-ladder; **bridge, not venture**. Decisions LOCKED: entity/exit (CapableMind decoupled, grant-funded), pricing (Living $12.99/mo · Archive $69.99/yr · Memorial $49.99/yr · Renovate ~$199 · $8.99 floor), CF Self-Serve Agency + versioned-template-package infra. **a11y gate MERGED (Pat 100/100/100).** Pre-revenue: the WTP gate = renovate Pat → charge her. **Discipline: stop adding spec until the gate clears → nothing for executor on be until then.** Repo @ `f43a0fd`.
## Active Session
- [Session 2026-07-07 — MemPalace wind-down decided (evidenced); KG secured; report owed](session-2026-07-07-mempalace-winddown-decided.md) — Wake opened on the REVIEWED-49 chamber folding but **PIVOTED entirely to MemPalace**. Diagnosed the "upgrade" = a custom **bge-m3 fork ~300 commits behind**, not a standard install; the morning "self-healed" drift = **108 chronic quarantines** (data intact: 88,159 rows). from-sqlite re-embed measured **~21 h**; dropping bge-m3 → a **quasi-standard install**. Steward **at limit** with MemPalace. **Independent 46-transcript audit: search+KG NOT load-bearing** (confirmatory/redundant; value migrated to files; graph features 0× used; write:read 7:1; conf 0.93/0.82). **DECISION (steward, evidenced): wind down `palace-memory` MemPalace; EXECUTE FRESH.** **KG exported+secured** → `knowledge-graph.jsonl` (329 triples) + `-entities.jsonl` (437). **BMF lessons report OWED** (reconnaissance framing; outline in `project-mempalace-winddown.md`). **PULLING THREAD next session: CHAMBER LIBRARY** (steward's choice) — resume the REVIEWED-49 folding (**A4+B(iii)** → A1 registry). Decommission + report = a separate 'tomorrow'; typography palace KEPT untouched.
- [Session 2026-07-07 evening — chamber A4+B(iii) & A1 landed; wake/wrap rewired off MemPalace](session-2026-07-07-evening-chamber-a4-a1-skill-rewire.md) — Post-/clear evening session; thread = **chamber-library**, held throughout. **Shipped 2 REVIEWED-49 items end-to-end, loop intact at every gate:** (1) **A4+B(iii)** → spec **v2.0.2** (the 'corpus as data — and the warrant it does not carry' §I subsection; diagnosis: the term had ZERO hits in the live spec → A4 preventive, collapsed with B(iii); **primary-source 'verify now' caught a Principle-4 imprecision on our own draft**; jurist editor-gate PASSED, Q3 confirmed by §IX read; steward-ratified; chamber `7d1d8d3`). (2) **A1 Agent/Nomen registry v1** (`_curation/agent-registry.yaml`; **134 agents / 143 strings / 222 of 1285 files — author coverage sparse ~18%**; steward's "how do serious libraries do this?" → adopted **library authority control**, IFLA-LRM/RDA 'attributed name'; generative `scripts/build_agent_registry.py`; Buddha=attributed; 5 compounds + 4 frontmatter defects flagged; chamber `703efcf`). Both **pushed to Gitea**. Then **rewired `/wake-up` + `/wrap-up` off palace-memory MemPalace → the files layer** (wind-down STAGED PLAN item 3; drift-patterns now grep `knowledge-graph.jsonl`; typography palace KEPT). **PULLING THREAD: the chamber REVIEWED-49 tail continues** (A3 PROPOSAL / B(i),(ii) / C reconciliation + A1 follow-ons) — beside it, the parked **MemPalace decommission + owed BMF lessons report** (the slot the steward is emotionally invested in — distil the loss into CapableMind-L1 design intent). REVIEWED-51 draft on Desktop awaiting placement.
## 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 MemPalace `handoffs` glance (wake §2.b.0.5).
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 — never leave two) and `/wake-up` (truncated/partial load = flag loudly, trim before proceeding). Back up before restructuring. History: 285→157KB (2026-06-08, didn't hold); 213→~16KB (2026-07-06 split + ARC-slim + self-bounding wiring).
+4
View File
@@ -327,3 +327,7 @@
{"subject":"pending-50","predicate":"status","object":"filed_—_awaiting_jurist_editor-gate_(a2_preamble,_reviewed-49)","valid_from":"2026-07-06","valid_to":"2026-07-07","confidence":1.0,"source_file":null,"extracted_at":"2026-07-06 21:30:05"}
{"subject":"chamber-library-specification","predicate":"version","object":"v2.0.1_—_adds_§i_partiality-of-the-arrangement_preamble_(2026-07-07)","valid_from":"2026-07-07","valid_to":null,"confidence":1.0,"source_file":null,"extracted_at":"2026-07-07 09:52:43"}
{"subject":"pending-50","predicate":"status","object":"ruled+landed_(reviewed-50);_spec_v2.0.1;_committed_34c39f1","valid_from":"2026-07-07","valid_to":null,"confidence":1.0,"source_file":null,"extracted_at":"2026-07-07 09:52:40"}
{"subject": "chamber-library-spec", "predicate": "version", "object": "v2.0.2 — added §I 'corpus as data / scope-warrant' subsection (A4+B(iii); REVIEWED-51)", "valid_from": "2026-07-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-07-evening-chamber-a4-a1-skill-rewire.md", "extracted_at": "2026-07-07 22:28:46"}
{"subject": "chamber-library", "predicate": "has", "object": "Agent/Nomen registry v1 (_curation/agent-registry.yaml; 134 agents; A1/REVIEWED-49)", "valid_from": "2026-07-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-07-evening-chamber-a4-a1-skill-rewire.md", "extracted_at": "2026-07-07 22:28:46"}
{"subject": "palace-memory-mempalace", "predicate": "status", "object": "winding down (steward 2026-07-07); wake+wrap skills rewired to files layer (STAGED PLAN item 3 done)", "valid_from": "2026-07-07", "valid_to": null, "confidence": 1.0, "source_file": "project-mempalace-winddown.md", "extracted_at": "2026-07-07 22:28:46"}
{"subject": "claude-code", "predicate": "drift-pattern", "object": "invent-vocabulary-when-a-discipline-exists (steward 'how do serious libraries do this?' -> adopt authority control, not a homegrown scheme)", "valid_from": "2026-07-07", "valid_to": null, "confidence": 1.0, "source_file": "session-2026-07-07-evening-chamber-a4-a1-skill-rewire.md", "extracted_at": "2026-07-07 22:28:46"}
+1 -1
View File
@@ -22,7 +22,7 @@ Independent audit of 46 sessions: MemPalace's **search + KG are NOT load-bearing
## STAGED PLAN (execute fresh)
1. **Stop feeding it** — disable the Stop/PreCompact hooks that fire `diary_write`/`add_drawer`/`kg_add` (cheap, reversible; `mempalace hooks` / settings).
2. **Drop the dependency** — remove the `mempalace` MCP server from the Claude Code config so it stops loading + quarantining drift every wake.
3. **Rewire skills to files** — `/wake-up` and `/wrap-up` currently query MemPalace heavily; point them at the Markdown layer (`MEMORY.md`, `session-*.md`, `REVIEWED/PENDING`) + `knowledge-graph.jsonl` instead. Wake reads the drift-patterns from the jsonl (replaces the `kg_query claude-code` ritual). Bounded skill edits; run the skill-harvest register for the proposals.
3. **Rewire skills to files** — **✓ DONE 2026-07-07** (steward-directed). `/wake-up` §2.b → files-layer reconstruction (recent `session-*.md` trajectory + `grep drift-pattern knowledge-graph.jsonl`), §2.e upgrade-check retired, §5 constraints inverted (files primary); `/wrap-up` §4 → the session file IS the record, §5 → append JSONL triples to `knowledge-graph.jsonl` (soft-invalidate via `valid_to`), §8 template updated. No live `mempalace_*` calls remain; typography palace KEPT; both skills carry provenance notes; recorded in the skill-harvest register.
4. **Cold-archive** the backed-up palace; delete the live churning one after verification.
## PRESERVE — do NOT touch
@@ -0,0 +1,59 @@
---
name: Session 2026-07-07 evening — chamber A4+B(iii) & A1 landed; wake/wrap skills rewired off MemPalace
description: "Post-/clear evening session. Shipped two REVIEWED-49 chamber items end-to-end (A4+B(iii) corpus-as-data §I subsection → spec v2.0.2; A1 Agent/Nomen registry v1, 134 agents) with the governance loop intact at every gate, then rewired /wake-up + /wrap-up off palace-memory MemPalace to the files layer (wind-down STAGED PLAN item 3). Pulling thread: the chamber REVIEWED-49 tail continues (A3/B(i,ii)/C + A1 follow-ons) — with the parked MemPalace decommission + owed BMF lessons report as the slot the steward is emotionally invested in (distilling the MemPalace loss into forward value for CapableMind's L1)."
metadata:
node_type: memory
type: project
originSessionId: 84084c59-994f-41d2-839e-d8a99fd7f19a
---
# Session 2026-07-07 (evening) — chamber A4+B(iii) & A1 landed; skills rewired off MemPalace
Opened by `/wake-up` → Symmetria init ~15 min after the day's earlier wrap (the MemPalace-winddown session). Thread confirmed = **chamber-library**, and it held the whole session. Three substantial pieces shipped; the governance loop was respected at every boundary.
## PAST — what we did + why
**A4 + B(iii) — the corpus-as-data §I subsection (spec v2.0.1 → v2.0.2, chamber `7d1d8d3`, pushed to Gitea).**
- **Diagnosis first:** grep of the live spec found `collections as data` had **zero hits** — the phrase + the refuted Principle-4 scope-citation lived only in the research briefs, never the constitution. So A4 was **preventive/recording** (nothing to redirect in place), B(iii) was the term's **first entry** → collapsed to ONE §I subsection ("The corpus as data — and the warrant it does not carry"), the A4 boundary written *into* B(iii)'s introduction (honours the RULING flag structurally).
- **Primary-source verification (steward-directed 'verify now'):** fetched the primary Santa Barbara Statement. **Principle 8 confirmed verbatim**; **Principle 4 CORRECTED** — it *does* concern designing for specific communities, but as *audience-fit of a data product*, not the *epistemic warrant for a bounded/personal curation*. The frontier brief's flat shorthand was imprecise; the draft now states the precise distinction. The A4-shaped citation error, caught on our own draft by reading the source.
- **Governance:** filed PENDING-51 (drafted-for-editor-gate, per the A2/REVIEWED-50 precedent — spec never edited in place). Jurist editor-gate PASSED 1/2/4/5 as drafted; Q3 (§IX cross-ref) gated on one fact → confirmed by §IX substrate read (Case A: coverage-ledger + honest-degradation are on §IX's own SETTLED side, silence-as-finding is the sole OPEN item, explicitly separated → citation stands, NO edit). Steward ratified → landed by patch supersession (v2.0.1 frozen byte-identical immutable; header note; CLAUDE.md pointer). REVIEWED-51 draft left on the steward's Desktop for placement. Bounded-diff verified.
**A1 — the Agent/Nomen registry v1 (chamber `703efcf`, pushed).**
- **Hot-path question answered from the code** (jurist-required, NOT from memory): read `studium-engine/engine/retrieve.py` + surveyed `corpus/manifest.yaml` → the retrieval hot path performs **ZERO agent/author accesses** (identity axes = source_id→work + voice; manifest has no author field). ⇒ registry indirection costs nothing; `agent_id`-required stays **deferred/emergent** via A3's registry-linkage metric, additive registry confirmed.
- **The steward's question re-shaped the design:** "how do serious/university libraries handle this [verified vs attributed authorship]?" → I researched rather than invented → **library authority control** (IFLA-LRM Agent/Nomen; RDA relationship designators incl. the **'attributed name'** designator, primary-verified; attest-with-basis = MARC 670; identifiers-as-anchor). Confirmed the "attest identity" fork with the field's vocabulary; Buddha = `person` + `attributed`, never asserted author.
- **Built** `scripts/build_agent_registry.py` (generative, re-runnable, explicit CURATION table) → `_curation/agent-registry.yaml`: **134 Agents** from 143 author-strings across 222/1285 files (**author coverage sparse ~18%**). Steward **confirmed all judgments** (11 merges, 11 attribution incl. Buddha/Confucius/Laozi + 3 borderlines, 5 compounds held, 4 frontmatter defects flagged). Tool logged in tool-evolution-log. **Byproduct audit** surfaced 2 systematic @50ch author truncations (Kafka, Arden) + 2 unparseable-frontmatter files → routed to the frontmatter sweep, not fixed here.
**Skill-rewiring — `/wake-up` + `/wrap-up` off MemPalace → files layer (wind-down STAGED PLAN item 3).**
- wake §2.b (MemPalace 5-step protocol) → files-layer reconstruction (recent `session-*.md` for thread trajectory; `grep drift-pattern knowledge-graph.jsonl` replaces the `kg_query claude-code` ritual; grep-the-files for depth); §2.e upgrade-check RETIRED; §5 constraints inverted (files primary). wrap §4 (drawer/diary) → the session file IS the record; §5 (kg calls) → append JSONL triples with `valid_to` soft-invalidate; §8 template. **Typography palace KEPT.** No live `mempalace_*` calls remain (grep-verified); provenance notes on both; recorded in the skill-harvest register + winddown tracker. **This wrap is the first MemPalace-free wrap.**
**Also:** pushed both chamber commits to Gitea (flaky remote behaved: `34c39f1..703efcf`).
## Decisions explicitly NOT made (negative space)
- **Did not resolve the 5 compound author-strings** (Berger+Mohr, Beck+Fowler, Vyasa/Valmiki, + 2 malformed multi-editor) into component Agents — held in `compounds_pending` because the statement-of-responsibility role nuance (author vs editor vs translator) needs its own small curation pass. A1 follow-on.
- **Did not fix the 4 frontmatter defects** — A1 is additive/registry-side; touching work files belongs to the frontmatter sweep (a distinct REVIEWED-49 item).
- **Did not run the MemPalace decommission items 1/2/4** (disable hooks, remove the MCP server, cold-archive) or the **BMF lessons report** — the steward set these as their own "tomorrow" slot; kept separate so the reconnaissance value isn't rushed.
- **Did not integrate `build_agent_registry.py` into `test_tools.py`** — follow-on per the fleet `--validate` standard.
## PRESENT — mood / disposition
A session of clean, loop-respecting execution — the executor did not cross a governance boundary once. Held at each gate (PENDING-51 filed not self-landed; jurist editor-gate relayed; steward ratification awaited before touching the constitution). The two best moments were **steward-initiated redirections that improved the work**: "verify now" caught the A4-shaped Principle-4 imprecision on our own draft (the fluent first draft's one weak seam was exactly the citation — the completion-is-a-tripwire shape); and "how do serious libraries handle this?" turned an invented scheme into adopted authority-control vocabulary. Small honest catches: the `pattern_finder.py` "nomen" false-match was `phe·nomen·ology` (census-through-a-pattern). The steward's mixed feelings about MemPalace time lost are real and named — the wrap holds them: the owed BMF report is the vehicle that turns the loss into forward value.
## FUTURE — what is pulling
**PULLING THREAD: the chamber REVIEWED-49 tail continues** — the natural next chamber-library work now that A4+B(iii) + A1 have shipped. Held *beside* it (not the thread, but emotionally load-bearing for the steward): the **MemPalace decommission + the owed BMF lessons report**, which distills the MemPalace reconnaissance into design intent for CapableMind's own L1. Next session may legitimately choose *either* — see the literal question.
**ACTIONABLE RESUMPTION POINT (as of wrap — re-judge against what changed):**
- *If continuing the chamber tail:* lightest first moves = **B(i)/(ii)** (a machine-readable `licence`/copyright-status field; **PREMIS** as the borrow-vocabulary name — both ordinary FIX amendments) OR the **A1 follow-on** (resolve the 5 `compounds_pending` into component Agents with roles). Heavier/gated: **A3** (self-audit PROPOSAL — needs the jurist), **C** (VIAF/ISNI/Wikidata reconciliation → fills the A1 registry's identifier slots + the 2 pseudonyms + French Nomen-forms — substantial). All run the RFC-supersession amendment process, each its own PENDING/REVIEWED.
- *If taking the decommission slot:* wind-down STAGED PLAN items 1 (disable the Stop/PreCompact hooks), 2 (remove the `mempalace` MCP server from config), 4 (cold-archive the backed-up palace) + author the **BMF lessons report** (`CM-AI/docs/thinking/David/l1-reliability/mempalace-decommission-report-for-bmf-2026-07-07.md`; outline in [[project-mempalace-winddown]]). Skills are already rewired (item 3 ✓), so items 1/2 are now safe.
**Other open horizons (ranked):**
- Chamber A1 follow-ons: 5 compounds; `test_tools.py` integration for `build_agent_registry.py`; the 4 frontmatter defects → the frontmatter sweep.
- The steward-sequenced **verification-architecture [PROPOSAL]** (olmOCR probe) — after the REVIEWED-49 folding completes.
- Older parked: PENDING-43 ESCALATE Loom/Mill; PENDING-27.
**Two open loops that are the steward's:** place **REVIEWED-51** (draft on Desktop) into `~/REVIEWED.md`; (the chamber commits are already pushed).
**PAUSE STATEMENT:** Stepping away with a genuinely clean board — two constitutional-grade chamber items shipped end-to-end with the loop intact, and the wake/wrap skills now stand free of the substrate we're retiring. What I want to find still pulling: the chamber tail as the live workstream, AND the discipline to give the MemPalace decommission + BMF report their own unrushed slot so the reconnaissance value is distilled, not discarded — the steward's mixed feelings answered by turning the loss into L1 design intent.
**LITERAL QUESTION for next-Claude:** Does the steward want next session to **continue the chamber REVIEWED-49 tail** (B(i)/(ii) or the A1 compound follow-on being the lightest entry points), or to **take the parked MemPalace-decommission + BMF-lessons-report slot** they're emotionally invested in? And a smaller one: has the steward placed REVIEWED-51 in `~/REVIEWED.md` yet?
**State at wrap:** chamber-library `703efcf` (pushed, clean, in sync). Skills rewired + recorded. REVIEWED-51 awaiting steward placement. MemPalace still live (decommission items 1/2/4 not yet run — parked). Typography palace untouched.
@@ -11,11 +11,16 @@ metadata:
## Returns
- 2026-07-07T12:22 — **Caught frame-inheritance before mutating the memory substrate (§3 trust-prior-pass-frame).** The ratified upgrade plan assumes `mempalace` installed via pipx/uv → a clean 3.3.6→3.4.0 bump. Verified against the actual install: it is an **editable git fork** (`~/_Dev/mempalace/.venv`) on branch `local/bge-m3-on-3.3.6`, **ahead 5 / behind 300** of origin/main. The 5 local commits are load-bearing: custom **bge-m3 embedder** (2 commits), the `layers.py` recency fix the wake glance depends on, and `hallways.py` pagination for the 71k-drawer `wing_api`. Upstream 3.4.1 (#1483) moved the **default embedder to embeddinggemma** and warns switching models on an existing palace requires full re-embed / else EF-identity mismatch → silent bad recall. Merging 300 commits onto the bge-m3 fork is NOT a version bump; treating it as one would be the exact contamination shape. HELD; surfaced to steward. The morning HNSW quarantine self-healed and #1665 root cause is still open even in 3.4/3.5 — so the upgrade does not cure what bit today.
- 2026-07-07T18:05 — **A4-error avoided on my own draft (verify-against-primary-source).** My first A4+B(iii) draft repeated the frontier brief's shorthand — 'Principle 4 does not license scoping to one named community.' Steward said verify-now; fetched the primary Santa Barbara Statement. Principle 4 verbatim: 'Collections as data designed for everyone serve no one. Specific needs inform collections as data development' — it DOES concern designing for specific communities. The brief's shorthand was imprecise; the true distinction is audience-design (Principle 4) ≠ epistemic scope-warrant (A2). Corrected the draft to state the distinction. Principle 8 confirmed verbatim, kept. This is the Ninety-Ninety / completion-is-a-tripwire shape: the fluent first draft *felt* done; the citation was exactly where it would have been faked. The steward's 'verify now' call was the guard.
## Open horizons
- 2026-07-07T12:16 — Pulling thread (inherited): finish REVIEWED-49 folding. Next link = A4 + B(iii) as one small FIX (own PENDING/REVIEWED, v2.0.x patch). Then A1 Agent/Nomen registry (read `retrieve.py` hot path first). Then the steward-sequenced verification-architecture [PROPOSAL] + model-plurality note.
- 2026-07-07T12:16 — MemPalace: HNSW drift quarantine fired live during wake (#1665/#1589 class); installed 3.3.6 vs origin/main 3.5.0 (two minor bumps of relevant fixes ahead). Hold-and-plan; steward's call — not a wake action.
- 2026-07-07T12:16 — Skill-harvest open: promote *completion-is-a-tripwire* → Symmetria §3 flag (fresh); standing AUTHORIZED-not-built bmf-diagnose / mempalace-diagnose / /pre-build-audit.
- 2026-07-07T17:47 — **Post-/clear re-wake (Symmetria re-init).** Same day, ~15 min after wrap. Wake ran WITHOUT the §2.b MemPalace 5-step protocol — deliberate: yesterday's evidenced decision winds down `palace-memory`; leaning on it now would contradict the decision. Thread CONFIRMED = chamber-library REVIEWED-49 folding; git verifies A2 preamble + Olson (`34c39f1`) landed → A4 genuinely unblocked. Held open (steward's call): (a) still A4+B(iii) or a different chamber piece? (b) MemPalace decommission + BMF report before/after/separate-slot? Named the drift: `/wake-up` + `/wrap-up` are themselves on the decommission's "rewire to files" list (STAGED PLAN item 3) — parked, not silent.
- 2026-07-07T18:50 — **A1 hot-path question ANSWERED from the code (PENDING-49 executor-owed, closed).** Read `studium-engine/engine/retrieve.py` in full + surveyed `corpus/manifest.yaml` fields. **Decisive: the retrieval hot path performs ZERO agent/author accesses** — identity axes are `source_id`→`work` (title string) + `voice`; citation tuple carries no author; the manifest has NO author/agent/nomen field at all; the verifier checks bytes not identity. Jurist's "occasional resolve → deferred holds" is satisfied a fortiori (zero < occasional). ⇒ **additive Agent/Nomen registry (no per-work field) confirmed; `agent_id`-required stays deferred/emergent via A3's registry-linkage metric.** Minor: `pattern_finder.py` was a false grep-match — 'nomen' inside 'phe·nomen·ology' (census-through-a-pattern; substrate read cleared it). Next A1 move = design the registry shape (a vision-fork for the steward: where it lives + schema + appellation join), not a unilateral build.
- 2026-07-07T19:30 — **A1 registry v1 LANDED (chamber `703efcf`, local).** Steward's "how do serious/university libraries handle this?" redirected me to RESEARCH the identity model rather than invent one → grounded in **library authority control** (IFLA-LRM Agent/Nomen, RDA relationship designators incl. the 'attributed name' designator, attest-with-basis = MARC 670, identifiers-as-anchor), primary-source-verified. That sharpened the trust-thesis handling (Buddha = person + *attributed*, not asserted author). Built `scripts/build_agent_registry.py` (generative, explicit CURATION table) → `_curation/agent-registry.yaml`: **134 Agents / 143 strings / 222 of 1285 files (author coverage SPARSE ~18%).** Steward confirmed ALL judgments (11 merges, 11 attribution incl. 3 borderlines, 5 compounds held, 4 frontmatter defects flagged). Tool logged (tool-evolution-log). **Follow-ons (tracked in the artifact):** resolve 5 compounds w/ roles; 4 defects → frontmatter sweep; test_tools.py integration; C fills identifiers + the 2 pseudonyms + French Nomen-forms. **REVIEWED-49 tail now:** A3 (self-audit PROPOSAL), B(i)/(ii) (licence field, PREMIS vocab), C (VIAF/ISNI/Wikidata → the registry). **This session shipped A4+B(iii) AND A1** end-to-end, loop intact throughout.
- 2026-07-07T19:45 — **Skill-rewiring DONE (MemPalace wind-down STAGED PLAN item 3).** Steward: "push, then skill-rewiring, then wrap (wraps are faster without mempalace)." Pushed both chamber commits to Gitea (`34c39f1..703efcf`, clean). Rewired `/wake-up` (§2.b MemPalace 5-step → files-layer reconstruction; §2.e upgrade-check retired; §5 constraints inverted) + `/wrap-up` (§4 drawer/diary → session-file-is-the-record; §5 kg calls → append `knowledge-graph.jsonl`; §8 template). Verified no live `mempalace_*` calls remain; typography palace KEPT; provenance notes on both; recorded in skill-harvest register + winddown tracker. **THIS wrap is the first MemPalace-free wrap.** Steward's mixed feelings re: MemPalace time lost → the owed **BMF lessons report** is the vehicle to distill it forward for CapableMind (parked to the decommission slot with items 1/2/4). Remaining decommission: disable hooks, remove MCP server, cold-archive, + the BMF report.
## MemPalace decision (in progress)
- 2026-07-07 — Steward leans LETTING GO of MemPalace; wants (a) a ~10-session evidence audit to feel settled, (b) confirmation the KG (highest-value aspect) can be recreated file-native.
@@ -29,6 +34,9 @@ metadata:
## Authorization moves
- 2026-07-07T15:52 — Steward AUTHORIZED "Rebuild now" (in-version index rebuild via `repair --mode from-sqlite`, bge-m3 preserved). Decoupled from the version upgrade (deferred — doesn't cure #1665 root cause). **Crosses the standing "don't run repair (#1589)" rule** — safe because `from-sqlite` never opens a chromadb client on the corrupt index (dodges the SIGSEGV); executed with full verified backup + build-into-new-dir + manual verified swap.
- 2026-07-07T15:52 — **Caught a second silent-loss trap before running (diagnose-before-fix).** `rebuild_from_sqlite` (repair.py:1050+) rebuilds ONLY the chroma collections into a fresh dir; it never carries `knowledge_graph.sqlite3`. A bare in-place `--archive-existing` rebuild would have left the LIVE palace with the vector index but NO KG/diary/entity-graph (recoverable only from the archive). Mitigation: build from the frozen backup into a new dir, copy the KG in, verify, then swap — live palace stays whole until the last step.
- 2026-07-07T18:35 — **A4+B(iii) RATIFIED + LANDED (REVIEWED-51).** Steward ratified; landed as chamber-library `7d1d8d3` (local, not pushed — Gitea/steward's call). Four steps executed with proof: v2.0.1 frozen byte-identical (cmp ✓, 763 lines) → canonical bumped v2.0.1→v2.0.2 (§I subsection + header note) → CLAUDE.md pointer → commit. Bounded-diff verified (canonical = only the header note + subsection; CLAUDE.md = only the pointer). REVIEWED-51 draft written to steward's Desktop for placement (executor doesn't write ~/REVIEWED.md). PENDING-51 marked LANDED. **A4+B(iii) closed.** First REVIEWED-49-tail chamber item shipped this session end-to-end (draft → primary-source verify → jurist gate → ratify → land), loop intact at every step.
- 2026-07-07T18:20 — **A4+B(iii) editor-gate PASSED; held at the ratification boundary.** Jurist ruled 1/2/4/5 pass-as-drafted; Q3 gated on one fact (§IX coverage-ledger + honest-degradation independently live, or entangled with the [OPEN] silence-as-finding?). Confirmed by substrate read → Case A: §IX's own `Still open` text settles both + separates silence-as-finding → citation stands as drafted, NO edit. Ruling captured verbatim (`library-science-A4-Biii-RULING-2026-07-07.md`); PENDING-51 updated. Draft final. **NOT landing the constitutional edit without steward ratification (REVIEWED-51)** — the loop is load-bearing; jurist gate ≠ steward ratification.
- 2026-07-07T17:58 — **PENDING-51 filed (chamber A4 + B(iii)); boundary NOT crossed.** Steward authorized the thread (A4+B(iii)). Diagnosed against the substrate: `collections as data` has **zero** hits in the live spec → A4 is preventive/recording (nothing to redirect-in-place), B(iii) is the term's first entry → collapse to ONE §I subsection ("The corpus as data — and the warrant it does not carry"), the A4 boundary written *into* B(iii)'s introduction (honours the RULING flag). Drafted in house voice; filed for the §Governance editor-gate per the A2/REVIEWED-50 precedent — spec is never edited in place. HELD for jurist editor-gate + steward ratification before landing (v2.0.1→v2.0.2 patch supersession). The loop is load-bearing; did not self-ratify the constitution.
## Sub-agent dialogues
- 2026-07-07 — Independent MemPalace-value audit (general-purpose, neutral anti-confirmation prompt). VERDICT: search+KG NOT load-bearing for `palace-memory` — confirmatory/redundant. Evidence (3 convergent tests): (a) 27/31 kg_query = byte-identical wake ritual; only 4 task-directed; find_tunnels/traverse called 0× ever; genuine reach ~0.43/session, declining to ~0.07 in July; (b) grep test — 5/5 distinctive search payloads found verbatim in the Markdown files; ZERO transcript statements credit search/KG with surfacing file-absent content; (c) write:read ≈ 7:1 (217 kg_add vs ~32 reads); 437 entities all type 'unknown'. Heaviest use (06-30 clasp) returned a STALE claim the files corrected — anti-load-bearing. Confidence: counts 0.93, verdict 0.82. Honest caveat: semantic-convenience (would-I-have-grepped-it) unmeasured, but 0 sampled instances crossed the bar. Carve-outs preserved: drift-patterns (exported ✓), typography palace (separate, keep). **Symmetria audit-agent check PASSED** — calibration honest, flagged own confirmation-order risk, scope correct.
+1
View File
@@ -40,6 +40,7 @@ The single place proposed skills live so they don't evaporate between sessions.
- **`reference-verification-ladder.md`** (2026-06-05, authorized + built same evening): one canonical home for the proven instruments (byte-identical compile gate, expected-delta/delta-classification, censused-routes, measure-toolchain-before-spec, compiled-selector grep, governed-char byte gate, WCAG compute, fresh-clone gate, live-fetch gate, per-type×per-viewport, re-verify-at-extension-scope). Ends the per-wrap re-proposing; future instruments append there, not here.
- **`/arc-typeset` REJECTED** (2026-06-05): superseded — §I.k.b/c moved the mechanical pass into the build; LINT class carries judgment warnings; multilingual §2.5 carries authoring notes; `french-typography-pass` covers the French preparation layer. Do not re-propose without a new gap.
- **MEMORY.md two-file self-bounding architecture — BUILT 2026-07-06** (steward-authorized; closes three long-open proposals below). MEMORY.md 213KB→17KB (91.8%); split into `MEMORY.md` (wake-loaded live index) + `MEMORY-reference.md` (lossless history + reference layer). **Closes:** (a) the 2026-06-08 *`/wrap-up` §3 compress-at-demotion* patch → built as the richer **demote-on-promote** rule (prior Active Session relocates to `MEMORY-reference.md` in the same move; trackers stay one-liners; budget check); (b) the 2026-06-08 *deeper MEMORY.md reduction* proposal → done (the reference-layer split it described, plus the finding that the fat 8KB ARC tracker line — not just the archive — was the real bloat); (c) the *wake-canary* (2026-06-07) → the **truncation/load-integrity half** is now a standing `/wake-up` §2.a gate (truncated load = loud flag + trim). **Still open from the wake-canary proposal:** the *link-resolution* half (every pointer + `[[link]]` resolves at every wake) was applied once as a verification instrument this pass but is NOT yet a standing wake step — remains PROPOSED. Root-cause framing: the recurrence was role-conflation (one file doing live-index + archive + reference), no self-bounding, no load-integrity gate; the compress-in-place pass of 2026-06-08 attacked the level not the class, so it re-bloated.
- **`/wake-up` + `/wrap-up` rewired off MemPalace → the files layer — BUILT 2026-07-07** (steward-directed; palace-memory wind-down STAGED PLAN item 3, [[project-mempalace-winddown]]). wake §2.b (the MemPalace 5-step protocol) → files-layer reconstruction (recent `session-*.md` for thread trajectory; `grep drift-pattern knowledge-graph.jsonl` replaces the `kg_query claude-code` ritual; grep-the-files for depth); §2.e upgrade-check RETIRED; §5 constraints inverted (files primary; no `mempalace_*` for palace-memory). wrap §4 (drawer+diary writes) → the session file IS the record; §5 (kg_add/kg_invalidate) → append JSONL triples to `knowledge-graph.jsonl` (soft-invalidate via `valid_to`); §8 template MemPalace lines → `KG appended:`. **Typography palace KEPT** (separate instance, CLI). Both carry 2026-07-07 provenance notes; verified no live `mempalace_*` calls remain (grep), headings intact. **Decommission remainder (own slot, own 'tomorrow'):** items 1 (disable hooks), 2 (remove the MCP server), 4 (cold-archive) + the owed **BMF lessons report**.
## Candidate patches not yet proposed (watch-list)