Lifecycle states
Missions, tasks, and reviews each have their own state machine. Understanding them takes ~2 minutes and saves a lot of "wait, is this stuck or just thinking?" later.
Every mission follows the same lifecycle; what varies is where its plan comes from. Today most missions are decomposed into tasks by the planner, and you approve the plan before anything runs — that's the path this page describes. Increasingly, a mission carries a workflow as its plan: each execution is a run on its own branch; you accept a run's result — or leave it unaccepted — and accepted runs stack up as reversible changements that compose the mission's change. The workflow-run path is becoming the primary execution model; planner decomposition stays available while that transition completes. Run outcomes are in the states cheatsheet.
Mission states
The happy path reads left to right: a mission is created (Pending), gets planned (Planning — decomposition into tasks, with a stop at Decomposed while ARDS waits for you to approve the proposed plan), runs (InProgress), lands in PendingReview while its results wait on you, and ends Completed — or Failed if it can't continue. Cancelled is the early exit, and it cascades to in-progress tasks. A mission proposed from a conversation starts one step earlier still, in AwaitingApproval: the proposal itself waits for your go-ahead before the mission even enters Pending.
Two states sit beside that line rather than on it:
- Paused is a resumable hold. The Pause button on the mission page stops new work; Resume puts the mission back to InProgress. Nothing is lost while paused.
- Completed, Failed, and Cancelled are terminal — with exactly one sanctioned exception: starting a new run on a Completed mission reopens it to InProgress. That's the only way out of Completed.
A state change the mission doesn't allow is refused, not silently ignored: the error tells you the mission's current state and which transitions it will accept. If an action bounces as an invalid transition, read that list before retrying — the same click will bounce again.
The full state table (every state, terminal vs. resumable) lives in the states cheatsheet.
You can act on a mission at any time:
- Cancel Mission is shown unless the mission is already Completed or Cancelled.
- Pause / Resume hold and release the work.
- Re-planning goes through the plan decision itself: instead of approving, pick Request Changes and the mission returns to Planning for a fresh decomposition. Reject cancels the mission entirely.
Task states
A task is Pending while it queues for a coder, InProgress while the coder works, then Completed (the result lands on the review mirror), Failed (the task page shows logs and the model's last message), or Cancelled. A few tasks pause in special states instead — the coder can exhaust its turn budget, or wait out a provider quota window. Those are covered in Troubleshooting, and the full table is in the states cheatsheet.
Needing you is not a task state. When a task wants a human — an approval, an answer, a choice of direction — that need surfaces as a pending item on the Decisions page. A pending decision is not failure; it's a polite "your turn", and the work waits until you respond.
Review states
Reviews live per-task. Each review represents one batch of changes pushed to the mirror.
| State | What it means |
|---|---|
| Pending | Mirror commit is ready; nobody has looked yet. |
| In review | The review is open; the diff is being read. |
| Approved | You approved. ARDS will (or already did) push to your origin repo. |
| Rejected | You declined the work. The branch is kept on the mirror but never reaches origin. |
| Cancelled | The review was withdrawn without a verdict; nothing lands. |
A review that's still Pending or In review offers exactly two buttons — Approve and Reject. Rejecting asks you to confirm and takes an optional comment.
If a finding came from the Review Engine (the automated reviewer — see Review Engine), individual findings carry their own status: Open, Investigating, Resolved, Dismissed, Deferred.
The run path
When a mission runs a workflow, each execution is a run with its own small state machine:
| State | What it means |
|---|---|
| Proposed | The run is in flight or finished; the result isn't judged yet. Nothing lands until you decide. |
| Accepted | You accepted the run. Its changes land on the mission branch as one reversible changement. |
| Rejected | The run was declined — including proposals rejected automatically when you accept a sibling run. Nothing landed; there is nothing to undo. |
While a run waits at a gate, the gate pauses the run's tasks, and the mission shows PendingOperatorDecision until you decide. Run outcomes are in the states cheatsheet; the full acceptance loop is in Runs, acceptance & changements.
What to do when a state surprises you
- Stuck in Decomposing for more than ~2 minutes → refresh the page; the planner sometimes needs the page to be open for SignalR updates. If still stuck, see Troubleshooting.
- A task seems to be waiting on you → open the Decisions page; the pending item's card says what's needed.
- Mission marked Failed but no obvious reason → the failure summary at the top of the mission page surfaces the first failing task's error. Click into that task for the full log.