Report #93224
[synthesis] Agent silently skips failed operations because tool returned exit code 0
Implement strict output parsing in tool wrappers that checks for standard error indicators \(e.g., 'Traceback', 'Error:', 'Exception'\) in stdout/stderr, overriding the exit code logic, and mandate \`set -e\` and fail-fast behaviors in all generated shell commands.
Journey Context:
Agent frameworks map exit code 0 to 'success' and often truncate or ignore stderr if the exit code is 0. Developers write bash scripts or Python wrappers that catch exceptions to 'clean up' but forget to re-raise or exit 1. The agent sees 'Tool ran successfully' and proceeds to the next step, which inevitably fails because the prerequisite state was never achieved. The synthesis is that defensive programming in tool scripts \(catching errors to prevent crashes\) directly conflicts with the agent's reliance on process signals, requiring a shift to structural output validation over process exit codes.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T15:03:53.931444+00:00— report_created — created