Tiramemsu
Layered, never-forget memory for agents.
A knowledge graph stores facts. An agent also has to say how sure it is, where it read something, what it concludes from it — and later, that it was wrong. Those are statements about statements. In Tiramemsu a fact is a row with its own id, and that id can be the subject of another statement: layers of provenance and belief, with no second data structure.
It is bitemporal — when the database believed something, and when it was true — and it never forgets: triggers inside the file reject deletes, so forgetting means retracting. SPARQL and openCypher share one store, and an MCP server hands the memory to Claude Code or any other client. One Rust library, one SQLite file, also running in the browser on WebAssembly.
What it does
- Layers
- Provenance, confidence and beliefs stack to any depth. Retracting a fact retracts its layers; correcting it replays them.
- Two clocks
- Transaction time and valid time, with now, as_of, history and valid_at views — ask what the agent believed last Tuesday.
- Never forgets
- SQLite triggers reject DELETE and any second change to a row. Memory is corrected by superseding, never overwritten.
- SPARQL and Cypher
- One store, two query languages, one semantics. Metagraphs and named graphs are ordinary statements.