session 2026-07-07: MemPalace wind-down decided (evidenced audit) + KG exported to files

Diagnosed the "upgrade" as a 300-behind bge-m3 fork, not a standard install; the
morning "self-healed" drift was 108 chronic quarantines (data intact). Independent
46-transcript audit: search+KG not load-bearing (value migrated to files). Steward
decided (evidenced) to wind down palace-memory; execute fresh. KG exported to
knowledge-graph.jsonl (329 triples + 437 entities). Wind-down plan + BMF-lessons
report outline captured. Demote-on-promote; skill harvest appended.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Dsqe1x23NgWaRdiFWSotur
This commit is contained in:
David F Glidden
2026-07-07 17:42:40 +02:00
co-authored by Claude Opus 4.8
parent 63a219fb8a
commit aee9cd5d9e
8 changed files with 916 additions and 2 deletions
@@ -0,0 +1,37 @@
---
name: session-ledger-2026-07-07
description: "Practice-of-return ledger maintained by /symmetria — returns, open horizons, recalibrations, authorization moves, sub-agent dialogues, bypasses."
metadata:
node_type: memory
type: feedback
originSessionId: 9f112d92-72f5-434e-8b7f-cde0e80da021
---
# Session Ledger — 2026-07-07
## 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.
## 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.
## 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.
- **KG SECURED (no-regret move, done):** exported 329 triples + 437 entities → `memory/knowledge-graph.jsonl` + `knowledge-graph-entities.jsonl`, all lines JSON-validated. KG is small/structured (84 drift-patterns = the gem; entities all type 'unknown' → the "entity-first" feature was never populated). Files-layer is git-tracked (dotfiles, 368 files) + dual-remote → the export is now MORE durable than the MemPalace KG. Recreation-as-file = an upgrade, not a compromise; aligns with the standing /wrap-up §5 proposal. Remaining wiring (wake reads it / wrap appends) is a small follow-on IF we wind down.
- Value read (mine, this session as evidence): files carried the entire wake reconstruction; MemPalace search/KG was confirmatory. Highest genuine value = KG drift-patterns (now file-secured) + the separate typography palace (keep, untouched).
- PENDING the independent audit before finalizing wind-down.
## Confidence to recalibrate
- 2026-07-07T15:50 — **Overclaimed "self-healed" re: the morning HNSW quarantine.** It was damage-control, not repair — verified 108 quarantines since May 26 (near-daily, same segment UUID recurring). Corrected to the steward; the accurate frame is chronic compounding drift. Data itself is intact (sqlite 88,159 embeddings = 88,159 metadata; KG separate + present). Lesson: don't reach for a reassuring verb ("healed") before verifying the mechanism.
## 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.
## 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.
- DECISION (steward's, evidenced): wind down `palace-memory` MemPalace. Recommend executing the skill-rewrites FRESH, not at the end of this long session.
## Bypasses