From 960b256146c110c0f4679497fcba42b89168505d Mon Sep 17 00:00:00 2001 From: David F Glidden Date: Sun, 7 Jun 2026 20:45:56 +0200 Subject: [PATCH] Basic Memory retired + MemPalace 3.4.0 upgrade plan saved + Brewfile line dropped MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Trial verdict (criteria pre-registered in 3f9a89b): false-clean sync report disqualifies — index stale for same-session writes while status says 'No changes'. Lessons 7-13 compiled to CM-AI substrate-failure-lessons-2026-06-07 (6cb3fe9). CLAUDE.md conflict-precedence amendment made by steward same evening. Upgrade plan: backup-first, palliatives acknowledged, migrate-wings and repair excluded. Co-Authored-By: Claude Opus 4.8 (1M context) --- Brewfile | 1 - CLAUDE.md | 3 +- claude/memory/MEMORY.md | 1 + .../project-mempalace-upgrade-3-4-0-plan.md | 50 +++++++++++++++++++ 4 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 claude/memory/project-mempalace-upgrade-3-4-0-plan.md diff --git a/Brewfile b/Brewfile index 63d2bd8..88f637a 100644 --- a/Brewfile +++ b/Brewfile @@ -86,7 +86,6 @@ mas "TestFlight", id: 899247664 mas "Vinegar", id: 1591303229 mas "Xcode", id: 497799835 mas "xSearch", id: 1579902068 -uv "basic-memory" npm "@anthropic-ai/claude-code" npm "corepack" npm "mcp-remote" diff --git a/CLAUDE.md b/CLAUDE.md index 0e344a0..60bd325 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -127,8 +127,7 @@ Every Claude Code output is tagged: `diary_write`. If a hook fails or you notice something load-bearing mid-session, write manually. - **"Let me check"** — when the answer matters and isn't immediate, say so and query. The cheapness of querying is the point. - - **MemPalace > memory files when they conflict** — memory files are point-in-time snapshots; MemPalace is - maintained continuously across sessions. + - **A conflict between MemPalace and memory files is a verification trigger, not a precedence call** — neither layer wins automatically. Files are point-in-time snapshots; MemPalace is continuously maintained but carries a known silent-drift class (HNSW↔sqlite divergence, #1665/#1589, no safe repair path). On conflict: verify against the primary substrate (code, git, the document itself) before acting, then correct whichever layer was wrong (kg_invalidate/kg_add, or the file edit). Treat MemPalace as witness, not notary. Storage is not memory. Memory is storage exercised by protocol. diff --git a/claude/memory/MEMORY.md b/claude/memory/MEMORY.md index 20dbf42..8247713 100644 --- a/claude/memory/MEMORY.md +++ b/claude/memory/MEMORY.md @@ -32,6 +32,7 @@ permalink: claude-memory/memory - Chamber-typography — *tracker not yet established*; substantive moves live in per-session memories (2026-05-11 onward) + `project-chamber-cruft-restoration.md` + `project-chamber-typography-mining-plan-2026-05-15.md`. - [ARC chamber v1-legacy cluster](project-arc-chamber-v1-legacy-cluster.md) — ARC's `content/chamber/**` is intentional v1-Chamber legacy (not drift); deferred to-do = gather into a presentable cluster as a record of development. Out of §5 clause-1 audit scope. Confirmed 2026-05-29. - Studium Engine — *tracker not yet established*; substantive moves live in per-session memories (2026-05-15 onward) + the seed brief at `~/_Dev/studium-engine/`. +- [MemPalace 3.4.0 upgrade plan](project-mempalace-upgrade-3-4-0-plan.md) — scheduled post-heavy-work (ratified 2026-06-07): backup → upgrade → verify layers.py recency fix → re-test wing filter; migrate-wings + repair EXCLUDED. Basic Memory RETIRED 2026-06-07 (false-clean sync verdict; lessons → CM-AI substrate-failure-lessons-2026-06-07.md). - [L1 reliability](project-L1-reliability.md) — canonical workstream tracker established 2026-05-28 (Symmetria-pulse decision). Current state at top (updated 2026-06-06) + chronological log 2026-03-21→. **Status: the 2026-06-06 three-note reply arc is SENT (`b255e74`/`0ecb45e`/`2e87bab`) — baton with Seb; do not re-enter L1 until he responds/pushes.** mindfabric-00 root-caused (temporal chain path) + restart-as-holding-pattern + backed up; PENDING-27 awaits jurist. Read tracker at /wake-up before composing L1 portion of any briefing. ## Active Session diff --git a/claude/memory/project-mempalace-upgrade-3-4-0-plan.md b/claude/memory/project-mempalace-upgrade-3-4-0-plan.md new file mode 100644 index 0000000..ef7dbfe --- /dev/null +++ b/claude/memory/project-mempalace-upgrade-3-4-0-plan.md @@ -0,0 +1,50 @@ +--- +name: project-mempalace-upgrade-3-4-0-plan +description: "Scheduled MemPalace 3.3.6 → 3.4.0 upgrade — approach ratified 2026-06-07, execute a few days later once past the heavy ARC work. Backup first; migrate-wings and repair explicitly excluded." +metadata: + node_type: memory + type: project + originSessionId: 5a8200e7-d734-4dc1-b69e-93d77076cab2 +--- + +# MemPalace upgrade 3.3.6 → 3.4.0 — scheduled plan (ratified 2026-06-07) + +**Steward directive:** execute "in a few days once we've gotten past the heavy work" +(the ARC SCSS day 2026-06-08 + whatever follows). Never change the memory substrate the +night before — or morning of — a big work day. + +**Why upgrade:** 3.4.0 (92 commits, on PyPI) ships a filtered-search **fallback** (#1245) ++ MCP **stale-index retry** (#1635) — converts our most-hit failure (#1665 wing-filter +`Error finding id`) from hard error to graceful degradation — plus diary_write/hook +repairs (#1693, #1700: content alias, −32602 diagnostic) that touch the exact machinery +our Stop/PreCompact hooks fire. + +**Why caution:** our two filed issues remain OPEN — #1665's root cause (HNSW drifts from +sqlite after bulk delete) is unfixed, and #1589 (`repair` rebuilds an index chromadb +SIGSEGVs on) is untouched. Palliatives, not cures. Full read: CM-AI +`docs/thinking/David/l1-reliability/substrate-failure-lessons-2026-06-07.md` §10. + +## The sequence (one sitting, ~30 min) + +1. **Backup the palace first** — `~/.mempalace/palace-memory` (and the typography palace + if touched): same-disk copy, verify count. No backup → no upgrade. +2. Upgrade the installed tool to **3.4.0** (installed via pipx/uv — check `which mempalace` + for the carrier; currently 3.3.6). +3. **Re-apply / verify the local recency-ordering fix in `layers.py`** — the wake-up CLI's + handoffs ordering depends on it; if the upgrade clobbers it, the thread-lineage glance + reads oldest-first (wake §2.b.0.5 documents the symptom). +4. **Re-test wing-scoped search** (`mempalace_search` with `wing:`) — expect graceful + fallback now, not `Error finding id`. Either way keep the unscoped+post-filter + workaround until #1665's root cause closes. +5. **Smoke the session protocol**: `mempalace_status`, one `kg_query`, one `diary_read`, + CLI `wake-up --wing claude-sessions` (ordering check per step 3). +6. **Do NOT run `migrate-wings`** (wing-name normalization — interesting for our odd wing + names but a 61k-drawer migration wants its own considered session, after a verified + backup and a read of the migration guide). **Do NOT run `repair`** (#1589, still + booby-trapped). +7. Note the outcome in the day's ledger + this file; if the wing filter now degrades + gracefully, update [[feedback-mempalace-wing-filter-broken]]. + +**Standing posture regardless of version:** witness, not notary — per the 2026-06-07 +CLAUDE.md amendment (conflicts = verification triggers). MemPalace remains the +unaffiliated stopgap; BMF is the destined replacement ([[mempalace-is-unaffiliated-stopgap]]).