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
-1
View File
@@ -86,7 +86,6 @@ mas "TestFlight", id: 899247664
mas "Vinegar", id: 1591303229 mas "Vinegar", id: 1591303229
mas "Xcode", id: 497799835 mas "Xcode", id: 497799835
mas "xSearch", id: 1579902068 mas "xSearch", id: 1579902068
uv "basic-memory"
npm "@anthropic-ai/claude-code" npm "@anthropic-ai/claude-code"
npm "corepack" npm "corepack"
npm "mcp-remote" npm "mcp-remote"
+1 -2
View File
@@ -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. `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 - **"Let me check"** — when the answer matters and isn't immediate, say so and query. The cheapness of querying is
the point. the point.
- **MemPalace > memory files when they conflict** — memory files are point-in-time snapshots; MemPalace is - **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.
maintained continuously across sessions.
Storage is not memory. Memory is storage exercised by protocol. Storage is not memory. Memory is storage exercised by protocol.
+1
View File
@@ -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`. - 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. - [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/`. - 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. - [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 ## Active Session
@@ -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]]).