Incident-Arena, published on 30 September 2026, handed frontier agents 20 human-built incidents on live Kubernetes clusters running production applications and checked two things: did the service recover, and did the repair stay inside what the agent was allowed to touch. The best configuration passed 64.3 percent. The more useful number sits further in: of the episodes that implemented the full reference fix, only 59 percent passed. Getting the fix right is not the hard part.
That gap is the whole story for anyone deciding whether an agent gets change rights in production. The authors read that gap as a judgement problem; their own section heading is that agents are mainly bottlenecked on knowing when to stop. I read it differently. The binding constraint is not diagnostic accuracy, and it is not deliberation either. It is whether the rules about what must not change exist in a form a machine can check.
What did Incident-Arena actually test?
The benchmark is a human-built set of 20 tasks across three application substrates: a custom Slack-style application carrying 13 of the tasks, plus Saleor and FrappeERP. The Slack-style application is the authors' own, modelled on Mattermost; the other two are mined from open source, so those production-grade codebases carry seven of the twenty tasks between them. An e-commerce platform and an ERP are the kind of systems a mid-market estate actually runs, not a synthetic demo built to be diagnosable.
Each task deploys the application to an ephemeral cluster, injects a fault (at the configuration layer, in the image, or at runtime once the system is already up) and runs a sustained load profile while the agent works.
The scoring is where it departs from its predecessors: two gates, both deterministic, with no LLM judge anywhere in the pass decision. The outcome gate holds service-level indicators (goodput ratio, latency, error rate) inside bounds under fresh traffic for a fixed period after the agent declares it is done. The safety gate asks three separate questions: does the repair survive a service restart or a re-fired trigger, did the agent stay inside its permitted scope, and are protected data and guardrails still intact. A task passes only if both gates pass.
Three trials per task at each available reasoning level gives 3,000 trials, each long enough to be an hour-scale trajectory rather than a single answer. Averaged across reasoning levels, GPT-6 (astra) on Codex led at 59 percent for a mean $3.28 per episode, ahead of Claude Opus 5.5 on Claude Code at 54 percent and $2.00, Claude Fable 5.1 at 44 percent, GPT-6 (sol) at 39 percent for $0.81, and Grok 4.7 at 26 percent for $6.27. The 64.3 percent headline is GPT-6 Astra at its highest reasoning setting. Hold that ordering loosely: the published confidence intervals run roughly thirty points wide, and the paper says so itself. The 41 percent below survives that, being a ratio within one study.
Why did 41 percent of correct fixes still fail?
Strip out diagnosis and you are left with the number that should change your plan. Across 1,638 episodes in which the agent implemented the full reference fix, 59 percent passed. The agent understood the incident, chose the repair the authors themselves would have chosen, applied it, and four times in ten it still did not count. Of those, 329 failed specifically on a safety check.
The paper names the two most common ways. In 145 episodes the agent moved a maintenance window to an unsafe time. In 38 it raised a connection pool past its ceiling. Read those slowly: they are the same failure in different clothes. Both resolve the symptom. Both violate a constraint that was entirely real and entirely unwritten. The maintenance window sat at that hour because something else runs at that hour. The pool had a ceiling because the database behind it has a limit nobody encoded anywhere the agent could read.
This is not a model that was insufficiently clever. It is a model operating where the rules were tribal knowledge, and a better model would have made the same change with more confidence.
Which failures are model problems, and which are documentation problems?
The paper assigns each of its 1,948 failures to exactly one class. Repairs that did not last through a restart or the next trigger account for 26.5 percent. Declaring done while the service was still out of bounds is 23.9 percent. Changing something off the permitted list is 21.9 percent. Running out of time or step budget without ever declaring is 16.3 percent. Leaving a planted cause or its damage in place is 8.7 percent, with other integrity checks taking the remaining 2.6 percent.
The split I would draw across those classes is mine, not the paper's, but it is the one that decides a budget. Leaving a planted cause in place, at 8.7 percent, is the class a stronger model genuinely improves. Premature declaration is not: the paper's own section on it is headed “Reasoning effort is a poor lever for repair success”, and reports that more search, more time and more reasoning cannot buy those episodes back, because the agents still declare once the alarm goes quiet. Add that 23.9 percent to the fragile repairs and the out-of-scope changes, and roughly three quarters of all failures are control problems rather than capability problems, fixed by writing the invariant down and re-checking after the change, which your own team can do this quarter.
Is a human approval gate the right instrument?

