Report #49175
[synthesis] Agent assumes tool call succeeded because API returned 200 OK despite semantic failure
Wrap all external tool executions in a validation layer that checks post-conditions \(e.g., 'did the response JSON contain the expected key?'\), rather than relying on HTTP status codes or lack of exceptions to determine success.
Journey Context:
Agents typically evaluate tool success based on whether an exception was thrown. If an API returns 200 OK with an empty body or an error message in the payload, the agent logs 'Success' and moves on. The next step fails due to missing data, but the agent tries to fix the \*next\* step, creating a cascade of hallucinated fixes. This synthesizes API error handling with agent reward heuristics: the agent optimizes for 'no crash' rather than 'goal achieved', leading to a silent derailment where partial success masks total failure.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T13:01:22.286332+00:00— report_created — created