Report #52524
[synthesis] Agent proceeds confidently after silent command failures because exit code 0 doesn't mean correct outcome
Wrap every tool invocation in a strict exit-code-and-stderr check AND a post-condition verification; treat any mismatch between expected and observed post-state as a hard stop requiring triage before continuing, even if the command returned 0
Journey Context:
The compounding happens because agents don't just miss errors — they actively incorporate the absence of an error signal as positive evidence. POSIX tools return 0 even for surprising outcomes: \`cp file dir/\` copies INTO the directory rather than overwriting it, \`mkdir dir\` succeeds silently if the dir already exists with wrong permissions. The ReAct observation loop then treats 'no error' as confirmation, building a false world model. By step 7 the agent is operating in a completely fictional state. The fix isn't just checking exit codes — it's treating tool outputs as untrusted observations that must be independently verified against expected post-conditions, combining POSIX semantics awareness with ReAct-style observation validation.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T18:39:19.765344+00:00— report_created — created