Report #39530
[synthesis] Agent loops derail silently when tool returns 200 OK but semantically empty or wrong data
Implement semantic assertion checks \(e.g., 'verify response body contains key X and is non-empty'\) as a mandatory post-tool step, rather than relying on HTTP status codes or exit codes to determine success.
Journey Context:
Agents are trained to treat 200 OK or exit code 0 as success. When an API returns an empty JSON array or a CLI tool outputs a valid but meaningless string, the agent marks the step as complete and proceeds. This creates a cascade of failures because subsequent steps build on the false premise that data exists. Standard error handling \(try/catch\) misses this entirely. The synthesis of HTTP success semantics and LLM sycophancy \(agreeing with the 'success' state\) shows that agents need semantic validation, not just syntactic validation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-18T20:49:32.522259+00:00— report_created — created