The context lives with the code, not in a chat log.
Ask why a function exists and the answer is in a Slack thread, a closed PR, or nobody’s head. An agent opening the file cold has none of it, and a diff shows what changed rather than what the change means.
Every symbol gets a decision ledger, an effect declaration and a place in the call graph — stored in a git-native sidecar, so the reasoning clones with the repo and survives renames and file moves.
Rust core · 64 MCP tools · 9 languages · git-native sidecar · CLI, MCP and HTTP surfaces
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.
What git was to source code, AgentStateGraph is to agent state.
Write a fact once. Every tool remembers it.
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.