← Back to blog

Git merges text, not logic.

Every platform shift creates a processing layer in the middle. Network traffic got firewalls. Log data got observability pipelines. Agent-generated code doesn't have its layer yet.

Every platform shift creates a processing layer in the middle.

When network traffic exploded in the 1990s, it overwhelmed the systems built to carry it. The answer wasn't better networks. It was a new layer that sat between the traffic and the destination and decided what should pass through. When machine-generated log data overwhelmed the systems built to store it, the answer wasn't bigger databases. It was a processing pipeline that sat between the sources and the destinations, normalizing, filtering, and routing data before it arrived. When API calls between services overwhelmed the systems built to handle them, the answer wasn't better services. It was API gateways that sat in the middle and enforced contracts.

The pattern is always the same. Volume increases. The existing infrastructure can't distinguish good from bad at the new scale. A processing layer emerges in the middle. That layer becomes one of the most valuable companies in its category.

We are now living through the next version of this pattern. And the infrastructure hasn't caught up yet.

AI coding agents are rewriting how software gets built. Not incrementally. Structurally.

Anthropic's CEO says his engineers don't write code anymore. They let Claude write it and they edit the output. They shipped 50+ major features in 52 days. Members of the Claude Code team run dozens of agents in parallel using git worktrees, with hundreds or thousands of parallel coding sessions fanning out across a single codebase. OpenAI just shipped a Codex plugin for Claude Code. Two AI models from two different companies, working on the same repository at the same time, with zero coordination between them.

Block just published a 4,000-word thesis, endorsed by Sequoia, arguing that companies will reorganize around AI agents doing the coordination work that middle management used to do. Aaron Levie says companies will have 100 to 1,000 times more agents than employees. Jensen Huang describes AI as a five-layer infrastructure stack. Karpathy runs 100 autonomous experiments overnight on git branches.

This isn't a prediction about what might happen. It's a description of what's happening right now, in the codebases of the most sophisticated engineering organizations on earth.

And nobody built the processing layer.

Here's what happens today when five agents push code to the same repository.

Agent A, running on the backend, changes a function signature, adds a required parameter to create_order(). Agent B, running on the frontend, writes a TypeScript component that calls create_order() with the old argument list. Both agents finish. Both branches pass CI. Both branches pass code review. Git merges both branches cleanly because git merges text, not logic.

Production breaks.

This isn't a hypothetical. In February 2026, Amazon's Kiro AI coding tool autonomously deleted and recreated a production environment, causing a 13-hour AWS outage. A senior AWS engineer told the Financial Times the disruption was "entirely foreseeable." Alibaba tested AI coding agents on 100 real codebases over 233 days. 75% of models broke previously working code during maintenance tasks. CodeRabbit's research found AI-generated pull requests have 1.7 times more issues per PR than human-written code, with logic errors up 75% and performance issues 8 times more common.

These numbers describe what happens with one agent per PR. Multiply by five agents pushing in parallel and the compatibility risk compounds across every branch pair.

The problem is simple to state and hard to solve.

Git understands text. It knows how to merge lines of code from different branches without creating syntactic conflicts. What it doesn't understand is what those lines mean. It doesn't know that a function signature changed on one branch and a call site on another branch still uses the old signature. It doesn't know that a Python backend endpoint now requires a field that a TypeScript frontend doesn't send. It doesn't know that a GraphQL schema renamed a field that a query in another branch still references.

CI doesn't solve this either. CI runs tests on each branch independently. Branch A passes its tests. Branch B passes its tests. The incompatibility between them only manifests after both merge to main. By then, it's a production incident, not a code review comment.

Human engineers solve this problem through coordination. They talk to each other. They check Slack before changing a shared interface. They announce breaking changes in standup. They hold the merge until the frontend team updates their calls.

Agents don't coordinate. Agent A doesn't know Agent B exists. Agent A doesn't check Slack. Agent A doesn't attend standup. Agent A finishes its task, pushes its branch, and moves on. The implicit coordination layer that humans provide, the ambient awareness of what's changing across a codebase, doesn't exist in an agentic workflow.

As companies add more agents, the coordination gap widens. And the gap widens quadratically: 5 agents produce 10 branch pairs to check. 20 agents produce 190 pairs. 50 agents produce 1,225 pairs. Human coordination can't scale to cover this. It was never designed to.

The architecture that works for this problem already exists. It just hasn't been applied to code yet.

In data observability, the pattern is: any source in, processing in the middle, any destination out. Log data flows from hundreds of sources through a pipeline that normalizes, filters, deduplicates, and routes it before it reaches its destination. The pipeline doesn't care where the data comes from. It doesn't care where it's going. It cares whether the data is well-formed and compatible with what the destination expects.

The same architecture works for agent output. Any agent in: Cursor, Claude Code, Codex, Copilot, Windsurf, Devin, or whatever ships next quarter. Any repository out: GitHub, GitLab, Bitbucket, or whatever comes after. Compatibility verification in the middle.

Before data pipelines: Sources → SIEM.
After data pipelines: Sources → Pipeline → SIEM.

Before Rosentic: Agents → GitHub.
After Rosentic: Agents → Pipeline → GitHub.

This is what we built.

Rosentic is the agent output pipeline. It uses tree-sitter AST parsing across 11 languages to scan every active branch pair for compatibility conflicts. No LLMs in the detection loop. Fully deterministic. Same input, same output, every time. It ships as a GitHub Action today: four lines of YAML, code never leaves the customer's runners.

We ran it on 39 public repositories. Sentry: 612 conflicts. Onyx: 443. We found 4 live bugs on Onyx's release branches, active incompatibilities between branches that their CI had no way to detect. On our demo repository, we tested the full loop: Claude Code read Rosentic's PR comments and fixed all 22 conflicts across Python, Ruby, and TypeScript in 6 commits without any human intervention. The agents can already act on the output. The verification layer just needs to exist.

The detection engine is the wedge. The dependency graph is the product.

Every scan feeds a map of how every function, API, and contract in a codebase connects. Over time, that graph becomes the single source of truth about how a system fits together. It enables questions nobody can answer today: which agents cause the most conflicts? Which contracts are hotspots? Which files are likely to produce incompatibilities before they do?

The endgame isn't post-merge detection. It's pre-write prevention. Agents query the graph before writing code: "Is anyone else modifying this function right now? What does the current contract look like?" The shift from reactive detection to proactive coordination is the shift from a tool to infrastructure. From a useful scanner to something a company can't turn off.

We're early. We know that.

If the world that every major AI lab is describing arrives, and every signal says it's arriving now, not in five years, then the volume of agent-generated code flowing into repositories will grow by orders of magnitude. And someone has to build the layer that sits in the middle and decides what should merge.

Every previous platform shift followed this pattern. The processing layer always emerged. The companies that built it early, before the wave fully hit, became the infrastructure the entire ecosystem depended on.

Network traffic got firewalls. Log data got observability pipelines. API calls got gateways.

Agent-generated code doesn't have its processing layer yet.

We're building it.

See what your agents are missing.

Run the open-source simulation on your repo. Or install the GitHub Action in 60 seconds.

Try the simulation Install the Action