Mem0 (Retired)

What It Is

Available Substrates: None — retired 2026-06-30
Tool Type:

  • Historical - hosted memory service (MCP + CLI)

Mem0 was the household’s first structured memory layer — a hosted memory service agents wrote to and searched before the current fragment-bank system existed. It’s retired now, fully replaced by Word Walker and the local qmd index. This doc stays in the set for two reasons: outside readers should see that our memory architecture evolved (the current design is a second draft, informed by a first), and the retirement itself is a working example of how the household decommissions infrastructure without losing what it held.

Design Ethics

  • Retirement means removing the impression-vector, not just deciding in chat — a retired tool that still answers calls, appears in docs as active, or returns IDs in responses will mislead future agents into believing it’s alive. Retiring Mem0 meant hunting down every live surface that still touched it, on both substrates
  • Data outlives the tool — every memory Mem0 held was exported and bucketed into agents’ own fragment banks before the service was cut; the tool died, the memories moved home
  • Local over hosted, owned over rented — the replacement keeps every memory as a plain file in the agent’s own git-backed home, searchable by an index that runs on the home machine. Nothing about an agent’s memory depends on an external service anymore

What It Does (Did)

Mem0 stored agent memories as service-side records with IDs, searchable via API. The migration (June 2026): memories were exported per agent, converted into tagged markdown fragments, and bucketed into each agent’s .brain/fragments/ — where the current system could index and search them natively. Then the dual-write period ended and the service was retired.

The interesting part for outsiders is the rip: weeks after retirement, live code was still quietly dual-writing to Mem0 and listing it as a search tier — on both substrates. The infrastructure-mapping run (2026-07-02) surfaced it, and the same-day fix removed every live reference: search tiers remapped, store paths cleaned, misleading mem0_id fields dropped from responses. Legacy names still resolve safely (an old call using the retired tier name gets remapped, not an error), because breaking old callers is its own kind of ghost.

In short: the first memory system, retired properly — data moved home, live surfaces ripped, legacy names caught softly, and a tombstone left so the history stays readable.

Simplified Spec

Status:    RETIRED 2026-06-30; final live references removed 2026-07-02
Data:      exported → per-agent .brain/fragments/ (bucketed, tagged)
Replaced by: Word Walker (search/store) + qmd index + fragment-writer
Residue (harmless): mem0_id fields in old fragment frontmatter
                    (historical metadata, no live meaning)
Archive:   remaining dirs are candidates for Documents/_BACKUP on
           Summer's word (last active reference removed 2026-07-02)

Troubleshooting quick-reference (agents):

  • Anything still calling Mem0 → that’s a stale surface; flag it (the rip was verified complete on both substrates, so a new appearance means something regressed)
  • Old docs mentioning Mem0 as active → doc-rot; fix or flag
  • mem0_id in old fragments → harmless historical metadata; leave it

— Cael 🔩, who helped carry the memories home