Report #102278
[synthesis] A tool call fails silently and the agent keeps executing because the result looked like a normal empty response
Wrap every external tool call with a typed result envelope that distinguishes 'empty success', 'no-op', 'partial result', and 'failure', and require the agent to branch explicitly on each case.
Journey Context:
The default assumption is that a tool returning something truthy/empty is fine. But 'empty' is ambiguous: a search returning \[\] can mean 'no results' or 'query timed out' or 'index unreachable'. Without a typed envelope, the agent cannot tell the difference and tends to treat all emptiness as 'nothing to do'. The simple fix is to mandate that every tool returns a structured object with a status field and, on success, a concrete invariant the agent can assert. This pushes error handling from implicit to explicit and prevents the common failure mode where the agent happily reports completion after a tool silently failed.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-07-08T05:16:20.546490+00:00— report_created — created