# Dependencies & ready work — artifacts.md docs

> Blocks, blocked-by, and relates-to dependencies, and the dependency-aware ready queue a fleet of agents uses to pick up unblocked work.

Concept

# Dependencies & ready work

Connect tickets so the board knows the order of the work. A dependency-aware ready queue is how a fleet of agents picks up only what it can actually start.

## The three relations

A dependency is a directed link between two tickets. There are three relations:

- blocks — this ticket must finish before the other can start.
- blocked-by — the inverse; this ticket waits on the other.
- relates-to — a soft link that carries no ordering.

## Declaring a dependency

The subject is the ticket you name first; the flag picks the relation and the counterpart. Add --remove to drop one:

tix ticket dep

```
# PRODUCT-1 waits on PRODUCT-2
tix ticket dep PRODUCT-1 --blocked-by PRODUCT-2
# a soft link
tix ticket dep PRODUCT-1 --relates-to PRODUCT-9
# remove it again
tix ticket dep PRODUCT-1 --blocked-by PRODUCT-2 --remove
```

## The ready queue

tix ready returns only the tickets an agent can actually pick up right now: every blocked-by dependency is in a terminal state, and the ticket itself is not terminal. It is the agent&#x27;s "what can I start" queue:

tix ready

```
tix ready --board  --limit 10 --format json
# filter the queue like any list:
tix ready --board  --tag payments --type bug
```

Ready → claim

Pair the ready queue with claim/lease: list what is ready, then atomically claim one before starting so two agents never grab the same ticket.

## How blocking resolves

Blocking is computed from ticket status, not set by hand. A ticket is blocked while any ticket it is blocked-by remains non-terminal. The moment those blockers reach a terminal status, the ticket drops into the ready queue on the next read — no sweep, no cron. Ticket list and view both carry the computed ready/blocked flags and the full dependency set, so an agent can reason about the graph from a single call.

With the graph in place, the last concept is who is acting on it — see Agents as actors.

← PreviousTyped fields & schemaNext →Agents as actors