Memory overview
The four memory stores Cerevisor maintains, how they interact, what's local, and why memory matters.
Cerevisor remembers things across sessions. Most LLM tools forget every conversation; Cerevisor builds up a persistent profile of you, your preferences, and what's worked in your past runs, and injects relevant context into every agent's prompt.
All memory is local. Stored under ~/.cerevisor/memory/. No telemetry. No cloud sync. No backup that Cerevisor controls. If you want backup, you back up the folder.
The four stores
1. User profile (memory/user/)
What you've told Cerevisor about yourself: your role, your goals, your preferences, your communication style. The harness occasionally proposes changes based on what it's learned; you approve or reject.
Editable directly from the Memory view → User tab.
2. Harness self-memory (memory/harness/)
What the harness has learned about its own runs, per-role metrics, learned tips, corrections, recent run logs. Auto-populated at end-of-run. Not editable.
The harness uses this to:
- Recommend better model choices ("you've used Sonnet on Researcher 12 times; Haiku produces the same quality at 10× lower cost").
- Surface recurring failure patterns ("Coach agent has been stalling on long inputs lately").
- Build retrospectives.
3. Meta-cognition (memory/meta-cognition/)
A layer above harness self-memory. After each run, the harness diffs current vs. prior self-memory snapshots and surfaces observations: "role X is drifting in success rate", "blind spot Y has persisted for 3 runs", "pattern Z has been reversing".
Includes a harness self-portrait: a compiled "what I've learned about working with you" summary, refreshed after runs that produced new observations.
4. Freeform entries (memory/entries/)
Learnings that agents save mid-run. Open the Memory view → Learnings tab to review them: promote the ones worth keeping, reject the rest. Promoted entries can be referenced from agent instructions or kept as a learning log.
How memory is injected
Every agent's system prompt includes a memory context blob. The blob is assembled at run time from:
- Your user profile (a short summary, not the whole thing).
- The harness's current self-portrait.
- Recent observations from meta-cognition (if relevant).
- Top-N freeform entries (ranked by recency + relevance).
The injection is capped to avoid blowing context budgets, and it's deliberately conservative about what counts as a learning: a pattern the harness inferred from a single run is not injected until it has been confirmed in at least two separate runs, and patterns that stop being confirmed are automatically retired after about a month. Defaults are sensible; you don't need to tune them.
The meta-cognition portion of the injection is gated by the Inject memory into prompts toggle in Settings → Memory (off by default).
Disagreements and proposals
When the harness wants to update your user profile (e.g. "user now prefers concise summaries based on recent edits"), it doesn't just rewrite; it surfaces a proposal in the Memory view → Proposals tab. You accept, reject, or edit before it's applied.
If a proposal conflicts with an existing user preference, it's flagged as a disagreement and queued under Disagreements until resolved.
Versioning
Cerevisor keeps a version row for every edit to a memory doc. Open a doc in the Memory view (User or Harness tab) and click History to browse past versions, diff them, and restore any one.
Useful when you accidentally accepted a bad proposal or want to revert a memory change.
What memory is NOT
- It's not a chat history. Cerevisor doesn't store conversation transcripts long-term. Audit logs cover that need.
- It's not crowdsourced. Your memory only contains what your runs produced. No data from other users.
- It's not shared. There's no aggregation, no egress. The architecture has hooks for future opt-in egress (see Data inventory & consent) but all egress flags default
false.
Memory health
The Memory view's Health tab shows the state of the whole subsystem at a glance: how many profile sections are filled, how much run history the harness holds, pending proposals and learnings, open disagreements, and recent drift observations. It's the tab to open when something feels off.
Editing memory by hand
The memory files are markdown + JSON, openable in any editor. If Cerevisor's UI doesn't let you do something, you can edit the files directly. They live at ~/.cerevisor/memory/. Restart Cerevisor after manual edits: the cache is refreshed on launch.