# 0.6.3 — drill record Measured 2026-08-26 on the `release-0.6.3` candidate branch, canonical candidate SHA `03cb69d`. All three measurements below were taken at that head, not copied from an earlier record. ## Scope ruling — doors unchanged, no disposable-repo rehearsal **The last rehearsed tag is `0.6.1`, not `0.6.2`.** `drills/0.6.2.md` is itself a doors-unchanged assertion, and `drills/README.md` anchors the baseline to the last *rehearsed* tag precisely so one such assertion cannot chain from another while the doors drift a small diff at a time. The baseline used here is therefore `0.6.1`, which widens the measured window rather than narrowing it. All three conditions hold at the candidate head: 1. `git diff 0.6.1..HEAD -- $(sh .github/scripts/release-path.sh)` changes only the `CEREMONY_SELF_REF` pin line in `.github/workflows/release.yml`, from `0.6.1` to `0.6.3`: ```diff @@ -129,7 +129,7 @@ env: - CEREMONY_SELF_REF: "0.6.1" + CEREMONY_SELF_REF: "0.6.3" ``` No release-door logic, decision table, fact gathering, version handling, changelog handling, forge adapter or publish step changed across two releases. The measured diff is one line. 2. The measured release path is exactly the output of `.github/scripts/release-path.sh` at this head: ```text .github/workflows/release.yml bin/ lib/version.sh lib/decide.sh lib/facts.sh lib/changelog.sh lib/forge.sh ``` 3. `drills/0.6.1.md` records a **full rehearsal** — run 2026-08-09 by `codex-reviewer-andresmgsl` against release PR !226 — its release is published, and `main` was re-armed to `0.6.2-dev` after it by `5693bee chore: bump main to 0.6.2-dev`. ## What this release contains Nine fragments consumed into `## 0.6.3`: #234, #240, #241, #243, #247, #251, #253, #263, #265. None of them touches the release path; the list is board-flow, labels-reconcile, docs and forge-adapter work. ## What is NOT asserted This record asserts only that a fresh disposable-repo rehearsal would execute the same release-door bytes as `0.6.1`'s did. It does not assert that the doors were re-exercised, and it is not a substitute for the rehearsal owed at the next release-path change. Per `drills/README.md`, the release PR's panel verifies this claim like any other evidence, and **if any reviewer rules a full drill owed, that verdict wins.** ## Note on 0.6.2's red `self-guards` Recorded here because the next reader of `drills/` will see it. The `0.6.2` tag's commit `5a8fce83` is red on `CI / self-guards` — `changelog-armed` correctly refused a tree in which `changelog.d/238.md` was still unconsumed, because that fragment landed on `main` after `changelog-assemble 0.6.2` had already run in the release branch. The content shipped correct (the #238 entry is in the published `0.6.2` notes) and the strand was consumed on `main` by `f221647`. The systemic guard against the race landed in !255, *"refuse release PRs that strand target fragments"*, which is why this candidate was checked against it before opening.