Files
dotfiles/claude/memory/project-mempalace-winddown.md
T
David F GliddenandClaude Opus 4.8 aee9cd5d9e 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
2026-07-07 17:42:40 +02:00

46 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
name: project-mempalace-winddown
description: "Decision (steward, evidenced, 2026-07-07): wind down the palace-memory MemPalace instance and rewire wake/wrap to the files layer. Execution deferred to a fresh session. KG already exported + secured. Typography palace KEPT, untouched."
metadata:
node_type: memory
type: project
originSessionId: 9f112d92-72f5-434e-8b7f-cde0e80da021
---
# MemPalace wind-down — palace-memory
**Decision (steward, 2026-07-07):** wind down the `palace-memory` MemPalace MCP instance. It is the unaffiliated stopgap ([[mempalace-is-unaffiliated-stopgap]]); BMF/CapableMind is the destined replacement. Execute the rewrites **fresh/rested**, not at the tail of the long 2026-07-07 session.
## Why (evidenced — full detail in `session-ledger-2026-07-07.md`)
Independent audit of 46 sessions: MemPalace's **search + KG are NOT load-bearing** for palace-memory — confirmatory/redundant. Three convergent tests: (a) `find_tunnels`/`traverse` used **0× ever**; 27/31 `kg_query` = a byte-identical wake ritual; genuine reach ~0.43/session, declining to ~0.07 in July; (b) 5/5 distinctive search payloads found verbatim in the Markdown; **zero** transcript statements credit search/KG with file-absent content; (c) write:read ≈ 7:1; 437 entities all type 'unknown'. Heaviest use (06-30 clasp) returned a **stale claim the files corrected**. Confidence: counts 0.93, verdict 0.82. Cost of keeping: HNSW↔sqlite drift (#1665/#1589) fired live at the 07-07 wake — silent-bad-recall class, **no safe repair path**; install is an editable fork ahead 5/behind ~300.
## DONE (2026-07-07 — no-regret, reversible)
- **KG exported + secured:** `memory/knowledge-graph.jsonl` (329 triples) + `memory/knowledge-graph-entities.jsonl` (437), all JSON-validated. Git-tracked (dotfiles, dual-remote) → strictly more durable than the SQLite KG. Highest-value slice = 84 `drift-pattern` triples (most already mirrored in feedback-memory files).
- **Verified backup:** `~/.mempalace/palace-memory.pre-rebuild-bak-20260707-1230` (chroma 88,159 + KG). Keep until wind-down verified complete.
- Throwaway partial re-embed dir removed.
## 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.
4. **Cold-archive** the backed-up palace; delete the live churning one after verification.
## PRESERVE — do NOT touch
- **Typography palace** (`~/.mempalace/palace-chamber-typography`, queried via CLI for ARC type work, [[reference-typography-palace-cli]]) — SEPARATE instance, genuinely used, KEEP as-is. The audit verdict is palace-memory ONLY. Do **not** do a global embedder flip (would break it, 1024-dim/bge-m3).
- The exported drift-patterns — wire wake to read them.
## BMF lessons report — OWED (steward-requested 2026-07-07), part of decommission (tomorrow)
**Framing (steward's own):** MemPalace was a long experiment — stopgap AND *reconnaissance*: a substrate close to our own vision, run to see **from the inside** how others approach the AI-memory problem. The report harvests everything of value **FOR BMF** (CapableMind L1, the real replacement), not a mere obituary.
**Home:** `~/_Dev/CapableMind-AI/docs/thinking/David/l1-reliability/mempalace-decommission-report-for-bmf-2026-07-07.md` — build ON `substrate-failure-lessons-2026-06-07.md`, do not duplicate.
**Sources to gather (fast):** substrate-failure-lessons-2026-06-07.md + sibling l1-reliability post-mortems (recall-quality-baseline, ingestion-forensic, deep-audit-plan); MemPalace's own `~/_Dev/mempalace/CLAUDE.md` design principles; THIS session's forensics (`session-ledger-2026-07-07.md` + the audit verdict); PENDING-16 (observation-recall coupling) + PENDING-17 (epistemic integrity) = BMF design intent to map to; the MemPalace feedback memories.
**Drafted outline (my synthesis this session — fill this in):**
1. *What MemPalace is* (the idea close to ours) + *what we ran* (~4 mo, ~88k drawers, session substrate alongside a files layer).
2. *Verdict — delivered vs aspirational:* search+KG NOT load-bearing (audit: ~0.43 reach/session→~0.07; graph features 0×; write:read 7:1); value **migrated to files**; the "cheap context / 100% recall" promise vs the fragile reality.
3. *Failure modes → BMF lessons:* HNSW↔sqlite drift, no safe repair → index must be **rebuildable from an authoritative store** + drift **detectable/auto-healed** (validates L1 logchain-as-truth); silent-degradation-quarantine → **honest degradation** (constitutional constraint #4 — MemPalace = case study of the violation); repair-SIGSEGV → **recovery is the most-tested path**; heavy embedder + global-config lock-in + 21h re-embed → **swappable/deterministic-re-embed-from-source, per-collection**; write:read 7:1 bloat → **validates PENDING-16 observation-recall coupling**; fork-maintenance (300 behind) → **own the stack**.
4. *Ideas worth carrying:* verbatim storage; **temporal-validity KG** (valid_from/to, invalidate); hooks-driven zero-token background ingestion; cross-session **diary/continuity**; local-first/privacy-by-architecture; a scannable compressed index (AAAK) — concept worth evaluating. **Decorative-not-load-bearing** (avoid): the wing/room/drawer loci metaphor (wing-filter broken, entities all type 'unknown', graph-traverse never used).
5. *THE deep lesson — files-authoritative convergence:* value migrated to git-versioned Markdown; the durable substrate should **BE** the verifiable/versioned layer, with vector/graph a **rebuildable-from-truth index, not the primary store.** Maps to L1 logchain-as-truth + PENDING-17 (don't launder uncertainty).
6. *Decommission record:* KG exported ✓; typography palace kept; backup retained.
## Moot now
- The 3.3.6→3.5.0 fork-rebase / embeddinggemma-vs-bge-m3 question is **moot for palace-memory** (we're leaving it). Typography stays on bge-m3 as-is unless separately revisited.