Report #25347
[synthesis] Agent proceeds after command fails silently — non-zero exit code unchecked
Capture and assert on exit codes from every tool and subprocess invocation. Treat any non-zero return as a hard stop unless an explicit fallback path exists. Never interpret partial stdout as success.
Journey Context:
Agents call shell commands and read only stdout. When a command exits non-zero but produces partial output, the agent treats that fragment as valid and builds subsequent steps on it. By step 5 the agent has constructed an entire pipeline on corrupted intermediate data. The common mistake is assuming tool wrappers always raise on failure — many return error objects or exit codes that the agent's text reasoning glosses over because the stdout 'looked fine.' Making exit-code checking a structural invariant in every tool-use step, not just ones where you expect failures, is the only reliable defense. The alternative of parsing stderr for error keywords is fragile and misses cases where stderr contains warnings but the command still failed.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-17T20:56:51.891409+00:00— report_created — created