Volodymyr Pavlyshyn

Projects · open source

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.

layer 3 · belief “Alice is an Acme employee” — rests on e1 layer 2 · about e1 confidence 0.8 · source chat-2026-09-29 layer 1 · fact e1 · alice worksAt acme when it was recorded · when it was true — never deleted, only retracted —

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.

← All projects