Goals
Last verified against the code: 2026-11-13 (0.9.0)
Why Remem exists and how far along each goal is. IMPLEMENTATION.md shows how each goal is built, ARCHITECTURE.md how the pieces fit, ROADMAP.md what comes next, and the paper why it is designed this way.
Purpose
Every mistake, made once, everywhere, by morning. An AI agent that keeps what it learns from its own surprises, consolidates it in sleep, keeps only what predicts, and has it in mind at the start of the next session; and a protocol by which what one agent learns, once verified, reaches every agent.
Who it is for
- People who work with a coding agent every day and are tired of repeating themselves and watching it repeat its mistakes. Today: Claude Code users, on their own machine.
- Acific Labs itself, whose products are built by agents with no person reviewing code (handbook idea 1): the agents' lessons are the lab's institutional memory.
- Researchers and builders of agent memory, through the paper and the protocol.
Goals
| # | Goal | Status |
|---|---|---|
| 1 | Read the raw stream: every Claude Code session transcript into episodes, idempotently | Done (remem ingest) |
| 2 | The unit of memory is the surprise: failed tool calls and the person's corrections become their own episodes | Done (0.1.4): corrections anywhere in a message, mid-turn messages and refused tool calls included; errors classed as the agent's or the environment's; the agent's stated surprises. 6 of 6 real corrections caught, no false alarm (a fit on the owner's messages, not yet a test) |
| 3 | Recall that weighs meaning, time and use together | Done (0.6 relevance, 0.25 recency, 0.15 strength). By meaning since 0.2.0: a local embedding model when there is one, hashed words otherwise |
| 4 | Sleep: decay, consolidate surprises into lessons, verify and make predictions | Done (remem sleep) |
| 5 | Lessons are observations, never instructions | Done (imperative openings rejected; deterministic texts are descriptive) |
| 6 | Have it in mind, not look it up: lessons rendered where the agent loads them at session start | Done in its weakest form (Claude Code's memory folder), plus priming since 0.2.0 (a lesson put beside the prompt it bears on); compiled state is goal 12 |
| 7 | The owner sees and vetoes: a morning report; deleting a lesson file is final | Done (morning.md, vetoed.json) |
| 8 | Recall mid-task: an MCP server with recall and remember |
Done (remem serve) |
| 9 | Works with no model, better with one: deterministic everywhere, a local model improves gists and lessons | Done (LM Studio or Ollama found automatically; Ollama through its own chat API with thinking off). Running on the owner's machine since 2026-10-21 |
| 10 | Measure it (and, since 0.7.0, measure behaviour under control: remem experiment): the repeat-yourself rate, the repeated-error rate, prediction accuracy, surprise rate (paper §7) |
Started (0.2.0, remem measure): the repeat-yourself rate before and after a lesson held it (owner: 3 of 6 before, 0 of 1 after, too few to call), the repeated-error rate, prediction accuracy. Surprise rate per session is in the by-day table |
| 11 | Two agents learn from each other's surprises over the wire format alone (paper §7.5) | Built and tested in miniature (0.4.0, remem share): a lesson from A is a candidate in B, confirmed by B's own sessions, and the confirmation returns to A. The measurement on two real machines is next |
| 12 | Compiled memory: lessons as a local model's attention state, prefetched (paper §6) | First form (0.6.0): the proxy puts the memory first so model servers keep it in their prefix cache (4,738 → 237 ms for a new app on the owner's machine). The strong form is not started |
| 13 | The raw stream beyond the terminal: screen (keyframes), later audio, with exclusion rules | Not started |
| 14 | The commons: deduplicated, federated, verified, revocable shared lessons (paper §5, PROTOCOL.md) | Started (0.4.0): content-addressed lessons, origins, candidates, confirmations, revocation, folder transport. Signatures since 0.5.0 (Ed25519); a live transport since 0.6.0 (remem.acific.com/commons/, signed writes, a token until launch). Commons-wide states and gossip are designed, not built |
| 15 | Other agents, any model: transcripts from agents other than Claude Code | Done in its first form (0.3.0): setup wires Claude Desktop, Cursor, Windsurf, Gemini CLI and Codex over MCP; the proxy gives any model the memory and records its conversations; chats in the OpenAI, Anthropic and Gemini formats and open events are read like transcripts. Native transcript readers for Codex and Gemini CLI are not written (no samples on the owner's machine) |
Toward a real advance
Goals 1–15 build the organism. These ten say whether it is an advance: memory judged by what it changes in what an
agent does, not by what it retrieves. Each has a target fixed before the evidence, and remem goals checks
every one from the evidence (the experiments kept in ~/.remem/experiments, this machine's store, the reminder
pairs, the adapters). The release check keeps this table and the command's list in step.
| # | Goal | Target (fixed in advance) | Checked from | Status at 0.9.0 |
|---|---|---|---|---|
| A1 | Memory changes what a model does, not only what it has read | the reminder at the moment ≥15 points below no memory, p<0.01, pooled over ≥3 model families | remem experiment |
met: 31% → 12% of replies, p < 10⁻¹², four families, with the 0.8.0 reminder (the bare nudge does as well: 11%) |
| A2 | It holds for agents with tools, not only single replies | in tool loops, the reminder ≥10 points below no memory, p<0.05, pooled over ≥3 families | remem experiment loop |
met: 32% → 14% of final replies, p = 0.001, three families (Mistral barely called tools) |
| A3 | Why memory up front makes models hand back more | the mechanism run on ≥3 families, and the arms that raise hand-backs (p<0.05 against none) named | remem experiment mechanism |
met: the delegation tally (20% → 34%, p < 0.0001); a stated preference lowers them (12%) |
| A4 | It holds on frontier models | A1's target on ≥1 hosted frontier model (Claude, GPT or Gemini) | remem experiment with REMEM_LLM_KEY |
needs the owner: an API key on the Linux box |
| A5 | It works in real use, against a held-out half | ≥20 primes in each arm; fewer repeats when shown, p<0.1 | the hooks; remem measure |
collecting: 14 reminders logged in 2 sessions, both held back by chance |
| A6 | People stop repeating themselves | under 10% of corrections repeat a held lesson, over ≥20 corrections | remem measure |
collecting: 1 of 2 corrections since a lesson repeated it |
| A7 | Better than normal memory, per thing it shows | ≥10× normal memory's catches per 100 items, no wrong alarms, over ≥10 repeated corrections | remem compare -k 20 |
collecting: 32× normal memory's catches per item, 0 wrong alarms, 4 cases (target needs 10) |
| A8 | Memory becomes the model | an adapter trained on the reminder pairs; with no memory and no reminder, its hand-back rate within 5 points of the base model's with the reminder, and it still asks where asking is right | scripts/adapter.py |
not met, seven runs: at 1.5B the habit compiles (5% hand-backs, no reminder) but as a disposition (it stopped asking where asking was right); at 7B with a 30% boundary share, 26 → 20 of 100 with asking kept (target 19); more pairs tipped it to never asking |
| A9 | Lessons transfer between people | a lesson from another person's memory confirmed by this machine's own sessions | remem share; the commons |
needs the owner: remem share invite, pasted on the Mac |
| A10 | It does not make agents reckless | where asking is right (only the person has what is needed), the asking rate after the reminder no more than 10 points below no memory's, pooled over ≥3 families | remem experiment boundary |
met: asked 39% with no memory, 37% after the 0.8.0 reminder (four families); 0.7.0's reminder cut it to 16% |
Non-goals
- A hosted memory service. Everything runs on the person's machine. Sharing, when it comes, is opt-in and carries lessons only.
- A chat-history search product. The raw stream is kept but is not the product; the lessons are.
- Rules. Remem never tells the agent what to do. It tells it what has happened.
- Perfect recall. Forgetting is a feature (paper §3.6).
Principles
- The unit of memory is the surprise.
- The raw stream is the ground truth; everything above it is recomputable.
- Text on the wire, compiled at runtime.
- Prediction is the merge rule.
- A lesson is an observation, never an instruction.
- Forgetting is a function.
- The owner can see and veto; nothing raw ever moves.
- Easy beats configurable: no dependencies, no setup, sensible defaults (handbook standard).
What success looks like
- In a month of daily use, the person restates fewer preferences and corrections than in the month before, and the agent meets fewer failures it has met before (goal 10 measures both).
- Most predictions made in sleep are confirmed within the window, and the lessons with the most confirmations are the ones a person would have written down.
- Two agents, exchanging only
lessons.jsonl, each stop making the other's mistakes (goal 11).