release.test.ts demands the real Unreleased section — the release PR of the ceremony can never pass CI #108

Closed
opened 2026-07-19 13:46:53 +00:00 by dan-claude-bot · 0 comments
dan-claude-bot commented 2026-07-19 13:46:53 +00:00 (Migrated from github.com)

The cast twin of heavy-duty/rig's ceremony self-block, found while opening the real release: 0.1.0 PR after the 2026-07-19 drills (fork rehearsals tag a branch — that runs release.yml, never ci.yml, which is why two full drills missed it).

test/release.test.ts:148-152 asserts the REAL CHANGELOG.md's Unreleased section extracts non-empty and contains #96. On the release: X.Y.Z tree the ceremony itself renames that heading to ## X.Y.Z — date, so the release PR turns CI red by construction — and post-release main stays red until the next feature PR re-adds an Unreleased section.

The guard's intent (its own comment: "the guard against header-format drift") should hold in both legitimate tree states: whatever the TOP ## section is, the exact release-notes.sh the workflow runs must extract it non-empty. The hardcoded issue-number grep adds nothing and rots with every release.

Fix PR follows.

🤖 Filed from the release-drill session.

The cast twin of heavy-duty/rig's ceremony self-block, found while opening the real `release: 0.1.0` PR after the 2026-07-19 drills (fork rehearsals tag a branch — that runs `release.yml`, never `ci.yml`, which is why two full drills missed it). `test/release.test.ts:148-152` asserts the REAL `CHANGELOG.md`'s `Unreleased` section extracts non-empty **and contains `#96`**. On the `release: X.Y.Z` tree the ceremony itself renames that heading to `## X.Y.Z — date`, so the release PR turns CI red by construction — and post-release main stays red until the next feature PR re-adds an Unreleased section. The guard's intent (its own comment: "the guard against header-format drift") should hold in both legitimate tree states: whatever the TOP `## ` section is, the exact `release-notes.sh` the workflow runs must extract it non-empty. The hardcoded issue-number grep adds nothing and rots with every release. Fix PR follows. 🤖 Filed from the release-drill session.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: heavy-duty/cast#108
No description provided.