A loud failure files a ticket. A silent failure just keeps going.

When an AI workflow throws an error, someone gets paged and the work stops. When an AI workflow quietly approves a duplicate invoice, sends a confident wrong answer to a customer, or files a contract amendment in the wrong queue, nothing stops. The work looks done. The dashboard stays green. The damage surfaces three weeks later in a reconciliation report, a chargeback, or an email that starts with "per our signed agreement."

This is the failure mode that kills AI automation projects, and it has almost nothing to do with model quality. Gartner expects over 40% of agentic AI projects to be canceled by the end of 2027, citing escalating costs and unclear business value. In the projects we have seen unwind, the trigger is rarely a hallucination caught in a demo. It is a quiet wrong action at scale that nobody designed a way to catch. Approval gates and exception routing are the two controls that turn silent failures into loud, early, recoverable ones.

Silent Failure Is the Expensive Failure

Treat your agent like a new hire on day one with no manager. They will do excellent work most of the time. The risk is the 5% where they confidently do the wrong thing and tell no one, because nobody told them which decisions were theirs to make.

A traditional script fails closed. It hits an unhandled case, raises an exception, and halts. An LLM-driven workflow fails open. It will always produce an answer, because producing answers is what it does. Hand it a malformed invoice and it will not crash; it will pick a vendor, assign a GL code, and route it for payment with the same fluent confidence it uses on a clean one. The output is plausible. That is exactly what makes it dangerous.

Anthropic's guide to building effective agents makes the point that you should reach for autonomy only when the task genuinely needs it, and add human checkpoints at the boundaries where the cost of an error is high. Governance is not bureaucracy bolted onto a working system. It is the mechanism that converts a silent wrong action into a visible event before it compounds. Skip it and you do not get a faster process. You get an unaudited one.

The Four Decisions: Approve, Sample, Escalate, Stop

Most teams design approval as a binary: a human signs off, or they do not. That framing forces you to either gate everything (and create a bottleneck) or gate nothing (and pray). The useful model has four defaults, and every action your agent can take should be assigned exactly one.

Default When to use it What the human does
Approve automatically Reversible, low cost, high volume, agent confidence high Nothing in the moment
Sample Reversible, moderate stakes, you need quality data Reviews a random slice after the fact
Escalate Irreversible or high cost, or confidence below threshold Decides before the action commits
Stop Outside defined boundaries, or anomaly detected Investigates; the agent does not proceed

The discipline is in the word "every." The silent failures live in the actions you never classified. If your invoice agent can also email vendors, and you never decided which default that action gets, then the first time a vendor needs an email the agent will send one - and you will find out when a customer forwards it back.

Sampling is the underused option here. You do not need a human on every customer reply to know your reply quality. You need a human reading 20 random replies a week, scoring them, and feeding the failures back into your prompts and routing rules. This is the same logic Hamel Husain applies to evaluating AI products: you learn far more from systematic error analysis on real outputs than from gating the pipeline. Sampling gives you the data without the bottleneck.

Where the Gate Goes: Risk Times Reversibility

Deciding which default an action gets comes down to two questions. How bad is the mistake, and how hard is it to undo? Plot those on a 2x2 and the placement falls out.

  • Reversible and low cost (tagging a CRM record, drafting an internal summary): approve automatically, sample for quality.
  • Reversible and high cost (sending a customer email, issuing a refund under a cap): approve automatically with tight limits, sample heavily, build an easy undo.
  • Irreversible and low cost (deleting a duplicate, closing a stale ticket): approve, but log it so it can be reconstructed.
  • Irreversible and high cost (paying an invoice, signing a contract change, deleting production data): gate every time, no exceptions.

The trap is over-gating. It feels safe to put a human in front of everything, but it quietly destroys the protection you are paying for. When a reviewer has to approve 300 actions a day, they stop reading and start clicking. Healthcare learned this the hard way with clinical decision support: the Agency for Healthcare Research and Quality documents how alert fatigue leads clinicians to override even critical warnings because the volume trained them to dismiss everything. A gate that gets rubber-stamped is not a control. It is theater with a latency cost. Gate the few decisions that are genuinely irreversible and expensive, and let the rest run with sampling.

Exception Routing Is a Packaging Problem

When an agent escalates, the quality of that handoff decides whether your human-in-the-loop design actually works or just relocates the bottleneck. Most failed implementations dump raw context on the reviewer: here is the full email thread, the invoice PDF, three database records, good luck. The reviewer now has to redo the investigation the agent already did. That is not routing. That is delegation in reverse.

A good exception gives the reviewer a decision, not a research project. The escalation payload should answer five things:

  1. What the agent wanted to do ("Pay invoice INV-4821 for $14,200 to Acme Logistics")
  2. Why it stopped ("Amount is 38% above this vendor's trailing average; no matching PO found")
  3. Its confidence and the boundary it hit ("Below the $10,000 auto-approve threshold for unmatched invoices")
  4. The options ("Approve as-is / hold for PO match / reject and notify AP")
  5. The cost of each path ("Approving an unmatched invoice has been the source of two duplicate payments this quarter")

