Status Model
Dispatch Lifecycle
Section titled βDispatch LifecycleβA dispatch moves through these statuses:
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ ββ new dispatch ββ β ββ βΌ ββ β³ copilot working ββββββ¬ββββββββββββββββββββββββ ββ β β β ββ βΌ βΌ βΌ ββ π΅ implementing π£ pushed βΈοΈ waiting on ββ β β upstream ββ β βΌ β ββ ββββββββββββΆ π‘ ready for review ββββββββββ ββ β ββ βΌ ββ β
done ββ β ββ βΌ ββ (cleaned) ββ ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββCore Statuses
Section titled βCore StatusesβThe simplified status flow for issue and PR dispatches:
| Status | Icon | Dashboard Label | Description |
|---|---|---|---|
implementing | π΅ | implementing | Copilot is actively working (coding or reviewing) |
reviewing | π‘ | ready for review | Copilot finished β awaiting human review |
upstream | βΈοΈ | waiting on upstream | Marked as waiting on upstream (manual via u) |
Simplified Flow
Section titled βSimplified Flowβββββββββββββββββ βββββββββββββ βββββββββββββ implementing ββββββΆβ reviewing ββββββΆβ upstream βββββββββββββββββ βββββββββββββ ββββββββββββStatus Definitions
Section titled βStatus Definitionsββ³ Copilot Working
Section titled ββ³ Copilot WorkingβCopilot is actively working in the worktree. A Copilot session is attached.
Transitions:
- β Implementing (session ends without push)
- β Pushed (session pushes commits)
- β Waiting on Upstream (user marks as waiting)
π΅ Implementing
Section titled βπ΅ ImplementingβWorktree exists with changes, but no active Copilot session. Work in progress.
Transitions:
- β Copilot Working (attach session)
- β Pushed (manual or Copilot push)
π£ Pushed
Section titled βπ£ PushedβCommits have been pushed to the branch, but no PR exists yet.
Transitions:
- β Ready for Review (PR opened)
- β Copilot Working (more work needed)
π‘ Ready for Review
Section titled βπ‘ Ready for ReviewβA PR is open and ready for review.
Transitions:
- β Done (PR merged)
- β Copilot Working (revisions requested)
βΈοΈ Waiting on Upstream
Section titled ββΈοΈ Waiting on UpstreamβUser has marked this dispatch as waiting β typically for CI, review feedback, or upstream changes.
Transitions:
- β Any active status (user resumes work)
- β Done (PR merged)
β Done
Section titled ββ DoneβPR has been merged. Dispatch is complete and can be cleaned.
Transitions:
- β Cleaned (user runs
rally clean)
π» Orphaned
Section titled βπ» OrphanedβA worktree exists but has no tracking file. This can happen if:
- Rally was interrupted during cleanup
- Files were manually deleted
- A bug in Rally
Resolution: Clean orphaned worktrees with rally clean --orphaned
Issue Dispatches
Section titled βIssue Dispatchesβ- implementing β Created when
rally dispatch issueis run. Copilot agent is launched. - reviewing β Automatic transition when the copilot process exits and the log file is no longer being written to. The work is ready for human review.
- upstream β Manual status set via dashboard
ukey after human review (e.g., PR opened, waiting for CI/review).
PR Dispatches
Section titled βPR Dispatchesβ- implementing β Created when
rally dispatch pris run. Copilot agent is launched to perform a multi-model code review. - reviewing β Automatic transition when the copilot process exits and the log file is no longer active. The review output (REVIEW.md) is ready for human consumption.
- upstream β Manual status set via dashboard
ukey.
Automatic Status Detection
Section titled βAutomatic Status DetectionβThe refreshDispatchStatuses() function runs on every dashboard refresh and checks dispatches in implementing status:
- PID check β Is the copilot process (tracked by PID) still running?
- Log activity check β Has the
.copilot-output.logfile been modified in the last 30 seconds?
If both checks indicate the process is no longer active, the status automatically transitions to reviewing.
Dispatches already in reviewing or upstream are not affected by the automatic refresh.
Cleanup
Section titled βCleanupβUse rally clean to remove dispatches and their worktrees. This permanently deletes dispatch records β there is no intermediate done or cleaned status.
Checking Status
Section titled βChecking Statusβrally status # Summary viewrally status --json # JSON for scriptingDashboard shows status icons for each dispatch.