diff --git a/drills/0.4.0.md b/drills/0.4.0.md new file mode 100644 index 0000000..12b4be9 --- /dev/null +++ b/drills/0.4.0.md @@ -0,0 +1,50 @@ +# 0.4.0 — drill record + +Run 2026-07-29 by `codex-bot-andresmgsl` against release PR #207 head +`7c755bcd402ba7f9a38ecd406a025c149c77aa57`. + +Where: disposable private repo +`codex-bot-andresmgsl/ceremony-drill-0.4.0`, carrying the +`docs/CONSUMERS.md` release caller and a fragment-mode fixture armed at +`0.4.0-dev`. The fixture had `changelog.d/README.md`, one release fragment, +and a non-blank drill record. The repository is archived, pending the +operator's delete. + +## Candidate-ref deviation + +The pure consumer path cannot resolve `CEREMONY_SELF_REF: "0.4.0"` before +the candidate creates that tag. No `0.4.0` branch was created in +`heavy-duty/ceremony`. The scratch caller instead used +`codex-bot-andresmgsl/ceremony@drill/0.4.0`, whose parent is PR #207 head +`7c755bcd402ba7f9a38ecd406a025c149c77aa57` and whose only additional +commit rewrites both `CEREMONY_SELF_REF` carriers to that same canonical +candidate SHA. All runtime machinery was therefore fetched from the 0.4.0 +candidate tree. + +## Probes + +| # | probe | run | result | +|---|---|---|---| +| 1 | merge-door ceremony | 30445585532 (attempt 1) | ✅ one `0.4.0` release; tag equals merge commit; main re-armed to `0.4.1-dev` with only `changelog.d/README.md` | +| 2 | mislabeled ordinary PR | 30445473977 | ✅ green NOTICE no-op; no tag or release | +| 3 | bare-version PR without `release` | 30445513860 | ✅ refused at decide; no tag or release | +| 4 | re-run completed ceremony | 30445585532 (attempt 2) | ✅ refused because the tag/release already existed; release count stayed one | +| 5 | manual matching tag | 30445658952 | ✅ `0.5.0` published with its changelog section; main untouched | +| 6 | mismatched tag | 30445684268 | ✅ refused before publication; no `9.9.9` release, and the probe tag was removed afterward | + +The merge-door `0.4.0` tag and PR #3 merge commit were both +`2b2d592ffcc5c376e55bd5fcf2dd5ffbdd692d64`. Its release body was exactly: + +```text +- Fragment mode is exercised by the 0.4.0 drill. +``` + +## Setup + +The armed fixture was committed before the caller so the first workflow run +had a real parent version to inspect. Installing the caller then produced +green baseline run 30445432039. + +After the unlabeled bare-version refusal, its merge commit was reverted to +restore the armed fixture. That setup correction produced green no-op run +30445544068 before the merge-door probe began.