# 0.4.1 — drill record Run 2026-08-01 by `dan-claude-bot` against release PR (Refs #212), candidate branch `build/212-release-0-4-1` on `heavy-duty/ceremony` main at `c2987fd`. ## Scope ruling — doors unchanged, no disposable-repo rehearsal The 0.4.0 drill (drills/0.4.0.md) probed both release doors end-to-end in a disposable repo, and the live 0.4.0 release then exercised the merge door for real: one tag, one release, main re-armed to `0.4.1-dev`. Since that tag, `release.yml`'s only delta is the `CEREMONY_SELF_REF` pin line — no door logic, no decide table, no publish step changed. Re-running a full disposable-repo drill would rehearse machinery this repo already proved both in rehearsal and in production within the last three days. This record therefore rests on the standing evidence below, and says so honestly rather than staging a ceremony for a tree the doors cannot distinguish from the last one. The panel reviews this claim like any other; if any reviewer rules a full drill owed, that verdict wins. ## Standing evidence at the candidate head | # | probe | where | result | |---|---|---|---| | 1 | decide + merge-door step-replay (dogfood) | `release-exercise / step-replay (dogfood)` on this PR | CI-gating; green required to merge | | 2 | decide + merge-door step-replay (consumer) | `release-exercise / step-replay (consumer)` on this PR | CI-gating; green required to merge | | 3 | fragment chain: armed → assemble → monotonic | `release-exercise / fixture-chain` on this PR | CI-gating; green required to merge | | 4 | the real tree's own guards (armed, monotonic, drill-recorded, self-ref) | `self-guards` on this PR | CI-gating; green required to merge | | 5 | the 0.4.1 payload live: split labels machinery dogfooding on this very PR | this PR's checks | `labels / scope` + `labels / trigger` green, and NO `labels / reconcile` check attached — the #209 acceptance shape, observed on the first post-split PR in this repo | Probe 5 is the one piece 0.4.0's drill could not have covered: the sweep split is 0.4.1's payload, and this repo adopted it on merge (#211 split `self-labels.yml` / `self-labels-sweep.yml`). Every PR opened after that merge — this one included — is a live consumer-shaped proof that PR checks carry scope and trigger only, with sweeps dispatched to the detached `self-labels-sweep` runs. ## Deviations No candidate-ref deviation arises: this record stages no scratch caller, so nothing needs to resolve `CEREMONY_SELF_REF: "0.4.1"` before the tag exists. The sibling crew migration is the post-tag consumer proof, per #212's acceptance criteria.