Basic Memory retired + MemPalace 3.4.0 upgrade plan saved + Brewfile line dropped

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) <noreply@anthropic.com>
This commit is contained in:
David F Glidden
2026-06-07 20:45:56 +02:00
co-authored by Claude Opus 4.8
parent 16184027b5
commit 960b256146
4 changed files with 52 additions and 3 deletions
@@ -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]]).