A long-term memory for Claude Code, Codex, Gemini CLI and friends: why you chose this, what bit you, what's still open. Kept as a graph you can see and edit, in a file inside your repo, with every model running on your machine. Open source, MIT.
Hi Product Hunt! I built Engram Alpha, a local memory for AI coding agents, because nothing on the market fit my purposes. I never needed anything unique. I wanted memory that stays coherent and gives some guarantees against knowledge drift.
The projects I tried fell into two camps. Some fade memories by usage or time, which is naive: the most important note can sit in a graph for years, waiting for the right moment. Others save memories into a graph and stop there. A graph on its own is not enough either.
The core problem is that keeping thousands of notes free of contradictions is something an LLM cannot do. It cannot read them all, and what it cannot read, it cannot check. Specialized models exist for exactly this task, though: NLI models are small, run locally, and are built to say whether two statements contradict each other.
Early on I got the obvious question: is this even better than maintaining a flat file? So I built a benchmark against flat files of different sizes, grep, and a simple RAG setup. Flat files work up to a point. Past a medium amount of knowledge they stop being comparable, because a thousand notes in a flat file take most of the context window, and attention is the scarce resource. The benchmark ships in the repo and every retrieval change has to cite a run.
So I combined these pieces into a single-binary local MCP server: hybrid retrieval, several scenarios for finding contradictions, and a trust lifecycle. A note can fade, but it cannot disappear. Superseded knowledge is archived behind the note that replaced it, and deleted knowledge leaves a tombstone so no agent re-learns it.
The part I care about most is the UI. It shows how the LLM sees things, what it can and cannot do with this memory, and every setting is adjustable from there. It works best when you look at the data sometimes and triage the open problems yourself. You can also ask the LLM to do that.
Live demo, no install: https://techtheist.github.io/eng...
Install is one line, then run engram-alpha setup in your repo:
curl -fsSL https://raw.githubusercontent.co... | sh
Happy to answer anything about the benchmark or the contradiction checks