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.
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.