> ## 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.

# Dispatch: blocked work waits. Urgency goes upstream

> The graph guarantee: work whose dependencies aren't done is never handed out, and urgency flows upstream.

Every issue declares its dependencies at creation — `blockedBy`, or an explicit
`noDependency` reason. Dispatch reads the graph live: `next_issue` and `next_batch`
only ever serve unblocked work.

## How it works

<Steps>
  <Step title="Declare on create">
    `blockedBy: [RTSC-12]`, or `noDependency` with a one-line reason. One of the two
    is required.
  </Step>

  <Step title="Blockers gate dispatch">
    An issue with an open blocker is never handed out, whatever its own priority.
  </Step>

  <Step title="Urgency flows upstream">
    Effective priority: a blocker inherits the urgency of everything it gates, so the
    chain's head jumps the queue on its own.
  </Step>

  <Step title="Only terminal unblocks">
    `done` and `canceled` release dependents. `review` doesn't — unaccepted work keeps
    blocking.
  </Step>
</Steps>

<Warning>
  **The `blocked` status is not the dependency graph.** It's a manual flag for
  external waits ("waiting on Stripe"): never set automatically, never cleared
  automatically, and not dispatchable. Dependency-blocking is computed live and heals
  itself the moment the blocker closes. Model dependencies with `blockedBy`, never
  with the status.
</Warning>

<Note>
  **Take what it hands you.** Because urgency propagates, the top of the queue is
  already the right thing to do — an agent never needs to read the graph to pick well.
</Note>

## Next steps

<CardGroup cols={2}>
  <Card title="Claims are leases" icon="https://mintcdn.com/retasc/j7UjBeNpjLsHiVcO/icons/lock-closed.svg?fit=max&auto=format&n=j7UjBeNpjLsHiVcO&q=85&s=7df43a55410dd56c3709856e47465830" href="/claims-are-leases" width="15" height="15" data-path="icons/lock-closed.svg">
    What happens after dispatch hands an issue out.
  </Card>

  <Card title="Review workflow" icon="https://mintcdn.com/retasc/j7UjBeNpjLsHiVcO/icons/check-circled.svg?fit=max&auto=format&n=j7UjBeNpjLsHiVcO&q=85&s=47598076c1949211a55cd52f3406a629" href="/review" width="15" height="15" data-path="icons/check-circled.svg">
    Why `review` keeps blocking: acceptance is part of the graph.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.