docs: clear five stale unreleased markers; the release PR owns clearing

Each marker now says available-at-tag in the guide's existing L420
phrasing, verified by tag containment in #221; every never-mix-refs
sentence survives verbatim. The convention paragraph gains its missing
half: the release PR that ships machinery clears, in that same PR,
every marker its assembled section makes false.

Refs #221

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
dan-claude-bot 2026-08-02 13:27:06 +00:00
parent 7c53267377
commit ecb0371cad
2 changed files with 34 additions and 19 deletions

9
changelog.d/221.md Normal file
View file

@ -0,0 +1,9 @@
### Fixed
- Five stale **unreleased** markers in `docs/CONSUMERS.md` now name their
tags: fragment mode, `changelog-assembled` and `runner-isolated` at
`0.2.0`; the additive labeler at `0.3.0`; the two-caller split at `0.4.1`
(#221).
- The marker convention now names its clearing owner: the release PR that
ships machinery clears, in that same PR, every marker its assembled
section makes false (#221).

View file

@ -60,10 +60,10 @@ the machinery at all:
the release PR assembles the section the release PR assembles the section
([Assembling a release section](#assembling-a-release-section)). ([Assembling a release section](#assembling-a-release-section)).
Fragment mode is **unreleased** and not in `0.1.0`. A consumer pinned Fragment mode is available at `0.2.0` and later, and not in `0.1.0`.
to `0.1.0` bootstraps the legacy shape instead — the preamble plus an A consumer pinned to `0.1.0` bootstraps the legacy shape instead — the
empty `## Unreleased` section for entries to land under — and converts preamble plus an empty `## Unreleased` section for entries to land
on the pin bump to the first tag carrying fragment mode; never mix under — and converts on the pin bump to `0.2.0` or later; never mix
refs to adopt it early. refs to adopt it early.
3. **`drills/README.md`** defining what a drill *means* in this repo — 3. **`drills/README.md`** defining what a drill *means* in this repo —
each repo names its own each repo names its own
@ -85,14 +85,16 @@ the machinery at all:
fetch-depth: 0 fetch-depth: 0
- uses: heavy-duty/ceremony/actions/changelog-armed@<pinned-tag> - uses: heavy-duty/ceremony/actions/changelog-armed@<pinned-tag>
- uses: heavy-duty/ceremony/actions/changelog-monotonic@<pinned-tag> - uses: heavy-duty/ceremony/actions/changelog-monotonic@<pinned-tag>
# Unreleased: changelog-assembled is not in 0.1.0. Adopt this step # changelog-assembled is available at 0.2.0 and later, not in
# with the pin bump to the first tag that carries it; never mix # 0.1.0. Adopt this step with the pin bump to 0.2.0 or later;
# refs. Green NOTICE on every non-release PR; on a release PR it # never mix refs. Green NOTICE on every non-release PR; on a
# asserts the stamped section is exactly the fragments it consumed. # release PR it asserts the stamped section is exactly the
# fragments it consumed.
- uses: heavy-duty/ceremony/actions/changelog-assembled@<pinned-tag> - uses: heavy-duty/ceremony/actions/changelog-assembled@<pinned-tag>
- uses: heavy-duty/ceremony/actions/drill-recorded@<pinned-tag> - uses: heavy-duty/ceremony/actions/drill-recorded@<pinned-tag>
# Unreleased: runner-isolated is not in 0.1.0. Adopt this step with # runner-isolated is available at 0.2.0 and later, not in 0.1.0.
# the pin bump to the first tag that carries it; never mix refs. # Adopt this step with the pin bump to 0.2.0 or later; never mix
# refs.
- uses: heavy-duty/ceremony/actions/runner-isolated@<pinned-tag> - uses: heavy-duty/ceremony/actions/runner-isolated@<pinned-tag>
``` ```
@ -112,7 +114,11 @@ the machinery at all:
somebody adds one. somebody adds one.
This guide documents `main`. New machinery is marked **unreleased** This guide documents `main`. New machinery is marked **unreleased**
here until a release tag ships it. If an action does not exist at the here until a release tag ships it — and the release PR that ships the
machinery clears, in that same PR, every marker its own assembled
section makes false: the section cites its issues, each marker cites
the same issue, and the release PR's diff is the one place both
halves are visible at once (#221). If an action does not exist at the
consumer's pinned tag, adopt it with the pin bump to the first tag that consumer's pinned tag, adopt it with the pin bump to the first tag that
carries it; never mix a moving or newer ref into an otherwise exact-pin carries it; never mix a moving or newer ref into an otherwise exact-pin
consumer. In particular, `0.1.0` carries `changelog-armed`, consumer. In particular, `0.1.0` carries `changelog-armed`,
@ -298,7 +304,7 @@ together at the same pin:
The consumer keeps its path mapping in `.github/labeler.yml` and its The consumer keeps its path mapping in `.github/labeler.yml` and its
review panel plus scope taxonomy in `.github/labels.conf`. review panel plus scope taxonomy in `.github/labels.conf`.
**Additive means additive** (unreleased#130): the scope job's only label **Additive means additive** (available at `0.3.0` and later#130): the scope job's only label
write is `POST /issues/{n}/labels`, which adds the derived scopes and removes write is `POST /issues/{n}/labels`, which adds the derived scopes and removes
nothing, so a label applied while the job runs survives it. Earlier tags used nothing, so a label applied while the job runs survives it. Earlier tags used
`actions/labeler@v5`, which — even under `sync-labels: false` — replaces the `actions/labeler@v5`, which — even under `sync-labels: false` — replaces the
@ -436,16 +442,16 @@ mint→`needs-triage` check and `closed` the blocker-closes→`ready` self-heal;
the stub and ceremony's own caller stay byte-for-byte identical, the parity the stub and ceremony's own caller stay byte-for-byte identical, the parity
#144 established. #144 established.
The two-caller split (ceremony#209) is **unreleased**. A consumer pinned to The two-caller split (ceremony#209) is available at `0.4.1` and later. A
`0.4.0` or earlier keeps the previous single-caller shape — the labels consumer pinned to `0.4.0` or earlier keeps the previous single-caller
caller carrying the cron, `workflow_dispatch`, and `actions: read` — and shape — the labels caller carrying the cron, `workflow_dispatch`, and
adopts the split at the pin bump to the first tag carrying ceremony#209. `actions: read` — and adopts the split at the pin bump to `0.4.1` or
Never mix refs to adopt it early. later. Never mix refs to adopt it early.
The migration is **one atomic PR** with exactly four edits — crew, the The migration is **one atomic PR** with exactly four edits — crew, the
consumer whose displaced-check evidence drove #209 (crew#227, crew#250), consumer whose displaced-check evidence drove #209 (crew#227, crew#250),
is the worked example; written here against `0.4.1` as the illustrative is the worked example; written here against `0.4.1`, the first tag
first tag carrying the split: carrying the split:
1. **Pin bump, every reference together** ([Version pinning](#version-pinning)): 1. **Pin bump, every reference together** ([Version pinning](#version-pinning)):
`0.4.0``0.4.1` in the labels caller's `uses:` line **and in every `0.4.0``0.4.1` in the labels caller's `uses:` line **and in every