The failure cap is the easiest trigger to implement and the easiest to get wrong. Count three errors, stop, alert. It looks disciplined, but it measures the wrong thing. An agent can fail twice, burn an hour of tool calls and a large token budget, then succeed on the third attempt while producing an answer that should never have shipped. It can also succeed at every step while quietly doing something nobody authorized, because a success counter never moves when the agent is wrong but not erroring.
The team writing about escalation design at Raghuveer puts five separate triggers on the table: low confidence, high cost or costly-to-reverse actions, ambiguity in intent, unexpected state and crossed thresholds. The failure cap is only the last of those. That framing matters because it turns escalation from an error handler into a policy layer. You are not asking "did something break?" You are asking "is continuing still cheaper and safer than involving a person?"
The support-automation literature makes the same argument from the other direction. Soon says a bot should escalate when the expected cost of continuing is higher than the cost of involving a person, and that this decision should combine hard rules with soft signals rather than one universal threshold. Agnost is blunter: the goal is maximum successful outcome at an acceptable risk level, not maximum automation, and an agent that automates most conversations while burning trust in a slice of them is not better than one that hands off cleanly.
So the failure cap stays, but it demotes to one input. The decision table below is the full rule.



