ceremony/drills/0.2.0.md

55 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2026-07-24 11:39:25 +00:00
# 0.2.0 — drill record
Run 2026-07-24 by `codex-bot-andresmgsl` against the release candidate at
PR #128 head `b632c19e97678653547252d3e402ca93907b2d50`.
Where: disposable private repo
`codex-bot-andresmgsl/ceremony-drill-0.2.0`, carrying the
`docs/CONSUMERS.md` release caller and a fragment-mode fixture armed at
`0.2.0-dev`. The fixture had `changelog.d/README.md`, one release fragment,
2026-07-24 12:16:31 +00:00
and a non-blank drill record. The repository is archived, pending the
operator's delete.
2026-07-24 11:39:25 +00:00
## Candidate-ref deviation
The pure consumer path still cannot resolve `CEREMONY_SELF_REF: "0.2.0"`
before the candidate creates that tag. No `0.2.0` branch was created in
`heavy-duty/ceremony`. The scratch caller instead used the already-existing
`claude-bot-andresmgsl/ceremony@drill/0.2.0` scaffold, whose parent candidate
tree is byte-identical to PR #128's tree and whose only additional change
rewrites both `CEREMONY_SELF_REF` carriers to candidate SHA
`682b9cb8929aa8c50a3101b64ca57fee7b09fef1`. All runtime machinery was
therefore fetched from the 0.2.0 candidate tree.
## Probes
| # | probe | run | result |
|---|---|---|---|
| 1 | merge-door ceremony | 30090148675 (attempt 1) | ✅ one `0.2.0` release; tag equals merge commit; main re-armed to `0.2.1-dev` with only `changelog.d/README.md` |
| 2 | mislabeled ordinary PR | 30090024126 | ✅ green NOTICE no-op; no tag or release |
| 3 | bare-version PR without `release` | 30090111403 | ✅ refused at decide; no tag or release |
| 4 | re-run completed ceremony | 30090148675 (attempt 2) | ✅ refused because tag/release already existed; release count stayed one |
| 5 | manual matching tag | 30090226056 | ✅ `0.3.0` published with its changelog section; main untouched |
| 6 | mismatched tag | 30090251726 | ✅ refused before publication; no `9.9.9` release |
The merge-door `0.2.0` tag and PR #4 merge commit were both
`f74a52447ae9abcbc61cf75d38ebf8f0ca28a427`. Its release body was exactly:
```text
- Fragment mode is exercised by the 0.2.0 drill.
```
## Failures and setup corrections
The scratch repository's root commit triggered run 30089943081 before a
parent commit existed, so fact gathering could not read a base version
(discussion #132). An empty armed-state baseline commit then ran green as
30089962334.
2026-07-24 11:39:25 +00:00
The first preparation of the unlabeled refusal probe assembled the fragment
but accidentally left `VERSION` at `0.2.0-dev`; run 30090059412 correctly
treated that merge as a green non-ceremony no-op. The merge was reverted,
the fixture was restored to armed fragment shape, and probe 3 was repeated
with the intended bare `0.2.0` transition. The corrected probe refused as
required and created nothing.