What git was to source code, AgentStateGraph is to agent state.
Agent state lives in context windows, scratch files and chat logs. None of it is branchable, none of it is attributable, and none of it survives the session that produced it.
Every state change is an atomic commit carrying the full provenance chain: what changed, the structured intent behind it, the reasoning, a confidence score, the acting agent, and the authority it acted under. That is what a git commit message tries to be — except structured, queryable, and enforced by the data model rather than by convention.
Rust core · 73 MCP tools · 8 language bindings · 4 storage backends · HTTP API
Source-available under BSL-1.1, converting to Apache 2.0 18 months after each version's first publication. Internal use — including in production — is unrestricted.
Write a fact once. Every tool remembers it.
The context lives with the code, not in a chat log.
A conversation is a tree. Stop storing it as a line.
One passing run is a sample, not a test.
Optimise cost per unit of work, not cost per token.