RemyBlog
agent-native version controlversion control for AI agentsAI agent version control

What Is Agent-Native Version Control? How It Differs From Git

Agent-native version control tracks AI agent work as branches, checkpoints and history tied to prompts and specs. Here is how it differs from plain Git.

Portrait of Luis Chavez-Mattos
Edited by Luis Chavez-Mattos, Director, Product··RSS

For Engineering, IT and Security

A person studies a large printed commit history with branching lines, pointing to a checkpoint tied to a prompt note and comparing it with a plain Git log beside it.

What is agent-native version control?

Agent-native version control is a way of tracking work done by AI agents so that every run is isolated, reviewable and reversible. Each agent run happens in isolation on its own branch, with saved checkpoints. Each change links back to the prompt, task or spec that caused it. When the spec changes, the work can be re-run and compared. It builds on Git, the standard tool for tracking code changes, but treats the agent's intent as part of the record, not only the files it touched.

The term is new and has no single standard definition. Several companies are building toward the idea, and they emphasize different pieces. This article describes the common core.

TL;DR

  • Git records what changed. Agent-native version control also tries to record why it changed, meaning the prompt, ticket or spec behind each edit.
  • Each agent run gets its own branch with checkpoints, so a bad run can be discarded or rolled back without touching the main project.
  • Vendors disagree on how to get there. One argues the best system for agents is still Git, delivered as infrastructure. Another argues session logs belong in the repository next to the code.
  • Specs can get messy. Teams that commit natural-language specs report duplication, inconsistency and hard-to-review changes as the pile grows.
  • You do not need a new product to start. You can adopt the habits today: one branch per agent run, small commits, and a link from each change to its instruction.
  • If you manage people who use AI tools, the practical question is whether you can answer "who or what changed this, and why?" a month later.

How is agent-native version control different from using Git with AI agents?

According to Freestyle's blog, agents already understand filesystems and Git commands. Coding agents can run Git commands, and humans already review diffs, CI systems run from commits, and deployments key off branches and tags. One infrastructure vendor, Freestyle, makes exactly this argument: the best version control system for agents is still Git, and platforms should use it from the start instead of exporting a Git-shaped copy at the end of a run.

So the difference is less about replacing Git and more about what gets recorded and how the workflow is organized. Here is a plain comparison.

QuestionGit used the usual wayAgent-native approach
Who makes changes?A person, who writes a commit messageAn agent, often many commits per run, with a human reviewing afterward
What is the unit of work?A commit or a pull requestAn agent run: a branch with checkpoints along the way
Where is the reason for a change?A short commit message, maybe a ticket linkThe prompt, task or spec that produced it, stored with the change
What happens when requirements change?A person edits the codeThe spec is updated and the agent re-runs, then the results are compared
How is a bad result handled?Revert the commitDiscard the branch or roll back to an earlier checkpoint

The core shift is that the instruction becomes as important as the output. A human developer's reasoning lives in their head and in a commit message. An agent's reasoning lives in a prompt and a session log, and those are easy to lose.

Why does Git alone strain under AI agents?

Agents produce changes faster than people can inspect them. The Freestyle write-up gives a typical picture: a coding agent might modify an app, add a database migration, update tests, write a release note and regenerate a screenshot in one run. A research agent might build a folder of sources, draft a report and revise charts. An operations agent might edit infrastructure files and prepare a deployment plan.

That creates a few problems that a plain commit history does not solve:

  • Missing intent. The diff shows what changed. It does not show the instruction that led there. A plugin from the version control company Diversion is aimed at this gap, capturing the "why" behind each AI-generated code change.
  • Too much volume. One run can touch many files. Reviewers need a way to see the run as a whole, not just a thousand lines of diff.
  • Parallel attempts. You may want two agents to try different solutions to the same task without overwriting each other. That needs isolation by default.
  • Large and non-code files. Agents produce PDFs, screenshots and other assets. Diversion says that large files, massive repositories, binary assets and ease of use are not edge cases.
  • Lost sessions. If the conversation with the agent disappears, so does the reasoning behind the change.

The company Entire states the last point as a hypothesis: session logs are now the most important artifact in software development and should be stored alongside the code in the repository. Not everyone agrees, as the next sections show.

What does an agent-native workflow look like in practice?

Here is an illustrative example. It is a hypothetical scenario, not a description of a specific product.

