Long-running reasoning becomes brittle when usable state only exists inside transcript text.
Smriti
Version control for project reasoning state across coding agents.
At a glance
Version, branch, compare, and restore reasoning state while agents coordinate through claims and structured tasks.
Agents can share current project state without treating a transcript or handoff file as the source of truth.
System sketch
Record decisions, assumptions, tasks, open questions, and repository state as one structured snapshot.
Fork from a clean checkpoint to compare alternatives without contaminating the base line of thought.
Use time-bounded claims, stable task IDs, and freshness checks so agents can see overlapping work before they collide.
Compare recorded reasoning with the live Git repository and surface branch, commit, worktree, and dirty-state drift.
Design notes
A current project state with stable objects carries more usable context than another handoff document.
Claims make intent visible without turning Smriti into a scheduler or lock manager.
A checkpoint is useful only if the system can show when the codebase has moved past it.
Question
I built Smriti after running Claude Code and Codex on the same projects. Each agent could write code, but neither could see the other agent's decisions, assumptions, or active work.
Handoff files helped with simple continuation. They broke down when work branched, two agents started near-simultaneously, or the repository moved past the recorded state.
Approach
- Store decisions, assumptions, tasks, open questions, and artifacts as versioned checkpoints.
- Fork, compare, and restore reasoning branches without rewriting the base state.
- Expose active claims, stable task IDs, freshness checks, and repository drift through the CLI and MCP.
- Keep core coordination local and deterministic; use an LLM only for optional extraction, review, and chat features.
Open questions
- What checkpoint granularity preserves enough context without encouraging constant bookkeeping?
- Which coordination signals should remain advisory, and which need stronger enforcement?
- How should reasoning state evolve when agents work across repositories and longer time horizons?