v3.3.0

MemPalace/mempalacev3.3.0Apr 14, 2026by milla-jovovich

AI Summary

Major architectural release introducing closets as the searchable index layer, BM25 hybrid search combining vector similarity with keyword matching, and support for 8 languages with full localization.

Key Highlights

  • Closets layer - searchable index pointing to drawers (R@1 improved 38% from 0.42 to 0.58)
  • BM25 Hybrid Search combining 60% vector + 40% keyword matching
  • 8 Languages supported (English, French, Korean, Japanese, Spanish, German, Simplified Chinese, Traditional Chinese)
  • Halls - content type routing (7 types: technical, emotions, family, memory, creative, identity, consciousness)
  • Multi-Agent Safety with file-level locking for atomic delete+insert cycles
  • Cross-Wing Tunnels for explicit project-to-project links with 4 new MCP tools
  • Background auto-mining from conversation transcripts

New Features

  • Closet searchable index layer with AAAK pointers
  • BM25 hybrid search with Okapi-BM25 and Lucene IDF
  • Internationalization with 8 languages and per-language regex patterns
  • Diary ingest with day-based drawers
  • Cross-wing tunnels for project linking
  • Hall detection for content type routing
  • Entity metadata on drawers and closets
  • Fact checker against entity registry and knowledge graph
  • LLM closet regeneration (bring-your-own endpoint)
  • Drawer-grep returning best-matching chunk plus neighbors
  • Pluggable storage backend
  • mempalace migrate command for ChromaDB version recovery
  • 29 MCP tools total
  • Auto-save using transcript path

Full Release Notes

**Visit [mempalaceofficial.com](https://www.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

```bash
pip install --upgrade mempalace
```

Thank you from Milla and Lu ✨