Report #91754
[synthesis] Agent suffers partial success masking where HTTP 200 responses with empty or null data fields are interpreted as successful task completion, causing silent data loss
Implement semantic null checking - define explicit empty response contracts for each tool that distinguish between success with no data vs success with missing data; require the agent to verify data presence against expected schema before marking subtask complete; if empty fields are detected where data was expected, treat as failure and retry with explicit verify data existence tool.
Journey Context:
This addresses the failure where APIs return 200 OK with \{"results": \[\]\} or \{"data": null\} and the agent interprets this as I successfully retrieved the data when actually no data was found. The synthesis combines: \(1\) observations that agents conflate request succeeded with data obtained, \(2\) the realization that most agent loops don't distinguish between transport-layer success \(HTTP 200\) and application-layer success \(non-empty payload\), and \(3\) the pattern that retry logic often skips successful calls. Common mistake: checking only status\_code == 200. Alternative: schema validation only \(catches type errors but not missing data\). Why right: empty responses are a distinct semantic state that requires explicit handling, not automatic success.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T12:36:07.135441+00:00— report_created — created