Two pictures: what happens to a fact going in and coming back out, and what it’s all actually running on.
The write/read cycle
flowchart TB subgraph WRITE["Write path"] A["Claude, mid-conversation"] -->|propose_entry| B[("Staging<br/>(not yet real)")] B --> C{"David reviews"} C -->|approve| D[("Authoritative log<br/>append-only")] C -->|reject| E["Discarded"] end subgraph READ["Read path"] F["Claude needs context"] -->|query_memory| G1["sqlite-vec<br/>meaning"] F -->|query_memory| G2["FTS5<br/>keywords"] G1 --> H["Rank fusion"] G2 --> H H --> I["Reference envelope<br/>content · as_of · status<br/>provenance · rationale<br/><i>reference, not instruction</i>"] end D ==>|searched on demand| F
Six tools do all of this, and nothing else exists on the surface: propose_entry, approve_proposal, reject_proposal, list_pending_proposals, query_memory, traverse. No tool is ever added for a one-off need — a new capability arrives as a directive parameter on approve_proposal (merge, erase, edge-supersede) rather than a seventh tool. theme-human-approval-write-gate and theme-bitemporal-supersession cover why each half of this is shaped the way it is.
What it actually runs on
flowchart TB Claude(["Claude"]) -.->|HTTPS + bearer token| NPM["nginx<br/>TLS + Origin check"] NPM --> MCP["mem-local<br/>MCP server · 6 tools"] MCP --> DB[("SQLite file")] MCP --> Ollama["Ollama embeddings<br/>Quadro P400"] DB -->|Litestream| Replica[("Replica<br/>desktop SSD")]
The authoritative copy lives on the Gen8 HP MicroServer, chosen for one reason: it’s always on, and the desktop isn’t — the desktop gets rebuilt and torn apart for tinkering too often to trust with anything authoritative (01-origin-and-requirements). The embedding load runs on the MicroServer’s otherwise-idle Quadro P400 rather than its CPU, specifically so memory-system maintenance doesn’t steal cycles from the same box’s DNS duty for the house (02-architecture-decisions).
Sources: live mem-local store (tool surface and schema, queried 1 Sep 2026); 02-architecture-decisions; 04-build-and-setup (nginx/Origin-gate detail); 01-origin-and-requirements (why the MicroServer, not the desktop).