MP-001 · fol. i · a memory palace for ai

# Memory is identity.

An AI that forgets cannot know you. MemPalace keeps every word you have shared — verbatim, on your machine, forever available. One hundred percent recall by design.

Begin
View on GitHub

Recall
  100%
API keys required
  0
Hook budget
  <500ms

i the forgetting
before · after

## The same conversation, twice.

Scroll down and watch. On the left, a model without memory. On the right, the same model with MemPalace. The words are identical — until two weeks pass.

without mempalace session resets · no recall
with mempalace verbatim · retrieved <50 ms
ii anatomy of a palace
the method of loci, updated

## Wings. Rooms. Drawers.

A two-thousand-year-old memory technique, reworked for a machine. Broad categories nest time-based groupings; time-based groupings hold verbatim drawers. A symbolic index lets the model scan thousands of drawers in a single breath and open only the ones it needs.

W — wing

### The Wing

people · projects · topics

A broad region of the palace, keyed to a real entity — a person by name, a project by codename, a domain of your life. Entity-first, always.

R — room

### The Room

days · sessions · threads

Inside a wing sit rooms — discrete units of time. One room per day, or one per session. Walk the corridor and the palace unfolds chronologically, room by room.

D — drawer

### The Drawer

verbatim · permanent · exact

Each room holds drawers. A drawer is a single chunk of verbatim content — the exact words, untouched. The palace's promise is kept here.

iii the aaak dialect
index ← verbatim

## A compressed symbolic language for finding, not remembering.

The content stays verbatim — always. The index above it is written in AAAK: a dense symbolic dialect an LLM can scan at a glance. Tens of thousands of entries, one pass, exact drawer located.

drawer · D-007 verbatim · exact · permanent

The drawer, as stored.

"My son's name is Noah. He turns six on September 12th. He loves dinosaurs — especially the therizinosaurus because of the claws. We want to do a small party at the park on Glebe Point Road, maybe eight kids."

— kept as spoken. never rewritten.

index · AAAK
index · AAAK indexes · compressed · addressable

The pointer, as indexed.

    § W-042/R-11/D-007
    @p noah~son.age=6~dob=09-12
    @l glebe-pt-rd.park
    @e birthday~party(n≈8)
    @i therizinosaurus~claws
    @t 2026-04-14T09:41
    § ptr → D-007 (verbatim)

Ninety-plus percent compression on the pointer layer. One hundred percent fidelity on the content layer. You get speed without ever losing a word.

iv how it works
mechanism · architecture

## Four pieces. No cloud. No keys.

— 01

### Local-first

ChromaDB on disk. SQLite for the knowledge graph. Nothing is uploaded. Nothing is synced. Your palace lives under a single directory on your machine.

path · ~/.mempalace
— 02

### Zero API

Extraction, chunking, and embedding all run locally. No OpenAI key, no Anthropic key, no sentence-transformers endpoint. The memory works even offline, on a plane.

keys required · none
— 03

### Background hooks

Filing and indexing happen silently through Claude Code hooks. On session end, on pre-compaction. You write. The palace fills itself behind the curtain.

hook budget · <500 ms
— 04

### Temporal graph

Relationships across entities with valid-from and valid-to dates. Who worked on what. When did this change. Facts that were true then, and may not be now.

store · sqlite
v begin
open a drawer

## Build your palace.

One command to install. One to initialize. Your words — yours, permanent, instantly recallable — from that moment on.

~/mempalace · bash

    $ pip install -e ".[dev]"
    Successfully installed mempalace
    $ mempalace init
      ✓ palace created at ~/.mempalace
      ✓ hooks registered (stop, precompact)
      ✓ knowledge graph initialized
    $ mempalace remember "memory is identity."
      ✓ filed · W-001/R-01/D-001

Visit the repository
Read the manual