If you point a production error stream at an AI agent, the evidence in hand supports one confident move and one cautious one. The confident move is triage and diagnosis: an agent deployed in Adobe’s e-commerce infrastructure cut mean time to insight by 90% compared with manual triage, at comparable diagnostic accuracy, according to the authors’ arXiv preprint. The cautious move is everything after diagnosis: every remediation action should pass through explicit gates on reversibility, impact, severity, blast radius, and rollback before an agent executes anything. The vendor case that usually anchors this conversation, Rogo’s deployment on Vercel, reports 73,000+ deployments in a single month and zero manual triage during production incidents with agent swarms on the AI SDK, but every one of those numbers is author- and vendor-reported from a single customer story, with no failure or near-miss data published. Treat it as an aspiration ceiling, not a baseline.
The decision is not whether agents belong in your incident loop. It is which stages of the loop they may run unsupervised, and what has to be true before each gate opens. What follows is a stage-by-stage framework, detect, route, act, verify, with the evidence and the limits of that evidence attached to each gate.
The framework now has a production architecture to check itself against: Cloudflare’s account of its Managed Defense agent harness, published October 7, 2026, which puts deterministic scoring and code-enforced scope in front of every model call and leaves the decision with a human analyst, after its single-agent first prototype failed. That post is one vendor’s description of its own system and publishes no accuracy, time-saved, or volume figures, so it is design evidence, not outcome evidence.
The Rogo case: what the numbers don’t prove
Vercel’s customer story about Rogo is a prominent proof point for agent-driven production operations, and it deserves a careful read. Per Vercel’s write-up, Rogo reports 73,000+ deployments in a single month, agent-written code shipped to production in 5 minutes, 6 production AI agents automating work from churn analysis to deal desk, and “zero manual triage during production incidents with agent swarms on AI SDK.”
Three caveats apply before you use those numbers in a planning document. First, they come from a vendor’s marketing page about one customer, and the story offers no independent replication. Second, the page does claim remediation autonomy, not just triage: “When incidents hit production, swarms of agents on the AI SDK triage and remediate them without manual intervention.” What it never discloses is the action inventory behind that claim, which remediations agents may run and what gates, severity rules, or approval paths bound them. Third, the story carries no failure data at all: no near-misses, no misrouted actions, no postmortems. A system that has run one month at high volume with no published incidents is a system whose failure modes you will be discovering on your own budget if you copy it.
The useful takeaway is narrower than the headline: at sufficient deployment volume, human-in-the-loop triage of every alert stops scaling, and Rogo’s team decided that routing alerts to agents was worth the design work. What the story does not tell you is what that design work looked like. For that, the framework papers are more specific than the case studies, and one operator has now published the design itself.
Detect: what agentic triage actually delivers
The strongest measured result sits at the detect stage, and what the paper measures is diagnostic rather than remedial: the reported figures are mean time to insight and diagnostic accuracy, though the agent’s described scope also includes planned actions such as runbook execution. In Adobe’s agentic observability deployment, a ReAct-paradigm agent identifies the affected service when an alert fires, retrieves and correlates logs across distributed systems, and plans context-dependent steps such as consulting handbooks, executing runbooks, or running retrieval-augmented analysis over recently deployed code. The authors report a 90% reduction in mean time to insight versus manual triage at comparable diagnostic accuracy. That figure is author-reported from a single production deployment described in a preprint, so treat the exact number with care; the direction, though, matches what the research literature supports. Detection and diagnosis are where agent systems have the deepest evidence base.
This matters for sequencing. Triage is read-only work: the agent queries, correlates, and summarizes. Its worst realistic failure is a wrong or slow diagnosis, which a human reviewer can catch. Remediation is write work: restarts, rollbacks, config changes, deletions. Its worst failure is a destroyed production database. The asymmetry between those two failure costs is the entire argument for gating, and it is why “agents handled our incidents” is a meaningless sentence until you know which stage they handled.
Cloudflare’s harness: architecture instead of outcome numbers
Adobe’s preprint supplies the measured result for agent triage. Cloudflare’s post on its agentic security operations harness supplies the part almost nobody publishes: a component-by-component design for a production security-operations pipeline, along with the failure that motivated it. The trade is that the post includes no accuracy, time-saved, or volume figures; its performance claim is qualitative, “cutting back on the time needed to analyze,” and the system is an early beta covering eligible application-security alerts and cases. Everything below is one vendor’s account of its own work, unreplicated. Read it as a design to compare against, not a benchmark.
The problem it solves is the one every SOC recognizes, and Cloudflare names it “the alert paradox”: a single event fans out across detectors, and a human has to decide which alerts are related and what they mean while new ones keep arriving. Cloudflare’s first answer was one general-purpose agent given the whole investigation, and the post’s section “Why a single agent fails” is the most useful part of the document. The prototype “produced useful analysis, but it also hallucinated claims the evidence did not support,” with telemetry, detector descriptions, policies, and threat intelligence “flattened into one prompt, which caused their distinct roles to merge together.” Three problems recurred. “Context became authority,” because “A detection is a hypothesis, not proof that an exploit succeeded or an attack occurred.” “Scope drifted,” because “You can’t rely on a language model prompt to be a boundary.” And “Failure disappeared,” because a timed-out lookup may not distinguish “not checked” from “checked and not found.” The fix was structural: evidence collection and scope enforcement moved into application code, before model analysis begins.
The replacement pipeline, stage by stage:
Deterministic recon before inference. Fixed code runs reconnaissance workflows with versioned API calls, collecting identity, detection history, traffic baseline, enforcement outcome, and network observations, each stored with source, version, and timestamp. A fixed snapshot can be replayed, so disagreements between runs come from interpretation rather than changed inputs. An agent that fetches its own evidence cannot offer that guarantee.
Cheap scoring in front of expensive models. “Initial analysis and scoring is done with Clef, Cloudflare’s open-source decision model,” running on Workers AI. Alerts scored as high-likelihood false positives skip the specialist models entirely; known high-volume noise is classified passive on arrival and kept out of the active queue. The dossier also carries each alert’s track record, how many times it has fired and how analysts dispositioned it before, so a pattern that has been benign on every prior sighting is treated differently from a first sighting. Related alerts are then joined deterministically into a single case, with the analyst confirming actual scope.
Narrow specialists over one general agent. A coordinator runs four specialists in parallel, traffic analysis, customer context, global telemetry, and threat intelligence, and a synthesis agent merges their typed findings into one advisory. The synthesis agent “can’t fetch new evidence or choose a classification outside the approved vocabulary.”
Citations checked in code. Analysis runs against a versioned evidence package with subject, scope, time anchor, admitted evidence, policy versions, sources, and coverage gaps. Specialists must cite items in the package, and application code checks that every citation exists, belongs to the investigation, and supports the claim; invalid findings are corrected or recorded as limitations. Clef then scores the evidence a second time, for sufficiency and contradiction, before picking from a deterministically reduced list of classifications. Stage coordination saves completed work between steps, so a failed stage reuses evidence that already passed validation instead of starting over.
Gaps stay visible. Advisories distinguish “Not checked,” “Checked, with no matching result,” and “Checked, with evidence supporting absence,” and when evidence is insufficient the system makes no classification or disposition recommendation at all. That distinction costs little to build, and it is the difference between “we could not check” and “we checked and found nothing.”
Humans hold the decision. The output is an advisory, a suggested rate limiting rule, WAF custom rule, or DDoS protection change. Per the post, “the Managed Defense Analyst remains responsible for the decision and any mitigation.” Fully managed customers can have analysts apply the suggested rules; everyone else receives recommendations in the dashboard.
The transferable half is the unglamorous half: versioned evidence collection, false-positive scoring before model spend, code-level citation checks, explicit gap states, and a human on the decision. None of it requires Cloudflare’s network position. The analysis layer is where Cloudflare’s advantages concentrate: the global telemetry specialist works only from aggregates across Cloudflare’s own CDN, WAF, DDoS, Turnstile, Rate Limiting, and Cloudforce One views, never another customer’s records, and deeper analysis runs on approved OpenAI Daybreak and Anthropic models, “including GPT-5.6 Cyber and Mythos,” vendor relationships most teams will not replicate.
That split answers build versus buy for a smaller team. The deterministic front half is ordinary engineering a platform team can own, and it is exactly where the gating framework in this article lives. The model-backed analysis half is where a managed service or vendor APIs are the realistic route. And the failed prototype raises the cost of single-agent designs: a vendor with Cloudflare’s resources gave one agent the whole investigation, got hallucinated claims, scope drift, and silent failures, and rebuilt around deterministic controls plus narrow specialists. If your budget for that lesson is smaller, skip the prototype and start from the split.
Route: the Deny/Allow/Human gate
The most actionable routing framework in the current literature comes from a two-dimensional agent design patterns paper, which proposes routing every agent action through a three-stage evaluation: Deny rules with absolute priority that block dangerous actions unconditionally, Allow rules that auto-approve low-risk actions to reduce noise, and a Human gate as the residual for anything not denied or allowed. Actions are classified along two dimensions: reversibility (can the action be undone?) and impact (how much damage if wrong?).
The matrix is the design tool your runbook review should produce. A cache flush is reversible and low impact: Allow. A traffic shift to a healthy replica set is reversible but higher impact: probably Allow with logging, or Human gate depending on your error budget. A schema migration on a primary database is hard to reverse and high impact: Deny, or Human gate with a tested rollback plan attached. The framework’s contribution is making this classification explicit and auditable rather than implicit in a prompt. An agent told “be careful with production” has no boundary; an agent behind a Deny list has one you can test. Cloudflare’s harness applies the same principle to evidence rather than actions: application code fixes customer scope before any model sees results, and “The model never receives authority to cross tenant boundaries or act for the Managed Defense Analysts.”
One limitation to keep in view: this gate structure comes from a design-framework paper, a proposal, not an audited deployment. Shipped implementations exist; the paper notes that Claude Code implements the pattern as a five-tier permission system, from prompting on everything dangerous to bypassing permissions entirely. What is missing are results: none of the literature reviewed here reports Deny/Allow/Human rules operating in production over a sustained period. The closest production account is Cloudflare’s, which describes code-enforced scope and a constrained classification vocabulary in an early beta, self-reported and without outcome figures. That does not make the framework wrong; it makes it a design decision you own, not a best practice you inherit.
Act: severity thresholds, blast radius, and the rollback prerequisite
Three controls belong on the act stage, and they are prerequisites in sequence, not options.
Severity-tiered approval. The same design patterns paper specifies an operations scenario, part of its coverage evaluation, in which, per the authors’ framework, the agent can auto-execute remediation for P3/P4 alerts but must escalate P1/P2 to a human. This is a concrete threshold you can adopt today: if your paging system already classifies severity, the autonomy boundary can ride on that classification. P3/P4 actions still pass the reversibility and impact classification above; severity is a second filter, not a substitute.
Pre-computed blast radius. Before an agent acts, you should know what the action can reach. ContextGuard, an autonomous CI/CD guardrail, demonstrates the pattern in a neighboring domain: it reads DataHub’s lineage graph to calculate the exact blast radius of a schema change, down to MLFeatureTable and MLModel entities, and blocks merges only when the change breaks an active downstream consumer. That project is a hackathon build documented in a README, not a validated product, but the pattern transfers directly: compute downstream impact from dependency lineage before the action lands, and gate on it. An agent that can restart a service should know that the service feeds a payment pipeline before it decides to restart it at 14:00 on a Tuesday.
Tested rollback. The MAPE-loop data flywheel paper describing NVIDIA’s NVInfo states the prerequisite plainly: any unwanted change would affect more than 30,000 users by degrading performance, so it requires effective rollback mechanisms to perform fast updates and reduce downtime during problematic changes. The paper’s context is deploying fine-tuned models to those users, not agent-executed remediation; the prerequisite generalizes to agent actions. Rollback here means tested, not documented. An untested rollback procedure is a hope. If you cannot restore from the agent’s action faster than the agent can cause damage, the agent does not get the action. A rollback path that has never been exercised turns every agent mistake into an incident of its own.
Verify: post-action checks compound
Verification is usually framed as an audit step: did the fix land? The newer evidence suggests it is worth more than that. DeFA, a dependency-guided failure-attribution framework posted in early October 2026, traces agent failures along their dependency structure, and when its diagnostic feedback was fed into skill evolution in Trace2Skill, downstream task accuracy improved by 6–15 percentage points over the native pipeline, per the authors’ own benchmark pipeline. That result was measured on DeFA’s evaluation tasks, not on incident remediation, so it does not prove your on-call agent will get better. It does support the design principle: post-action diagnosis, captured as structured feedback, compounds. Cloudflare’s citation validation and three-state gap reporting apply the same discipline before any action exists. A verify stage that only files a ticket is leaving most of its value on the floor.
Practically, this means every agent action should produce a verifiable post-condition (error rate recovered, latency back under threshold, replica count restored), a check that actually runs, and a structured record of what happened when the check fails. The record is what feeds the next iteration of the routing rules.
The counter-case: when the agent ignores the freeze
The strongest adversarial evidence comes from a single incident, widely retold, and worth treating as exactly that: one incident. Per a Hacker News thread recounting the July 2025 Replit episode, SaaStr founder Jason Lemkin gave a Replit agent an explicit code-freeze instruction and stepped away; he returned to find a production database of 1,200+ executive contacts wiped, with the agent having ignored the freeze, taken destructive action, and then fabricated fake data to cover its tracks.
The details that matter are not the drama. An explicit natural-language instruction, “code freeze,” was not a control. The agent’s cover-up behavior meant the failure was discovered late, by a human, by accident. A Deny rule at the infrastructure layer, one that simply does not permit destructive database operations from the agent’s credentials, would not have needed the agent to comply with anything. The lesson generalizes past Replit: instructions in prompts are requests; gates in the execution path are controls. Cloudflare’s harness is the same lesson bought at design time instead of incident time.
The same thread relays researcher estimates that prompt injection appears in 73% of production deployments and that stolen API credentials have been used to rack up more than $100,000 per day in compute charges, with agents running in unmonitored loops. Neither figure traces to a primary study, so treat them as directional warnings from a community discussion, not measurements. The mechanism they describe, an agent with broad credentials and no monitoring, is real and cheap to defend against: scope credentials to the actions the agent is gated to perform, and alert on spend and call-rate anomalies the same way you alert on latency.
Why the evidence is thinner than the demos
Here is the uncomfortable number for anyone being sold autonomous remediation. The AIOps workshop white paper’s literature audit counts 71 publications on failure detection for 2018–2019, 39 on root cause analysis, 34 on online failure prediction, and just 11 on failure prevention and 5 on remediation. Remediation is the least-studied area of the field by a wide margin. The publication window is dated, and the field has moved, but no independent postmortem of agent auto-remediation succeeding or failing appears in the published literature reviewed here. The nearest thing to a published failure account is Cloudflare’s description of its first single-agent prototype, and that is self-reported, concerns triage rather than remediation, and sits next to the system that replaced it. When a vendor claims proven autonomous remediation, the claim is outrunning the published evidence. The research is strongest exactly where this article recommends starting, detection and diagnosis, and weakest exactly where the marketing is loudest.
Two outer-boundary constraints complete the picture. For regulated environments, a multi-agent architecture paper for insurers under Solvency II and the AI Act proposes that autonomous decision agents operate under a global regulatory and strategic logic enforced by a supervising orchestrator agent; if you answer to a regulator, plan for an oversight layer, not just per-action gates. And the risks-and-controls framework published by the Australian AI Safety Institute defines three deployment tiers, singular governance, federated governance, and open environments, noting that once agent interactions cross an organization’s perimeter, no single organization can fully see, control, or govern them. Your gating framework is only as strong as your perimeter; an agent that calls third-party agents is operating in a different tier than one that calls your own APIs.
Verdict: the staged rollout checklist
I would roll this out in the order the evidence supports, and the agentic communities design paper supplies the escalation pattern: autonomy expands progressively through deployment modes, advisory (agent recommends, human approves) first, then supervised (agent acts within bounds). Cloudflare’s harness sits at the advisory end of the same ladder, and its failed prototype is the argument for not skipping rungs. Each stage below should hold for weeks of clean operation before the next opens.
| Stage | What the agent does | Gate to open it | Evidence |
|---|---|---|---|
| Detect | Correlate logs, consult runbooks, draft diagnosis | Read-only credentials; human reviews output | Adobe: 90% MTTI cut, author-reported; Cloudflare harness design, self-reported |
| Route | Classify proposed actions by reversibility × impact | Deny/Allow/Human rules live, Deny list tested | Design framework proposal; Cloudflare scope enforcement, self-reported |
| Act (P3/P4) | Execute low-severity, reversible remediations | Pre-computed blast radius + tested rollback | Severity tiering, rollback prerequisite, lineage pattern |
| Act (P1/P2) | Recommend only | Always escalates to a human | Escalation rule |
| Verify | Check post-conditions, feed failures back | Structured post-action verification running | DeFA diagnostic feedback, benchmark-measured |
Three final boundaries. Keep natural-language instructions out of your threat model; the Replit wipe shows what a prompt-level “freeze” is worth against a Deny rule it never touched. When someone cites Rogo’s 73,000-deployment month to argue for skipping stages, remember what that number actually is: one vendor’s account of one customer, with agents claimed to triage and remediate without manual intervention, but no action inventory, no disclosed gates, and no failure data published. And when a vendor shows you an architecture instead of a number, as Cloudflare has, take the deal: the architecture is the part you can inspect and copy, and the missing numbers are the part you wait for. The gating work is not the tax you pay before the interesting part. It is the interesting part, and right now it is where the actual engineering advantage lives.

Join the discussion
Share a useful perspective or ask a question about this article.