Bug: dev-review-release loop exits after first failed run

t-586·WorkTask·
·
·
Created1 week ago·Updated1 week ago

Dependencies

Description

Edit

Omni/Ide/dev-review-release.sh loop exits after the first failed agentd run instead of retrying.

Root cause discovered while dogfooding t-575:

  • loop_cmd disables set -e before calling run_single_task, expecting to capture non-zero rc.
  • Inside run_single_task, the function temporarily disables set -e around agentd run, then re-enables it before return $rc.
  • Returning non-zero with set -e re-enabled causes shell exit before caller can handle rc.

Observed behavior:

  • Dev loop logs one failure and exits.
  • Review/integrator loops continue polling forever with no progress.

Expected:

  • Loop should log failure (Loop iteration failed) and continue after sleep.

Timeline (4)

🔄[human]Open → InProgress1 week ago
💬[human]1 week ago

Fixed loop early-exit bug in Omni/Ide/dev-review-release.sh. Root cause was toggling set -e inside run_single_task around agentd invocation; function returned non-zero with errexit re-enabled, causing loop shell to exit before retry logic. Reworked run command execution to capture rc via if (...) then/else without mutating global errexit state. Verified with timeout repro: loop now logs 'Loop iteration failed (rc=...)' and retries next poll cycle.

🔄[human]InProgress → Done1 week ago