Add a waiting state for work handed off to external review#83
Merged
Conversation
Once the operator runs `pr` and the PR is up awaiting someone else's
review or merge, the task sat in `review` — an attention state with a
state bonus — permanently occupying a queue row while there was nothing
the operator could do. Add a `waiting` task state (DESIGN.md §6) for
work blocked on an external party: it earns no state bonus, is excluded
from the queue and `next` like `parked`, and appears only in the task
browser and state counts.
Entry is `review → waiting` via a new `HandOff` action (`voro wait`,
TUI `w` on review rows). Exits are all manual: `Accept → done`,
`RejectWork(feedback) → running` (reusing the feedback-continuation
path), `Reclaim → review` ("my move again"), and `Abandon → rejected`.
Like `review`, `waiting` keeps its session open so a change-requested
reject reuses the same agent session; `Accept`/`Abandon` close it
exactly as from `review`, and reconcile leaves it untouched.
Migration 0010 widens the `tasks.state` CHECK. Return-path automation
(polling `gh pr view`) and waiting-before-work-starts are deferred and
noted in §6. Updates DESIGN.md §6/§7/§8.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UEiuR8dCQQhk3nwmu5HscX
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add a
waitingtask state for work handed off to external review (DESIGN.md §6).What changed
Adds a new
waitingstate: work blocked on an external party (a PR awaiting someone else's review or merge) that asks nothing of the operator. It earns no state bonus and is excluded from the queue andvoro nextlikeparked, surfacing only in the task browser and state counts.voro-core): newTaskState::Waiting; newAction::HandOff(review → waiting) andAction::Reclaim(waiting → review);Accept/RejectWork/Abandonnow also apply fromwaiting.waitingkeeps its session open likereview(so a change-requested reject reuses the same agent session), and reconcile leaves it untouched;Accept/Abandonclose the session exactly as fromreview.scheduler.rs):waitingearns no state bonus and is excluded fromcandidates(); newStateCounts.waitingfield.tasks.stateCHECK to admitwaiting(additive table rebuild, no data changes).voro wait <id>andvoro reclaim <id>;accept/reject/abandon/statshelp and rendering updated to includewaiting.wkey hands a selected review row off towaiting(with key-line hint and status-line refusal for non-review rows); browser ordering, state counts, detail-pane session lines, and the transition menu all handlewaiting.Verification
cargo test --workspace(190 + 202 tests) andcargo clippy --workspace --all-targets -- -D warningsclean;cargo fmt --allapplied. New tests cover every new transition (legal and refused), the review→wait→reject-with-feedback same-session continuation, the scheduler provingwaitingnever surfaces in the queue and earns no bonus, and migration 0010 upgrading an existing pre-0010 database. Also ran the built binary end-to-end through wait/reclaim/accept and confirmedstats/next/listbehave.Branch: worktree-waiting-state (committed locally; not pushed — bg session). Run
voro pr 132to open the PR.