The architecture of a self-hosted memory system for AI agents, explained as a workflow: one semantic substrate, typed arms for structure, and a human trust boundary that decides what memory is allowed to steer behavior.
Mneme is the shared long-term memory behind every agent in my homelab: coding agents, a household voice assistant, shell scripts. They all read and write the same substrate. The core problem it solves is not storage, it is trust: an agent that "learns" things about you will eventually learn something wrong, and a memory system with no trust boundary turns one bad inference into permanent behavior.
Three ideas carry the whole design. Everything is a thought: every fact, event, and observation lands in one table with a vector embedding, searchable by meaning. Structure is a view, not a silo: typed "arms" (calendar, maintenance, household facts, training) store relational columns for exact queries while staying linked to their thought row for semantic recall. And memory is governed: what an agent learns is evidence until a human ratifies it. The system is a mirror of me that I curate, not a cage that trains itself around me.
Lane 1 · the write path: from noise to memory
Structure and meaning are usually a trade-off: a calendar table can't answer "what did I say about the furnace?", a vector store can't answer "what's due next Tuesday?" Arms do both, because every typed row keeps a semantic twin.
Lane 2 · the read path: recall with a trust boundary
recall("what does Andrew think about X?"). Any agent, any machine, same memory.Agents learn things about you constantly, and some of it is wrong. In Mneme a learned fact is evidence until I ratify it in review. The self-model stays a mirror I curate, never a feedback loop that quietly decides who I am.
Lane 3 · background loops: the system that keeps learning
Code can be rebuilt cheaply; understanding can't. The thing worth persisting across agents, sessions, and machines is the judgment and context, so that is what the architecture optimizes for. Everything else is replaceable plumbing.