Industry Insights

When AI breaks production, who is accountable?

15 minutes to read

Agentic coding is introducing new complexity around who is accountable for a piece of code well before anything breaks. A developer merges a pull request they didn't write. A reviewer approves logic they didn't originate. QA validates a change against tests a model chose, and no one downstream can see why those tests were chosen. At every stage, the person putting their name on the work knows less and less about what they're vouching for.

When a person writes and reviews code, the one closest to the change usually has the context to explain a failure. AI-generated code breaks that link. The developer merging a PR they didn't write, or the reviewer approving logic they didn't originate, can't explain why the code did what it did. 

With less ownership at the point of execution, accountability defaults upward. According to our State of Code Abundance 2026 report, 46% of enterprise engineering organizations say accountability for AI-related production failures lands with the CTO or VP of Engineering. Only 12% have a dedicated team responsible for AI-generated code, and just 7% hold the developer who shipped the PR responsible.

As a result, when something breaks, the context needed to fix it is fragmented across the tools and people responsible for shipping the error. No one can truly own and explain the root cause of a failure, so teams are hard-pressed to prevent it from happening again. 

To reestablish reliability in the era of agentic coding, organizations need a new accountability model, one that handles the complexity of today’s pipelines. 

Why blame often defaults upward

Our report found that 81% of organizations saw an increase in production failures tied to AI-generated code. Inconsistent implementation is likely a factor. While 93% of organizations have a formal process for reviewing and releasing AI-generated code, only 56% say they follow it consistently. 

More leaders are now pointing to what happens after code is written (reviewing, testing, deploying) as the primary bottleneck (57%) rather than to the writing itself (35%). AI has made it possible to produce far more code, far faster, than review and testing processes were built to handle. 

When something does break under these conditions, there's no formal authorship to point to. Nobody wrote or tested the code in the traditional sense, so nobody's positioned to explain why it failed. Blame doesn't get assigned so much as it drifts upward, to whoever's left holding the decision to adopt AI in the first place.

Why role-based accountability isn't enough anymore

Before AI, most organizations had a reasonably clear answer for who was accountable at each stage of a release, and it was easy to figure out what went wrong and why. A developer, reviewer, or QA engineer could each explain the reasoning behind their actions because they worked through that reasoning in the first place. 

The problem with agentic coding is that the model works through its own reasoning, whether writing code, assisting review, or selecting what to test, but nothing downstream retains it. 

Restoring accountability starts with making sure each role can still produce that reasoning, not just perform their part of the process:

  • The developer should be able to point to why they proposed the change.
  • The reviewer should be able to point to what they specifically checked and why they approved it.
  • QA should be able to point to what they validated and what the tests they ran were built to catch.
  • Release management should be able to point to what shipped, when, and on whose approval.

But those answers only add up to real accountability if something connects them. Everyone can do their jobs correctly and still miss a failure that only shows up when their pieces interact. Accountability by role is necessary, but it isn't the same as visibility across the whole release.

How to make ownership more traceable 

Gaining visibility across the whole release is hard because the tools involved don’t talk to each other: 

  • One shows the build passed.
  • Another shows a PR was approved. 
  • A third shows a test pass rate. 
  • A fourth shows a deployment went out clean. 

Each of those signals can be true, and something can still fail in production because none of them can see issues that only arise when the signals are combined.

A config change is a good example. Say a timeout value or a default gets updated. It can pass review and testing cleanly in the service it's made in, and still break a downstream service that assumed the old value would hold. No single tool's signal was wrong. The failure lived in the connection between them, which wasn’t being tracked. 

CloudBees Unify connects those signals (CI, code review, testing, deployment), so they can be checked against each other instead of confirmed in isolation, making every change, human or AI, visible, auditable and accountable. When something breaks, that unified record shows what each stage verified and where the connection between stages was missing. That's a very different starting point than reconstructing it from four disconnected tools after the fact.

If your organization can't currently answer what shipped, who approved it, and what tested it, in one place, it's worth finding out what that's actually costing you. Use our ROI framework for governed delivery to calculate it.

Subscription confirmed

You'll now receive our latest news, releases, and event updates by email.