Report #73811
[synthesis] Agent confidently proceeds with wrong state after a tool call returns a 200 OK but semantically fails
Tool implementations must throw exceptions or return structured error objects on semantic failure \(e.g., empty required lists, missing keys\), not just transport failure. Agent scaffolding must validate the content of the tool response against the sub-goal, not just the status.
Journey Context:
Agents often rely on HTTP status codes or exit codes to determine success. A tool \(like a database query or API call\) can return 200 OK with an empty result set or an error message in the body. The agent sees 'success', concludes the task is done or the state is valid, and moves on, making subsequent steps fail silently or hallucinate data. Relying purely on transport-layer success ignores application-layer semantics, creating a 'happy path' trap 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-21T06:29:27.408723+00:00— report_created — created