# State machines (/docs/maintain/state)

Lifecycles of entities with more than two states or guarded / timed transitions — a page's
draft → published → deprecated, a package version from pre-release to end of life, a private
project made public.

> **Living snapshots.** Edit in place so each file describes the system as it is right now. No
> revision tables, no "previously X, now Y" — delete what is no longer true
> ([ADR-0002](../adr/ADR-0002-living-design-documentation.mdx)).

## Conventions [#conventions]

- File name: `<entity>.mdx`.
- Mermaid `stateDiagram-v2`, then tables of states, transitions (trigger, guard, side effects — including what is published or removed) and terminal states.

**Template:** [`../_templates/state.mdx`](../_templates/state.mdx)

## Documents [#documents]

| Document | Status | ADR |
|---|---|---|
| [Package version line](./package-version-lifecycle.mdx) | Draft | [ADR-0013](../adr/ADR-0013-packages-and-projects-share-one-catalogue-shape.mdx) |
