release: forge 0.6.3 #267
1 changed files with 74 additions and 0 deletions
74
drills/0.6.3.md
Normal file
74
drills/0.6.3.md
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
# 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.
|
||||
Loading…
Reference in a new issue