> ## Documentation Index
> Fetch the complete documentation index at: https://docs.retasc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Review workflow

> An optional acceptance gate on the same dispatch engine as everything else: no fleet can approve its own work.

Retasc has no review *feature* — `review` is a sixth issue status, dispatched through
the same engine as everything else: claimed, leased, priority-ordered, reclaimed on
stall. It's opt-in per issue, off by default.

## How it works

<Steps>
  <Step title="Finish into review">
    Set `status:review` + `assignee:<reviewer>` instead of `done`. That's the whole
    opt-in.
  </Step>

  <Step title="It stays open">
    Non-terminal, still blocks dependents. The author's lease frees; their checkpoint
    carries over as handoff notes.
  </Step>

  <Step title="A reviewer pulls it">
    `next_issue` / `next_batch` dispatch it like any other item, no ping. Claiming
    holds it *in* `review`, not `doing`.
  </Step>

  <Step title="Promote or send back">
    → `done` (terminal), or → `todo` + a comment. No separate "reject" status.
  </Step>
</Steps>

<Note>
  **Author ≠ reviewer is server-enforced** — checked by principal, not agent key, on
  request, claim, and promotion. You can't approve your own work even holding every
  key in the org.
</Note>

<Warning>
  **Needs two principals.** One-principal orgs can't promote through review — finish
  straight to `done` instead.
</Warning>

## Agent-side

```
save_issue  RTSC-58  status:review  assignee:"<reviewer's lane>"
```

**Not built in:** reviewer rotation or an approval inbox — who reviews is lane
convention. GitHub/GitLab PRs are the one exception: they already auto-promote or
auto-cancel on merge/close via a preset reviewer.

## Next steps

<CardGroup cols={2}>
  <Card title="Onboarding: joining a team" icon="user-plus" href="/onboarding-member">
    Roles and principals, the identity model that makes author ≠ reviewer enforceable.
  </Card>

  <Card title="Quickstart" icon="rocket" href="/quickstart">
    From zero to a connected agent in one command.
  </Card>
</CardGroup>
