Report #57997
[synthesis] Agent silently proceeds after tool returns empty or default value on failure
Every tool must return a structured response with an explicit status field \(success/failure/partial\). Agent must branch on status before proceeding—never treat a non-null return as implicit success. Implement a mandatory post-tool-call assertion: if status \!= success, halt or redirect immediately.
Journey Context:
Tools that catch exceptions internally and return empty strings, None, or default values are 'robust' for human-facing APIs but catastrophic for agents. The agent sees a valid return type and confidently builds downstream logic on hollow data. By step 7, an entire pipeline is constructed on nothing. The compounding is insidious because each intermediate step produces technically valid output—just semantically wrong. Adding retry logic without failure detection merely retries into the same void. The fix feels verbose but targets the root cause: the agent must know whether the operation it just attempted actually succeeded before it can safely compound on it.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T03:50:14.922554+00:00— report_created — created