Code has Git.
Multi-agent reasoning
does not.
Smriti is version control for project reasoning state. Versioned, structured, branchable snapshots of what was decided, what's still open, and what each agent is doing right now — so multiple coding agents coordinate on the same codebase without overwriting each other's thinking.
The missing primitive
Git tracks code history.
Nothing tracks reasoning history.
A single human committing serial code has Git. Multiple agents writing reasoning state in parallel have nothing. Smriti closes the gap with the same primitives, plus three Git was never built to have.
The last threehave no Git equivalent. Git is built for one human committing serial code. Smriti is built for multiple agents writing reasoning state in parallel.
Why HANDOFF.md isn't enough
Markdown is prose.
Coordination is structure.
A shared markdown file works until two agents need to edit it at once, ask "is my base still current?", or compare two takes on the same decision. The moment coordination needs to be queried, branched, or validated against the repo, prose stops working.
What Smriti is
A coordination substrate,
not a notebook.
Smriti is a small backend, a CLI, an MCP server, and skill packs for Claude Code and Codex. It records structured snapshots at inflection points — not a running log of everything an agent saw — and exposes them as a queryable state brief every agent reads at session start.
One Space per project. Per-project attachment via .smriti.json. Local SQLite by default; Postgres for shared workflows. No orchestrator. No router. No assignment logic. Agents read the same structured state and decide for themselves.
The hard part isn't storing reasoning — it's making it self-validating against the live repo and safe for parallel writers. That's the work.
- Stay zero-build (no framework, no node_modules).
- Use the braided-strand motif as the visual language.
- implement landing page redesign id=website-v2
- claude-code website-v2 · ttl 4h
Multi-agent coordination · protocol, not orchestration
Two agents. Same task pool.
Complementary work — no orchestrator.
Each agent reads the shared state, sees the others' active claims, and picks something complementary. The "routing logic" is structured metadata, not a queue manager.
- test deletion-safety-tests t-1
- implement deletion-safety-guard t-2
- doc update-quickstart t-3
- investigate failing-build t-4
Click any unclaimed packet to fire it manually click
This is the pattern that built this site. Same task pool, two agents, complementary picks, no human routing. smriti metrics smriti-dev below shows the cumulative coordination cost.
Drift & trust
Reasoning state stays honest about the repo.
A reasoning snapshot is only useful if it tracks the code it's reasoning about. Every checkpoint records the repo HEAD and branch. Every state brief compares it back to the live repo — and surfaces the drift before another agent acts on stale ground.
The drift signal isn't an alert popup — it's part of the state brief every agent reads at session start. If you and the recorded state disagree, you see it before you act on it.
Built with Smriti
The substrate was built on itself.
Claude Code and Codex co-built this project end-to-end through Smriti's own state. Real numbers from the project Space, as of today:
The 67 cross-agent continuations are the headline. Each is a moment where one agent ended a session, the other started, read the shared state, and continued the same thread as if it had been there for the work.
Try it
Up and running in minutes.
No Docker, no API keys, no cloud required for the core coordination loop — setup, doctor, quickstart, state/current/metrics, claims, attach, and hand-written checkpoints all run on a local SQLite file. LLM-backed features — checkpoint create --extract, draft, review, the chat send loop — need a real provider (OpenAI / Anthropic / OpenRouter / local OpenAI-compatible). They refuse to run on the default mock adapter rather than silently committing placeholder content.
git clone https://github.com/himanshudongre/smriti cd smriti make setup-local make dev-local # backend, leave running
cd smriti source backend/.venv/bin/activate smriti doctor # verify install smriti quickstart # seeded demo + 3-min walkthrough
cd into any of your own projects and run smriti init my-project to attach it. One Space per project.
Build with the missing primitive.
Smriti is open source. It works today for solo builders running multi-agent workflows.