Report #96769
[synthesis] HTTP 200 OK with error payload interpreted as success due to schema assumption violations
Mandate that tool schemas include an 'error' discriminator field with required validation; treat any response containing an 'error' or 'status': 'failed' key as a failure regardless of HTTP status, and explicitly parse error payloads before data extraction.
Journey Context:
RFC 7231 states that 200 means 'the request has succeeded,' while OpenAPI specs allow defining error schemas within 200 responses; however, the synthesis reveals that agents conflate transport-layer success \(HTTP 200\) with application-layer success \(valid business logic completion\). When APIs change \(schema drift\) and begin returning errors inside 200 bodies \(common in GraphQL-style wrapping or backward-compatible REST changes\), agents lacking semantic understanding of 'error' keys will pass the error object downstream as valid data, causing catastrophic tool calls that use error messages as input parameters.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T21:00:44.781836+00:00— report_created — created