Agent memory that reconciles contradictions. An in-process library:
npm i ramfarm, one SQLite file, no daemon.
A superseded fact should stay a queryable fact. When a claim is contradicted, Ram Farm
closes its validity window (validTo) and records supersedes[] on the
replacement — so "what did we believe, and when did it stop being true" is a query, not a replay of
a change log. scope is mandatory at extraction, so a fact cannot fire in a situation
where it was never true.
import rather than a system
you start. That is not ours.
mem0ai/oss is TypeScript,
in-process, Apache-2.0, ~422k downloads/month, and its default store is better-sqlite3
at ~/.mem0/vector_store.db — verified against the published tarball. The packaging
claim was already occupied by the incumbent. If you are unsure what to use, use theirs.| System | What self-hosting actually costs | Licence |
|---|---|---|
Mem0 (mem0ai/oss) | one SQLite file, in-process — the same shape as ours, and far more used | Apache-2.0 |
| Mem0 (server) | 3 containers: FastAPI + Postgres/pgvector + Neo4j | Apache-2.0 |
| Zep / Graphiti | CE deprecated Apr 2025; run Graphiti on your own Neo4j/FalkorDB/Kuzu | Apache-2.0 |
| SuperLocalMemory | no Docker — but Python 3.11-3.14, a private venv, a background daemon, a web dashboard, 16-94 MCP tools | AGPL-3.0 |
| Ram Farm | one SQLite file, in your Node process — matched by mem0ai/oss. What differs is the schema: queryable supersession, typed retention, mandatory scope | Apache-2.0 |
superlocalmemory's npm description is "Local-first agent memory with MCP and an
agent-native CLI" — our phrase, verbatim, shipped six months earlier, ~8.1k downloads/month,
219 stars. The words are gone. The product shape is not: its npm package is a Node shim that spawns
a Python interpreter from a private venv.
So the headline moved from local-first to in-process, and Apache-2.0 became a stated feature rather than a footnote — while being recorded explicitly as not a moat, since they can relicense whenever they like.
That headline lasted one day. On 2026-08-25 the same
read-the-tarball-not-the-README method that resolved Q7 was pointed at Mem0's npm package, and
found mem0ai/oss — in-process, SQLite-backed, Apache-2.0. The phase-0 gate had only
ever checked Mem0's Python self-hosting guide. Two claims lost in four days is not a good look, and
publishing it is cheaper than being caught with it.