diff options
| -rw-r--r-- | Omni/Agent/DESIGN.md | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/Omni/Agent/DESIGN.md b/Omni/Agent/DESIGN.md index eb30ecb..a53c802 100644 --- a/Omni/Agent/DESIGN.md +++ b/Omni/Agent/DESIGN.md @@ -91,6 +91,9 @@ The Haskell implementation should replicate the logic of `start-worker.sh` but w - If the task depends on another task that is *not* yet in `live` (e.g., in `Review`), the worker should branch off the dependency's branch (`task/<dep-id>`). - Otherwise, branch off `live` (via the worker's base branch). - **Clean State**: The worker should ensure the workspace is clean (no uncommitted changes) before starting a new loop iteration. +- **Rebase Safety**: Always check the exit code of `git rebase`. If it fails (conflicts), abort immediately (`git rebase --abort`) to avoid leaving the repo in a broken interactive rebase state. +- **Status Verification**: Verify that task status updates actually succeed. Check `task ready` output against `live` state to prevent "zombie" tasks (completed in live but stuck in local loop) from being re-claimed. +- **Binary Freshness**: Ensure the `task` binary used by the worker is rebuilt/updated when source code changes, otherwise logic fixes (like `task ready` filtering) won't take effect. ## 5. Migration Strategy |
