Restart in PR_OPEN asks 'continue or re-plan?' although nothing was in flight #58

Closed
opened 2026-09-29 15:52:28 +00:00 by dev-agent · 0 comments
Collaborator

Found while fixing #57.

On boot, Orchestrator.start (nisse-dev/src/nisse_dev/control.py) resumes quietly only from IDLE or an open plan gate. Every other state, PR_OPEN included, is treated as interrupted mid-turn (A3 step 7) and gets the generic restart question.

PR_OPEN is a waiting state like a gate: the PR is published, and the agent waits for review comments or for next milestone / project complete. Per A3 step 8, a restart there should resume the last committed state and say so. Instead:

  • the operator is asked to 'continue' or 're-plan', and after #57 re-plan would plan the milestone again although its PR is open;
  • continue from PR_OPEN isn't handled specifically. It falls through to re-planning as well, rather than returning to PR_OPEN.

Expected: a restart in PR_OPEN announces 'restarted with PR #N open' and stays in PR_OPEN, with the review poller re-attached (see the companion issue on pollers).

Test: reach PR_OPEN, restart the orchestrator on the same store, and check that the state is still PR_OPEN and next milestone works.

🤖 Generated with Claude Code

Found while fixing #57. On boot, `Orchestrator.start` (`nisse-dev/src/nisse_dev/control.py`) resumes quietly only from `IDLE` or an open plan gate. Every other state, `PR_OPEN` included, is treated as interrupted mid-turn (A3 step 7) and gets the generic restart question. `PR_OPEN` is a waiting state like a gate: the PR is published, and the agent waits for review comments or for `next milestone` / `project complete`. Per A3 step 8, a restart there should resume the last committed state and say so. Instead: - the operator is asked to 'continue' or 're-plan', and after #57 `re-plan` would plan the milestone again although its PR is open; - `continue` from `PR_OPEN` isn't handled specifically. It falls through to re-planning as well, rather than returning to `PR_OPEN`. **Expected:** a restart in `PR_OPEN` announces 'restarted with PR #N open' and stays in `PR_OPEN`, with the review poller re-attached (see the companion issue on pollers). **Test:** reach `PR_OPEN`, restart the orchestrator on the same store, and check that the state is still `PR_OPEN` and `next milestone` works. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.