MemPalace has always had a full memory protocol embedded in its
status response, but the skills were treating it as a library
catalog — one search on wake, nothing on wrap. Inspection revealed
the gap: the KG was empty (0 entities, 0 triples ever), and the
diary had exactly one entry, from 2026-04-09. Storage without
protocol is not memory; it is unindexed potential.
The protocol, as MemPalace itself states it:
1. ON WAKE-UP: mempalace_status (loads protocol + AAAK spec)
2. BEFORE RESPONDING: kg_query or search first; never guess
3. IF UNSURE: "let me check" and query — wrong is worse than slow
4. AFTER EACH SESSION: diary_write in AAAK format
5. WHEN FACTS CHANGE: kg_invalidate old, kg_add new
wake-up changes:
- Step b.0: mempalace_status first (loads protocol, not just data)
- Step b.1: diary_read for claude-code agent (last 3 entries) —
the previous self's voice
- Step b.2: kg_query on claude-code (drift patterns to hold today)
and on pulling-thread subjects (authoritative current state)
- Step b.3: semantic searches as before
- Constraints: MemPalace is primary memory; when it disagrees with
a memory file, trust MemPalace
wrap-up changes:
- Step 4 split into 4.a (drawer — semantic full content) and
4.b (diary_write — AAAK compressed agent voice). Both surfaces;
different future queries.
- New step 5: kg_invalidate facts that changed this session; kg_add
new drift patterns, decisions, entities.
- Output template surfaces diary + KG update counts, not just drawer.
The drift-pattern handling replaces the proposed patterns-i-drift-
toward.md file idea. KG is the better home: queryable, temporal,
invalidatable. When a return is a repeat, kg_add it; wake-up's
kg_query surfaces it next session.
Verified by usage on today's session: diary entry filed (AAAK),
3 KG facts added (drift-pattern register-import-without-checking,
ARC versioning-regime ADR-005, after-the-reply-sequence staged).
This is the first real exercise of the protocol.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>