Code-level context and audit overlay for agent-authored code — a decision ledger, an effect declaration, and a call graph for every function, all queryable by the coding agents that write the code, all checked into git.
Rust core · 9 languages · 14+ MCP tools · Git-native sidecar
Coding agents now write, refactor, and review code at human-equivalent rates. The next bottleneck is not throughput — it is knowing what an agent already decided, what it's allowed to touch, and who approved it. AgentStateDeveloper records all of that, at the symbol level, in a sidecar that travels with the repo.
Why this matters
These aren't hypotheticals. They're what happens to every team that lets agents touch real code.
Six months ago an agent introduced payments.chargeCard with an unusual retry pattern. Today an agent — or a human — needs to refactor it and can't tell if the pattern is load-bearing or vestigial.
Without ASD: read the diff, search Slack, hope the original PR description survived.
With ASD: asd ledger get payments.chargeCard — hazards, rationale, constraints, authority, all checked into git. The reasoning survived the rename, the file move, and the original author leaving.
An agent is about to refactor processOrder. Before it changes a line, it needs to know: does this read from disk? hit the database? call out to an external API? — including transitively, through everything it calls.
Without ASD: read every function in the call graph by hand and guess.
With ASD: asd effects_of processOrder returns the propagated 17-category effect set — io.fs.read, io.db.write, io.net.out — with each effect annotated by where it was declared. The agent knows the blast radius before it commits.
orders table inside a transaction./config/payments.toml at startuporder.placed to NATSA regression lands in production. Billing is off by 2% on enterprise plans. The team needs to know: what changed, who changed it, who approved it, what alternatives were considered.
Without ASD: a two-day diff archaeology project.
With ASD: asd audit tail --path billing/* returns the hash-chained log of every ledger mutation and policy decision in that subtree. Tamper-evident, replayable, independently verifiable.
How it works
ASD adds eight things to your repo. They live in .asd/v1/, travel with every clone, and are queryable from the CLI, MCP, and HTTP.
Languages & Surfaces
Get Started
What it is not
ASD is a code-level overlay. It's the layer agents query before they read, write, or refactor — not a linter, not a search tool.
License
AgentStateDeveloper is built to become infrastructure for agent-driven coding. Infrastructure primitives are strip-mining targets: cloud providers offer them as managed services, capture the value, and contribute nothing back. BSL 1.1 closes that gap.
Part of a family
ASD is the code-level overlay. AgentStateGraph is the underlying state substrate. Together they give agents accountable state across both code and runtime.
Visit agentstategraph.dev GitLab