# Vocabulary

> Every closed set Flow reads, generated from `@terezinha-flow/graph` in the build that published this page. Values are written exactly as the wire spells them.

## Statuses

What holds the work, as somebody asserted it. A move outside "Moves to" answers `409 invalid_transition` with `from`, `to` and `allowed`. Writing the status a task already has is not a move. A `calendar` task always carries its date, a `scheduled` wait with `until`, or the write answers `400 calendar_requires_date`. These are the two writes Flow refuses. Moves into a status marked "cause" need a basis, or the task is flagged `needs_reconciliation`.

| Status | Meaning | Moves to | Cause |
|---|---|---|---|
| `active` | A current commitment with a concrete next action. The only status the ready set offers. | `waiting`, `calendar`, `blocked`, `incubated`, `completed`, `cancelled`, `discarded` | yes |
| `waiting` | Depends on a person or an external event, named in an `external` wait. | `active`, `calendar`, `blocked`, `incubated`, `completed`, `cancelled`, `discarded` | yes |
| `calendar` | Needs attention on a date and not before, carried by a `scheduled` wait. | `active`, `waiting`, `blocked`, `incubated`, `completed`, `cancelled`, `discarded` |  |
| `blocked` | An identified impediment is in the way. Where it is another task, a `blocks` edge says so. | `active`, `waiting`, `calendar`, `incubated`, `completed`, `cancelled`, `discarded` | yes |
| `incubated` | Not a commitment now. Reconsidered at review, monthly. | `active`, `waiting`, `calendar`, `blocked`, `discarded` | yes |
| `reference` | Material worth keeping, with no action in it. Reviewed monthly. | `archived` |  |
| `completed` | Reached its outcome. | none (terminal) | yes |
| `cancelled` | A real commitment, dropped. | none (terminal) | yes |
| `discarded` | Never a commitment: created in error, a duplicate, or of no value. | none (terminal) |  |
| `archived` | Reference material put away. | none (terminal) |  |

## Readiness

Derived on every read, never stored. Ordered by decreasing agency.

| State | Meaning |
|---|---|
| `ready` | Active, nothing open blocks it, and no wait holds it. Start it. |
| `blocked:dependency` | Another task holds it. The graph clears it; nothing to chase. |
| `blocked:external` | Someone outside holds it. Chase them. |
| `waiting:scheduled` | A date holds it. It clears itself. |

## Priorities

Asserted by a person, never inferred, and optional: most tasks carry none. It orders the ready set before leverage does. Review is one cadence whatever the priority: open work comes up a week after its last write or confirmation, `incubated` and `reference` a month after.

| Level | Meaning |
|---|---|
| `very_high` | The most important. Ranks first; a task with no priority ranks last. |
| `high` | Ranks ahead of most of the ready set. |
| `medium` | The ordinary level for something somebody did rule on. |
| `low` | Below the ordinary. |
| `very_low` | Worth keeping, least likely to be picked. |

## Link kinds

Directed, typed edges between two tasks. Only `blocks` gates readiness.

| Kind | Meaning |
|---|---|
| `blocks` | The source must be done before the target can start. The only kind that gates readiness. |
| `depends_on` | Kept for writers that still use it: the same direction as `blocks`, gating nothing (`from: A, to: B` says B depends on A). Prefer `mentions`. |
| `derived_from` | The source’s interpretation traces back to the target. |
| `decides` | The source is the choice the target records. |
| `justifies` | The source is the reason the target holds. A basis is carried by this kind and `decides`. |
| `supersedes` | The source replaces the target as the current statement of the same role. |
| `retracts` | The source withdraws the target without deleting it. |
| `implements` | The source carries out the target. |
| `mentions` | A plain cross-reference. Confers no support. |

## Wait kinds

| Kind | Meaning |
|---|---|
| `scheduled` | A date. Clears itself when the date arrives. |
| `external` | A person or event outside your control, named in the reason. May never clear; chase it. |

## Record kinds

What a task is, as opposed to where its work has got to. The status table governs `commitment` and `project`.

| Kind | Meaning | A valid change |
|---|---|---|
| `evidence` | A fact about the world: observed, measured or read in a source. Never the words that approved a change: those are its basis. | add context, a restriction, or a retraction; never rewritten |
| `decision` | A choice and its reasons, including standing rules for agents. | kept historical; a new decision supersedes it to change direction |
| `commitment` | Work somebody holds. The default kind of task. | a valid, justified GTD transition when relevant |
| `project` | An outcome that needs more than one action. Carries no work; its steps block it. | changed by decision, review, completion, or cancellation |

## Reference roles

What an external reference is to the task.

| Role | Meaning |
|---|---|
| `source` | Where the task came from. |
| `spec` | What the task has to satisfy. |
| `implements` | The work that carries the task out, such as a pull request. |
| `context` | Anything else worth reading alongside it. |
