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.

StateWhat it means
PendingMirror commit is ready; nobody has looked yet.
In reviewThe review is open; the diff is being read.
ApprovedYou approved. ARDS will (or already did) push to your origin repo.
RejectedYou declined the work. The branch is kept on the mirror but never reaches origin.
CancelledThe 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:

StateWhat it means
ProposedThe run is in flight or finished; the result isn't judged yet. Nothing lands until you decide.
AcceptedYou accepted the run. Its changes land on the mission branch as one reversible changement.
RejectedThe 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.