---
status: accepted
---

# State lives in a label; a closed issue means merged, not released

A Request has eight States, which GitHub's open/closed binary cannot carry, so a single `state: *` label is authoritative (format `state: VALUE`, e.g. `state: BACKLOG`). The complication is that dispatched agents write `fixes #N`, which closes an issue **on merge** — while **Done** means implemented *and released*. Rather than fight that (reopening auto-closed issues, or dropping the closing keyword and owning every close ourselves), we accept it: **Acceptance** and **Done** are both closed, distinguished by the label, and the release sweep flips Acceptance to Done.

## Consequences

"Closed" means the code landed; "Done" means it shipped — two different facts, each represented once. GitHub's close *reason* disambiguates manual closes made in the web UI: *completed* reads as Done, *not planned* reads as Cut, so working directly in GitHub stays coherent without editing labels.

**Shelved stays open**, and is filtered out of default views rather than closed as *not planned* — closing it would make a deferred Request indistinguishable from a declined one to anyone reading GitHub directly, which is how shelved work quietly dies.

Full mapping: Backlog, Eval, Greenlit, WIP, Shelved → open. Acceptance, Done → closed as completed. Cut → closed as not planned.

*Amended 2026-07-21 (operator ruling):* label format is designator: VALUE (state: BACKLOG), and the state verbiage renamed — captured→**Backlog**, investigating→**Eval**, ratified→**Greenlit**, dispatched→**WIP**, unconfirmed→**Acceptance**. The bind-time bootstrap migrates legacy-format labels in place so existing issues keep them. State colors are a family off state: DONE''s green (Backlog lighter; Shelved darker, desaturated; Rejected darker); all types share one color, all flags share one color. Second ruling, same day: rejected→**Cut** (`state: CUT`, 193020), Shelved recolored 374a3f, and the bootstrap re-canonicalizes a reserved label's color in place when it drifts from the registry.