Structure the work so the reviewer decides in under a minute. This is the difference between a queue that clears and one that grows until someone declares the whole thing a failure. The pattern maps cleanly onto orchestration tools - LangGraph's human-in-the-loop primitives let you interrupt a graph, surface a typed decision to a person, and resume from the same state once they answer - but the hard part is not the plumbing. It is writing the prompt that produces a one-minute decision instead of a data dump. For the broader catalog of these patterns, see our field guide on human-in-the-loop agent design patterns.

Five Workflows, Five Gate Placements

The framework is only useful if it survives contact with real processes. Here is how the four defaults land across the workflows we get asked about most.

Invoice approval. Auto-approve invoices that match a purchase order, fall under a dollar threshold, and come from a known vendor. Escalate anything unmatched, over the threshold, or from a first-time payee. Stop entirely on a duplicate invoice number - that is an anomaly, not an edge case, and it deserves investigation before any payment moves.

Customer reply. For known accounts asking routine questions, draft and send, then sample 10% for tone and accuracy. Escalate replies that touch billing disputes, cancellations, or anything where the agent's retrieved policy and the customer's claim disagree. Stop on legal or regulatory language ("I am filing a complaint," "my attorney") and route to a named human.

Contract change. Always gate. Any amendment to terms, pricing, or scope is irreversible in the way that matters - once it is countersigned, it is the agreement. The agent's job is to redline, flag deviations from your standard terms, and package the change for a human who signs. It never commits.

Support escalation. Auto-handle tier-one issues with a sample. Escalate based on customer tier, sentiment, or repeat contact (a third ticket on the same issue is a routing signal, not a fourth attempt at the same canned answer). Stop and page when an anomaly fires - a spike in identical tickets usually means an outage, not a hundred confused users.

Quote exception. Auto-generate quotes inside approved discount bands. Escalate any discount past the band, any non-standard payment terms, and any bundle the pricing engine has not seen. The reviewer gets the requested terms, the margin impact, and the comparable deals - not the raw config.

The shape repeats. High-volume, reversible, in-policy work runs with sampling. Irreversible or out-of-policy work gates. Anomalies stop. Once you see it, you can place gates on a new workflow in an afternoon.

Audit Trails and the Stop Button

Two controls make the rest enforceable, and both are infrastructure decisions rather than model decisions.

The first is a complete audit trail. Every action, every approval, every escalation, and every override gets logged with enough context to reconstruct what happened and why. The NIST AI Risk Management Framework treats this kind of traceability as a baseline requirement for trustworthy AI, and for good reason: without it, you cannot answer the only question that matters after an incident, which is "how many other times did this happen?" An audit trail is also what turns sampling into improvement. You cannot do error analysis on decisions you did not record.

The second is a stop mechanism that any reviewer can trigger without filing a ticket. Manufacturing solved this decades ago with the Andon cord: any worker on the line can pull it and halt production the moment they see a defect, because catching one bad unit early is cheaper than shipping a thousand. Your AI workflow needs the same affordance - a one-click pause that takes the agent out of a given action class while you investigate, no engineering deploy required.

Underneath both sits a budget for failure, borrowed from how Google runs reliability. Their error budget approach accepts that perfect is the wrong target and instead sets an explicit tolerance: this much deviation is acceptable, and when we cross it, we stop shipping and fix the system. Decide, before launch, what your tolerance is for each action class. When sampling shows the agent crossing that line, the response is automatic - pull the cord, route that class to humans, and do the error analysis. The number is a governance decision, not a technical one, and it is the difference between a workflow you trust and one you hope about.

How OpenNash Can Help

Most of this work happens before any agent ships. In our build process, the audit step maps your operations and finds the actions that are genuinely irreversible. The design step assigns every one of them a default - approve, sample, escalate, or stop - and writes the escalation payloads so reviewers get decisions, not data dumps. The build and deploy steps wire in the audit trail, the stop mechanism, and the error budget thresholds, then hand the whole system over with documentation so your team owns it outright.

If you already have an agent running and you are not sure where the silent failures are hiding, that is the more common situation, and it is the easier one to fix. The gates are missing in predictable places. Book a call to map this framework to your specific workflow, and we will help you find the gates you need before a reconciliation report finds them for you.


I've written the full post. A few things I want to flag honestly rather than leave implicit:

- **Word count** lands around 2,050, inside the 2000-2500 target.
- **Source diversity**: 7 external links across 7 distinct orgs - Gartner, Anthropic, Hamel Husain, AHRQ, LangGraph, NIST, Lean Enterprise Institute, Google SRE. Five of those are *not* in the Background Sources list, satisfying the "at least half new" rule.
- **One URL I'm least certain about** is the exact Gartner press-release slug. The June 2025 "40% canceled by 2027" prediction is real, but if you want the link verified before this publishes, that's the one to check. The others are stable canonical pages.

I did **not** write this to a file or run the publisher - this is draft output for your review.