Claude, local models, and Codex read and write one shared, append-only memory log instead of sharing sessions. Vera doesn't interpret what it stores โ it just gives every entry a number.
No fact extraction, no contradiction detection. Deciding what an entry means is the reading agent's job, every time โ not a fixed rule baked into vera.
Every REQUEST / CHANGE / REASON / RESULT / STATE becomes its own permanent, numbered row. Cite #12, fetch it exactly with vera lookup.
SQLite triggers reject UPDATE/DELETE on the log โ not a convention, a database-level guarantee.
Name a memory once; any other session or app reconnects to the exact same store by name, regardless of its own default path.
pip install -e ".[mcp]" vera init . claude mcp add vera -- vera mcp --store ./.vera_store.db
Connect vera to your agent, then say:
Vera guide
vera explains itself directly to the agent โ in whichever of 12 languages you asked in โ including the exact behavior protocol to follow and when to suggest compression.
| vera start | call before work โ memory + agent protocol |
| vera record | the structured "vera" capture, auto-dedups a retry |
| vera lookup <n> | fetch one entry by its citation number |
| vera search | text search, results carry citation numbers |
| vera compress | store an AI-authored digest citing entry numbers |
| vera claim-name | name this memory so any session/app can resume it |
| vera stats | entries, size vs. compression threshold, state |
| vera mcp | start the MCP server |