A small operations team keeps an internal tool that routes customer refund requests. The refund policy changes: requests over a set amount now need manager approval. Someone writes the change as a short instruction in the project's spec.

  1. The agent run starts on a new branch. The branch is created from the current approved version, so the agent never edits the main project directly.
  2. The agent saves checkpoints. After it updates the approval rule, after it changes the form, and after it updates the tests, each step is a saved snapshot.
  3. Each change links to its source. The record says: this edit to the approval rule came from this line of the spec. A reviewer clicking on it sees the instruction next to the diff.
  4. Checks run automatically. Tests run against the branch. A preview of the changed tool is available for a non-technical colleague to try.
  5. A human reviews and decides. They merge it, reject it, or send it back with a note. If the third checkpoint broke something, they roll back to the second instead of starting over.
  6. The spec changes again. Finance decides the threshold should be different. The spec is edited, the agent re-runs from the approved version, and the new result is compared with the earlier one.

Step 6 is the part that Git alone does not give you. The history is no longer a list of edits to files. It is a list of instructions and the results they produced, which you can replay.

Freestyle's list of what a good system needs maps onto this flow: branches for isolation, commits as durable snapshots with author and timestamp, diffs for review, rollback, merge rules, permissions so agents only touch what they are allowed to, and hooks so tests and deploys react to pushes.

What are the open problems?

Treating the spec or prompt as a versioned artifact has costs. A commenter on the Hacker News discussion of Entire's post, whose team practices spec-driven development, described what happens at scale. They commit specs and prompts to the repo alongside generated code. At first it works: change the spec, regenerate the code. Over time they have hundreds or thousands of Markdown spec files, written in English prose, with duplication and subtle inconsistencies. Specs are hard to search. People debate whether a new requirement gets a new file or an edit to an existing one, and how much detail is enough. Reviewing a spec change is hard because, unlike code, prose cannot be shown to contain a bug. They also still have to review the generated code. Their conclusion was that maintaining English prose is worse than maintaining code in large systems.

Another commenter replied that a documented master spec with tests checking parts of it, such as error codes, had worked well for them. Both experiences are plausible. The lesson is that linking changes to instructions only helps if the instructions stay organized. Specs need structure, and some of their claims should be checked automatically.

What does this mean for you?

If you use AI tools at work but do not write code. Agents now edit documents, reports, spreadsheets and workflows, not just software. The question to ask is whether you can get back to the version before the agent touched something. If your tool keeps no history, save a copy first and name it with the date and the instruction you gave.

If you manage a team using coding agents. Set a few rules now, since they cost nothing:

  • One branch per agent run, never directly on the main branch.
  • A human reviews every merge, however small.
  • The instruction that produced a change goes in the pull request description.
  • Specs live in one place with a clear owner.

If you evaluate tools. Ask a vendor these questions: Can I see the instruction next to each change? Can I roll back to a checkpoint inside a run? Can I re-run after the spec changes? Does it export to standard Git, so I am not locked in? Can I limit what an agent may touch?

If you work in compliance or audit. Auditable agent history is the point of the whole idea. Freestyle describes the goal as branchable, reviewable, auditable state. Check that logs cannot be edited after the fact.

How does spec-driven building fit with this?

Some tools already make the spec the center of the project. Remy, an AI product agent that builds and deploys business apps from a description, works from a plain-English spec and derives the code from it, keeping the two in sync. Publishing pushes to a git repository you own, every branch gets its own shareable and revocable preview link, and rollback is a revert. A manager could describe a refund-approval form or an internal request tracker at goremy.ai, review a preview on a branch, and change the spec when the policy changes, instead of editing code or maintaining another spreadsheet.

Frequently Asked Questions

5 questions

Does agent-native version control replace Git?

Not necessarily. Some vendors argue Git remains the right foundation because agents, reviewers, CI systems and deployment tools already work with it. The agent-native part is what gets layered on top: runs as branches, checkpoints, and links from changes to prompts or specs.

What is a checkpoint?

A checkpoint is a saved snapshot taken during an agent run, before the run is finished. If a later step goes wrong, you roll back to the last good checkpoint instead of discarding the whole run or rebuilding by hand.

Should I store prompts and session logs in my repository?

There is no consensus. Entire argues session logs should live beside the code. Teams doing spec-driven development report that large piles of prose specs become hard to search, keep consistent and review. A middle path is to store the prompt or spec that drove each change, keep specs organized under an owner, and test the parts that can be tested.

Do I need special software to start?

No. Using one branch per agent run, small commits, human review before merging, and a note in each pull request about the instruction used gives you most of the benefit with ordinary Git.

Who benefits most from this?

Teams where agents make many changes and several people depend on the results. Solo users running small tasks may only need the habit of saving a copy before an agent edits something important.

How we source, write, and correct our articles. Editorial standards

Related articles

Straight to your inbox.
New pieces as they publish. No noise.