Visit mempalaceofficial.com for the full story behind this release and a visual guide to the architecture.
Highlights
Closets are here
The architecture we designed — wings, rooms, closets, drawers — is finally complete. Closets are the searchable index layer: compact AAAK pointers that tell the searcher which drawer to open. Search hits closets first (fast), then hydrates the full verbatim content from drawers.
Closets are a boost signal, not a gate — direct drawer search always runs as the floor. Closets can only improve results, never hide them.
- R@1: 0.42 → 0.58 (+38%) with regex closets
- R@5: locked at 1.00 — no regression
- Optional LLM closets (bring-your-own endpoint) push R@1 to 0.67
BM25 Hybrid Search
Search now combines vector similarity (60%) with BM25 keyword matching (40%). Catches exact names, project codes, and error messages that embeddings miss. Real Okapi-BM25 with Lucene IDF, not a placeholder.
8 Languages
MemPalace speaks English, French, Korean, Japanese, Spanish, German, Simplified Chinese, and Traditional Chinese. CLI output, AAAK compression instructions, and regex patterns all localized. Add a language by translating one JSON file.
Halls — content type routing
Drawers are now tagged by content type: technical, emotions, family, memory, creative, identity, consciousness. Halls connect rooms within a wing by what KIND of content they hold — search "emotional moments in my project" and get exactly those.
Multi-Agent Safety
File-level locking prevents concurrent agents from creating duplicate drawers. The delete+insert cycle is now atomic — two agents mining the same file can't interleave.
Cross-Wing Tunnels
Agents can create explicit links between projects. "This API design in project_api relates to the database schema in project_database." Four new MCP tools: create, list, delete, follow tunnels.
Background Everything
Save hooks no longer ask the agent to write in chat. Conversations are mined automatically from the transcript — no configuration needed. Zero tokens spent on bookkeeping.
What's New (since v3.1.0)
New Features
- Closet layer — searchable index pointing to drawers
- BM25 hybrid search — keyword + vector combined
- i18n — 8 languages with per-language regex patterns
- Diary ingest — day-based drawers, one per day, upsert as day grows
- Cross-wing tunnels — explicit project-to-project links
- Hall detection — content type routing (7 hall types)
- Entity metadata — names stamped on drawers and closets
- Fact checker — verify text against entity registry + knowledge graph
- LLM closet regeneration — bring-your-own endpoint (Haiku, Gemma, any model)
- Drawer-grep — search returns best-matching chunk + neighbors, not whole file
- Backend seam for pluggable storage (#413)
mempalace migrate— recover palaces across ChromaDB versions (#502)- New MCP tools: drawer CRUD, tunnel management, hook settings, export (29 tools total)
- Auto-save uses transcript path — no env var needed
Security
- Palace deletion guardrails, WAL redaction, MCP input validation (#739)
- Input validation, argument whitelisting, concurrency safety (#647)
- Credential paths removed from benchmarks (#177)
- Shell injection fixes in hooks (#387)
Bug Fixes
- Remove chromadb <0.7 upper bound — unblocks 1.x installs (#690)
- Fix convo_miner 8-line response truncation (#708)
- Prevent HNSW bloat from duplicate add() calls (#544)
- Unicode support in sanitize_name() — Latvian, CJK, Cyrillic (#683)
- Auto-repair BLOB seq_ids for chromadb migration (#664)
- Parse Claude.ai privacy export format (#685)
- Detect mtime changes to prevent stale HNSW index (#757)
- Full-content hash in drawer IDs for stable re-mines (#716)
- Remove 10k drawer cap from status display (#707)
- Noise stripping — system tags and Claude UI chrome removed from drawers
- 30+ additional bug fixes
Documentation
- CHANGELOG.md added
- CLOSETS.md — closet lifecycle documentation
- 42 TDD tests verifying every README claim against code
- README audit: tool count (29), version badge, token costs, AAAK description all corrected
Internal
- 109 commits since v3.1.0
- Test suite: 860+ tests (up from ~90 at v3.1.0)
- ruff 0.4.x lint + format clean
Install / Upgrade
pip install --upgrade mempalaceThank you from Milla and Lu ✨