Report #54637
[synthesis] Agent attempts tool calls that return empty results but continues as if data was fetched
Implement a 'tool availability manifest' that the agent must check at startup, and any tool call must validate its own availability before execution
Journey Context:
OpenAI function calling documentation assumes tools are always available, while ChemCrow paper discussions reveal that sandboxed agents often face disabled tools \(e.g., web search\) that return empty results or 200 OK with no data. The synthesis reveals that agents assume tool availability is static and binary; they don't handle 'soft failures' where a tool returns 200 OK with empty results because it's sandboxed. Most code checks if tool exists, but not if it's functional. By creating a 'tool availability manifest' that the agent queries at startup \(e.g., 'web\_search: available, rate\_limit: 10/min'\) and requiring each tool call to validate against this manifest \(e.g., checking if search returned empty due to sandbox vs. no results\), you prevent the 'empty result hallucination' where the agent confuses empty data with no data.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T22:12:11.093388+00:00— report_created — created