This is a small library for giving an agent persistent memory without running any infrastructure. The whole store is one SQLite file, and the default install has no dependencies. I built it because whenever I wanted an agent to remember a handful of facts across sessions, the options were a hosted API, a vector database, or a framework, and that felt like too much for what is usually a few thousand short strings.

The part I find most useful is that recall is deterministic, so you can write unit tests that assert what your agent remembers and run them in CI. I haven't seen that elsewhere and it's what I rely on most. Beyond that: it's one file you can copy, inspect, or delete, with no server or background process; every result can show its own score breakdown, so ranking isn't a black box; and every change is journaled, so you can snapshot the store and diff it later. It also exposes an MCP server, so an MCP-capable agent like Claude can use it directly, and there are LangChain and CrewAI adapters.

It ranks by similarity plus recency, importance, and whether a memory has been useful before, and those weights are configurable, including turning recency off. There's also a check that flags when two memories contradict each other, but it's a heuristic, and I'd treat its output as candidates to review rather than ground truth.

Limits, up front: the default embedder is lexical, not semantic, so for real semantic recall you plug in sentence-transformers or OpenAI with one line. It's meant for agent-scale memory, thousands of items rather than millions; past roughly 50k you've outgrown the design and should use a vector database. None of the recency or conflict ideas are novel either. Systems like Zep have done temporal memory for a while; my only claim is that you can get a useful version of it in a dependency-free file you can test.

I did compare it to mem0, and I want to be clear about what that does and doesn't show. I ran mem0 in its no-LLM mode (infer=False) with the same embedder, so it only measures the storage and ranking layer, not mem0's LLM extraction, which is its main value. In that narrow setting remembrane was faster, used less storage, and returned updated facts more often because it accounts for recency. That's a substrate comparison, not a claim to be better at memory overall. The numbers, and the cases where my default embedder loses, are in BENCHMARKS.md, and it reproduces in a couple of installs.

I've written up the known gaps as issues: the CrewAI adapter is a helper rather than a drop-in backend so far, the benchmark should be extended to a public retrieval dataset with no LLM calls, and recall could use diversity-aware re-ranking so it doesn't return near-duplicates. Contributions welcome.

On disclosure: I wrote this with Claude, made the design decisions myself, and I maintain it. I also had a second coding agent try to break each release, which surfaced some real bugs, including a cache-coherence issue under concurrent writers and a counterexample to a packing-optimality claim I had made. Those are fixed and are now regression tests. I'd rather you judge the tests and the changelog than take my word for it.

Happy to hear where it falls short.

[dead]

[flagged]

[flagged]

[deleted]
[deleted]