Blog · August 12, 2026 · 1 min read
Memory you can diff
Every change to your memory is a commit. Here is what that makes possible, from "what did I know in June" to undoing a bad import.
When we say Esfis has a git-like history we mean it fairly literally. Every extraction, every edit, every supersede and every forget is a commit against the store, with a parent, a timestamp and a source.
What you can do with it
Ask what you knew. esfis as-of 2026-06-15 "Alex" returns the state of every fact about Alex on that date. Useful for "why did the assistant say that", and for the occasional argument about who said what when.
Diff two states. esfis diff 2026-08-01 2026-09-01 lists what was added, superseded and forgotten over August. Team admins use it as a weekly digest of what the shared space learned.
Undo an import. Imported a ChatGPT export and it brought in three years of noise? esfis revert <commit> walks it back as one operation. The facts are archived, not destroyed, until you purge.
Audit a fact. Click any memory in the app and the timeline shows where it came from, which conversation, which assistant, and every revision since.
What it costs
Storage, mostly. History roughly doubles the size of the store for a typical user, which puts a busy year at around 400 MB. We compact old history on a schedule you control, and you can always esfis squash to a snapshot.
Latency is unaffected: recall reads the current state, which is a materialized view over the commits.
Why bother
Because memory you cannot inspect is memory you have to trust, and trust is the wrong relationship to have with a system that speaks on your behalf. If an assistant knows something about you, you should be able to find out how, and change it.

