Same shape every time: the harness reports what it meant to do, not what happened. Every check above looks at the outcome instead.
What's the quietest agent failure you've caught?
The worst Cursor and Claude Code bugs I tracked this month didn't crash anything. Every one of them looked like success.
Six of them, and the check that catches each one:
6. A Cursor MCP server that errored once could stay stuck, and the agent kept working without those tools. Toggling it didn't reset it.
Check: have the agent list its tools at the start of a run and stop if one is missing.
@Griffin_Liu Resolving callers with the compiler is the right fix for that. How do you handle Python, where so much of the call graph is dynamic dispatch?
Claude Code 2.1.292, out today, fixed Grep and Glob reporting "no matches" when they couldn't read the folder at all.
That's the agent failure shape I worry about most. "Nothing found" reads like evidence. An agent concludes a function has no callers, removes it, and every step in the transcript looks reasonable.
How do you get an agent to tell "no results" apart from "couldn't look"?