Google's SRE guidance on AI engineering for reliable operations sets out five autonomy levels, L0 through L4, across monitoring, investigation, mitigation, actuation and self-direction. L2 is the one most organisations are reaching for: the system may actuate, but a human must explicitly approve any plan first.
The nearest published reading of Incident-Arena, Ajay Kumar's 2026 AIOps round-up, cites the same 64.3 percent and lands squarely on L2, paired with a short list of pre-approved, reversible, rate-limited actions. The action-list half of that is right, and I would not argue with it.
Where I would push is the approval half. Human approval is a weak detector for the failure class that dominates here. Put "move the maintenance window to 02:00" in front of a change approver and they see a plausible, proportionate fix. They cannot see that 02:00 is when the nightly batch runs, unless someone wrote that down, and if someone had, the agent could have read it too. The approval step inherits the exact blind spot that caused the failure, then adds a delay.
What catches it in the benchmark is not a judgement call. It is a deterministic check against a declared scope, run after the change: the control that costs less, and the half of that recommendation which usually gets built last.
What does a permitted-change list actually look like?
Three columns, and it fits on a page. The resource, the operation allowed on it, and the bound. Deployment replicas: scale, between two and eight. Connection pool size: change, up to the database maximum minus headroom. Maintenance window: no change, ever.
Then the check that runs after the change, which in the benchmark is simply this: restart the service and confirm the repair is still there and the indicators still in bounds. A repair that evaporates on restart was never a repair, and that one test addresses the largest failure class in the study.
This is not a new discipline: ITIL change enablement already has the shape in the standard change: pre-authorised, documented, repeatable, low risk. A permitted-change list is that catalogue, written so a machine can evaluate it rather than a person. For a starting point, pull your last twenty production changes and mark the ones that only worked because the person doing them knew something that is in no document. That marked set is your first draft, and it is a change management problem long before it is an AI problem.
How does this differ from SREGym and ITBench?
Incident-Arena is not the first agentic SRE benchmark and does not claim to be. SREGym, from May 2026, runs 90 curated problems across five applications, with a mitigation oracle that checks whether the target fault is resolved and the system has recovered to a healthy state. Its best mitigation score was 78.5 percent, from Stratus (an agent purpose-built for this job, whose undo-and-retry loop the authors credit for it) and its best end-to-end score 60.7 percent, from Claude Code, both on Sonnet 4.6. The Incident-Arena authors call SREGym the closest prior work, and note that AIOpsLab passes a mitigation once every service is up again and ITBench once the alert clears: simpler criteria than either gate here.
The difference is the safety gate. SREGym's oracle asks whether the system recovered. Incident-Arena asks that, then asks whether the agent stayed in bounds getting there.
Resist the arithmetic that invites itself here: different task sets, different models, different test rigs, so 78.5 minus 64.3 is not the cost of safety. The honest number stays the one measured inside a single study.
Whose benchmark is this, and who benefits from the number?
Abundant built the benchmark on SRE-World, its own open-source layer over a fork of the Harbor evaluation framework, with results under CC BY 4.0 and full trajectories on the leaderboard. Abundant sells reinforcement-learning environments and datasets to frontier labs. A benchmark establishing that general-purpose agents top out around 64 percent on production repair is also an argument that the labs need more training environments, which is the thing Abundant sells.
Discount the framing and the numbers still stand up better than most. The verifiers are deterministic, the trajectories are public, and the paper volunteers its own weak spots: the wide confidence intervals, poor inter-judge agreement in the reward-hacking analysis, and an earlier task iteration in which an agent reached remote code execution on the grader pod. Read the measurements; discount the conclusion they are shaped toward.
What changes in a Dutch mid-market IT estate?
The reader this matters to runs IT in an organisation of roughly 250 to 5,000 people: an IT manager, a platform lead, an informatiemanager. You have an ICT partner running some or all of the estate, possibly an internal platform team, and a monitoring vendor whose roadmap now has AI auto-remediation on it. The feature is arriving whether or not it is on your plan.
So the question in your next supplier review is not whether the agent is accurate. It is which changes it may make, and who signed that list. In a multi-supplier estate (which is most Dutch mid-market estates, and has been since long before anyone used the word agent) the permitted-change list is a three-party artefact. You own the invariants, because only your organisation knows why the batch runs at 02:00. Your ICT partner owns the resources, the change authority and the page at 02:00. The AI supplier owns the agent's tool scope. If nobody owns the list, the effective policy is whatever the tools happen to permit: a decision made by a default.
Crux Digits sits on the AI side of that seam, next to your ICT partner rather than in place of them: we do not run your infrastructure and are not trying to. Our part is writing the invariants down with your people and building the automated check that enforces them, the same discipline that separates production AI from a demo, and the one we bring to mid-sized organisations that already have an IT function.
Two questions for the next vendor call. What is the agent's tool scope, in writing. And what happens to its repair when the service restarts.
We build custom AI and LLM systems that run in production: a clickable MVP by the second call, fixed steps, and you own the code.
AI development agency in the Netherlands →


