
An agent writing code learns a great deal about a project in a single session: why a particular library was chosen, where the deployment once broke, which workaround actually worked, which commands really ship a release, and which constraints must not be broken.
The trouble is that almost all of that knowledge lives only in the current context. A new session explores the code again, repeats old mistakes, and asks questions that were answered yesterday.
EchoVault saves not the whole conversation but the working conclusions: JWT was chosen because the API is stateless; this error appears after token rotation; a release is only cut from a clean worktree; the old endpoint must not be removed before the migration.
The project's author stresses a local-first motive: he wanted memory that does not require keeping decisions about client codebases in someone else's cloud and does not hold a heavy background process in RAM between sessions. The whole design grows from that - and we will take it apart piece by piece.
What EchoVault is, and what is done differently
EchoVault is a local long-term memory system for agents that work with code. It connects to the agent over MCP and offers three core operations: save a memory, find a memory, and get the project context before starting work.
Version 0.5.0 calls itself not merely persistent memory but a continuously maintained project working model. The shift matters: memory should not grow forever but stay current, verifiable and compact enough for retrieval to be useful.
Many memory systems are arranged like this: text, embedding, vector database, similar chunks. EchoVault's chain is different: readable Markdown, a SQLite index with full-text and vector search, context tailored to the current task, and lifecycle maintenance of the records. In practice that yields several useful properties: memory can be opened without EchoVault at all; keyword search works with no embeddings; semantic search is switched on separately; there is no mandatory cloud store; the agent gets not just a top-k list but a prioritised context pack; retrieval quality can be measured against your own set of questions; and old records can be reviewed, archived and marked as superseded.