Bug: dev-review-release loop wedges on dirty worktree after interrupted run

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

Dependencies

Description

Edit

While dogfooding Omni/Ide/dev-review-release.sh loop --role dev --task-id t-575, the dev loop got stuck retrying forever with:

Workspace is dirty, refusing to run ... ?? Omni/Agent/Tools/ProductSearch.hs

Context:

  • A prior dev agent run was interrupted (timeout/manual stop), leaving untracked changes in the dev worktree.
  • The loop refuses to process while dirty (good safety), but has no recovery path or auto-comment escalation beyond repeated retries.
  • This can wedge automation indefinitely for the task.

Expected:

  • Either automatically stash/clean only generated prompt artifacts and keep code changes explicit, OR
  • Detect persistent dirty state and mark task with a clear failure reason / pause loop with actionable guidance, OR
  • Add configurable cleanup mode for untracked files in workflow-managed worktrees.

Repro: 1. Start dev loop on a task. 2. Interrupt run after files are created but before commit/cleanup. 3. Observe repeated dirty-workspace failures each poll interval.

Timeline (4)

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

Implemented dirty-workspace recovery in Omni/Ide/dev-review-release.sh. New behavior: when workspace is dirty, dev loop auto-stashes only untracked changes and retries cleanly; if tracked changes are present for the same dev task, loop now logs and continues to allow recovery instead of wedging. Added --no-auto-stash flag and docs updates (Omni/Ide/DEV_REVIEW_RELEASE.md, Omni/Ide/README.md). Verified via repro with untracked file: loop auto-stashed and continued.

🔄[human]InProgress → Done1 week ago