Your coding agent shouldn’t start every session as a stranger.
Reverie is memory for coding agents. It keeps the conclusions your agent reaches — reviewed by you, grounded in your code — so the next session builds on them.
Cache invalidation must follow token refresh; clearing the cache first serves stale authentication tokens.
- type
- invariant
- scope
- repo:myapp > module:auth
- confidence
- 0.67
- grounding
- auth/
token_manager.rs
auth/cache.rs @ d64d0e0
Verify against current code before acting.
A reviewed conclusion about cache invalidation and token refresh, shown with the conclusions it links to: one it supports, one it depends on, and an older one it replaced. Further linked conclusions fade into the distance.
The bottleneck isn’t intelligence. It’s continuity.
The hard part isn’t storing more. It’s knowing what’s worth remembering.
Three days, Monday to Wednesday. Each day the agent reasons its way to the same conclusion, why users get logged out, and the conclusion is lost when the session ends.
How it works
From one session to the next — and you decide what’s kept.
1Your agent works
Conclusions are extracted as it goes.
2You review
Keep what’s right. Drop the rest.
3Memory builds up
Grounded in your code.
4Your agent asks
After reading the code, not before.
Four steps across two session boundaries. Your agent works and extracts conclusions. The session ends. You review and keep what is right. Memory builds up, grounded in your code. In the next session, your agent asks for relevant conclusions after reading the code, not before.
The same agent, with and without Reverie.
One recording compares both runs.
Memory that can change its mind.
Conclusions behave like beliefs: evidence strengthens them, contradictions challenge them, and disuse lets them fade.
- A new conclusion arrives from a session and waits, dashed, for your review.
- After review it joins long-term memory and strengthens a related conclusion.
- A newer conclusion disagrees with an older one, which is marked challenged.
- You prefer the newer conclusion: it replaces the older one, which is kept, struck through.
- A conclusion that is never used fades.
One conclusion, up close
- Step 1 of 6. cache invalidation follows token refresh
Extracted in a session.
- Step 2 of 6. cache invalidation follows token refresh
You accept it.
- Step 3 of 6. cache invalidation follows token refresh
Supported and used.
- Step 4 of 6. cache invalidation follows token refresh
A new conclusion disagrees.
- Step 5 of 6. cache invalidation follows token refresh
The conflict persists.
- Step 6 of 6. cache invalidation follows token refresh
You prefer the newer one. This one is kept.
If the code it cites is deleted, a conclusion like this is retired automatically.
Your memory, not your agent’s.
Switch models today, and agents soon: what you’ve built up stays with you, on your machine.
~/.ec/ec.dbon your machine · reviewed by youOne memory file on your machine, shared over MCP by every connected agent. OpenCode works today; Claude Code, Cursor, Codex and other MCP agents are coming soon.
- Stored on your machine.One SQLite file. No Reverie account.
- You approve what’s kept.Every extracted conclusion passes your review.
- Your choice of model.Extraction runs hosted, or locally with Ollama.
Built by measuring what didn’t work.
Our first version loaded memory into the agent before it started. On our benchmark, that made it worse — it trusted memory over the code. So Reverie keeps reviewed conclusions, and lets the agent ask.
We publish results either way.
Read the code.
The source, the extraction prompt, the benchmark harness and setup instructions are in the repository.