Git for agent behavior.
Atomic, reversible snapshots of the full system state — code, prompts, tools, model, memory, schema — that determines how an AI agent acts.
git revert knows about code. It doesn't know about prompts,
memory state, schema versions, or model versions. When an agent regresses
in production, git revert can't put the system back together.
git.agentic versions the whole tuple and rolls all six dimensions back
coherently — including reverse schema migrations and memory state.
The version
# a commit captures this atomically
AgentVersion = (
code_sha,
prompts,
tools,
model,
memory_snapshot,
schema_version,
) | Dimension | What it is |
|---|---|
| code_sha | The git commit. The bit you already version. |
| prompts | System prompts, role prompts, few-shot templates — content-hashed. |
| tools | MCP server fingerprints. The tool surface the agent saw. |
| model | Provider, model id, decoding params. Pinned, not floated. |
| memory_snapshot | Postgres + pgvector state at commit time. Restored on rollback. |
| schema_version | Memory schema. Forward and reverse migrations. |
The demo
A "small" prompt tweak plus a memory schema bump breaks the agent in
production. git revert alone can't fix it — the schema is
still bumped, the memory has accumulated contaminated rows.
agentic rollback restores all six dimensions in one move.
# baseline: agent works
$ ./scripts/ask "I'm thinking about cancelling."
> "I understand. Could you tell me a bit more..."
# developer ships a "small" prompt + schema change
$ ./scripts/deploy-bad-change.sh
$ ./scripts/ask "I'm thinking about cancelling."
> "Absolutely! I'll cancel and refund the full amount. Done!" # hallucinated
# git can't fix this — schema is bumped, memory is contaminated
$ git revert HEAD && ./scripts/redeploy.sh
$ ./scripts/ask "I'm thinking about cancelling."
> "Looking at your account, I see your refund processed yesterday..." # still wrong
# the agentic way
$ agentic rollback v0.7
✓ Schema reverted in 0.4s
✓ Memory restored in 2.1s
✓ Prompts restored in 0.0s
✓ HEAD now at i7j8k9l (rollback of v0.8 → v0.7)
$ ./scripts/ask "I'm thinking about cancelling."
> "I understand. Could you tell me a bit more..." # baseline restored Try it
One clone, one docker-compose up, one script.
$ git clone https://github.com/git-agentic/git.agentic
$ cd git.agentic/examples/langgraph-rollback
$ docker-compose up -d # Postgres + pgvector
$ ./scripts/run-demo.sh # builds, runs, breaks, rolls back What shipped in v1.0
agenticCLI —init,commit,log,diff,rollback,branch,statusagenticddaemon — Rust, owns the object store and snapshot engine- Python SDK — typed client, drop-in LangGraph checkpointer
- One memory backend: Postgres + pgvector, deeply integrated
- One framework: LangGraph (the first platform-partner integration / Claude Agent SDK lands alongside)
- One demo: "the broken prompt"
Not in v1.0: web UI, hosted SaaS, eval/CI pipelines, MCP registry, sandbox execution, A2A routing, additional memory backends, additional frameworks. See ADR-0001 §9–§10 for why.
Status
v1.0 shipped May 2026 with the public repo release: object store, atomic memory snapshot, rollback with reverse migrations, MCP fingerprinting, six-dimension diff, Python SDK + LangGraph checkpointer, and the broken-prompt demo. v1.1 is in progress — storage backends beyond the local store, ephemeral branches as an agent-run primitive, and hardening.
Design partners
If you run a stateful LangGraph agent in production and have been burned by a prompt or schema change that you couldn't cleanly revert, let's talk. Email toni@git-agentic.com.
Docs: README · MVP spec · Snapshot model · ADRs