Documentation

How a task becomes a pull request

The full path from a description of work to a reviewed pull request, and the name of every stage along the way.

This is the page the rest of the documentation refers back to. It names each stage of execution so other articles can be precise about where something happens.

The path

  1. 1Specification

    What will be built, and how you will know it worked

    ArchitectYou can edit
  2. 2Plan

    Ordered steps, reviewed before any code is written

    ArchitectYou approve
  3. 3Build

    Code and tests written in an isolated workspace

    Developer
  4. 4Verify

    Your test suite, plus checks and quality gates

    QA
  5. 5Review

    An automated review pass over the diff

    Reviewer
  6. 6Pull request

    On a branch in your repository, waiting for you

    You merge

Failed verification and fixable review findings go back to the developer as rework, before any pull request opens.

Six stages, each with one owner. You step in at the specification, the plan and the merge.

These stages are the same in both ways a task can run. In standard mode, the platform moves the task from one stage to the next. In Coordinator mode, the planning agent stays on the task as the Coordinator, gives each stage to the right agent and decides what happens after each result, including sending work back. Either way, a stage is closed by its own checks. See Agent roles for how the two modes differ.

Specification

Coroid does not start from your sentence. It first turns your description into a specification: what will be built, what is explicitly out of scope, and the acceptance criteria that decide whether the work succeeded.

This matters because the acceptance criteria are what the verification stage tests against later. A vague specification produces work that is hard to judge.

You can read and edit the specification on the task's Specification tab before execution begins.

The specification-driven development guide explains how to write testable criteria, set scope boundaries and carry the same definition of success through planning, implementation and review.

Plan

For anything beyond a small change, the specification becomes a plan: an ordered set of steps, grouped into phases. You approve the plan before code is written.

Rejecting a plan is cheap and is the right move when the approach is wrong. Rejecting after the code is written is expensive. This is the stage where your judgement has the most leverage.

Build

An agent clones the repository into an isolated workspace and works there. It reads the code, writes the change, and writes or updates tests.

The workspace is disposable and per-task. Nothing an agent does touches your default branch, and two tasks running at the same time cannot see each other's work in progress.

Verify

Your own test suite runs first — that is the strongest signal available, because it encodes what your team already decided matters.

On top of that, quality gates run whatever your organization has configured: coverage thresholds, linting, browser tests against a preview deployment, and the Security protections. A blocking gate stops the task; an advisory gate records a finding and lets it continue.

Review

A reviewer agent reads the diff the way a colleague would and produces findings. Findings that can be fixed are sent back for rework; the rest are attached to the pull request so you see them.

This is why a Coroid pull request arrives already reviewed — not to replace your review, but so that your review is not the first one.

Pull request

The branch is pushed and a pull request is opened against your base branch, carrying the change, the tests, the verification results, and the review findings. If the code already does what the task asks, there is nothing to push: QA verifies the unchanged code instead, and the task finishes without a pull request.

Coroid's task automation stops here. Merging is yours.

After the merge

Open Releases to prepare the exact commit you intend to ship. A release can contain several merged pull requests, a direct commit, or work merged outside Coroid. The release gate and approvals concern that commit and a specific environment. Your pipeline deploys it; Coroid records an observed success or explicit attestation before showing it as shipped. A task marked COMPLETED or a merged pull request alone does not prove deployment.

Task statuses

A task's status tells you where it is on the path above:

StatusMeaning
PENDINGAccepted, waiting for an available agent slot
IN_PROGRESSActively being worked on
PENDING_REVIEWWork is done and reviewed, awaiting integration or approval
COMPLETEDTask work completed; deployment is tracked separately
NEEDS_HUMAN_REVIEWCoroid cannot proceed on its own and is asking you a question
PAUSEDTemporarily stopped, resumable
FAILEDExecution could not complete
CANCELLEDStopped by you
WONT_FIXClosed deliberately without doing the work

What determines throughput

One agent slot runs one task at a time. Slots set how much work happens in parallel; they do not make any single task finish faster. A task's own duration is driven by the size of the change and how long your test suite takes.

Next

Agent roles — which agent handles each work stage. Then see Releases for the post-merge path through your environments.