chore(dogfood): add toolkit-self changelog-body-check.yml wrapper post-v0.21.0 cut #290

Closed
opened 2026-07-02 16:18:34 +02:00 by quartermaster · 2 comments

Scope

Post-v0.21.0-cut fold: add .forgejo/workflows/changelog-body-check.yml (toolkit-self dogfood wrapper for the reusable-changelog-body-check reusable shipped in v0.21.0 via release-toolkit#282 Layer 1 / PR release-toolkit#289).

Why deferred

Pre-cut window has no consistent pin target for a dogfood wrapper:

  • @main breaks check-self-bootstrap.sh's single-ref alignment invariant (per release-toolkit#163 Tier 1 alignment-enforcement) because sibling wrappers pin @v0.20.0.
  • @v0.20.0 fails workflow resolution because the reusable doesn't exist at that tag.

This is the SAME bind release-toolkit#281 hit for fragment-check.yml. release-toolkit#281 resolved by folding the dogfood wrapper into the post-v0.20.0-stable re-pin PR (3cdd9e9), where sibling wrappers moved to @v0.20.0 in the same PR AND the tag now contained the reusable.

Plan

Fold into the v0.21.0 re-pin PR (equivalent of release-toolkit#281's pattern):

  1. Add .forgejo/workflows/changelog-body-check.yml with:

    • on: pull_request: branches: [main], paths: ['CHANGELOG.md']
    • uses: frankenbit/release-toolkit/.forgejo/workflows/reusable-changelog-body-check.yml@v0.21.0
    • runs_on: go
  2. Verify check-self-bootstrap.sh passes (all 4 wrappers on @v0.21.0).

  3. Verify the workflow actually fires on a CHANGELOG-touching PR.

Refs

## Scope Post-v0.21.0-cut fold: add `.forgejo/workflows/changelog-body-check.yml` (toolkit-self dogfood wrapper for the reusable-changelog-body-check reusable shipped in v0.21.0 via [release-toolkit#282](https://git.frankenbit.de/frankenbit/release-toolkit/issues/282) Layer 1 / PR [release-toolkit#289](https://git.frankenbit.de/frankenbit/release-toolkit/pulls/289)). ## Why deferred Pre-cut window has no consistent pin target for a dogfood wrapper: - `@main` breaks `check-self-bootstrap.sh`'s single-ref alignment invariant (per [release-toolkit#163](https://git.frankenbit.de/frankenbit/release-toolkit/issues/163) Tier 1 alignment-enforcement) because sibling wrappers pin `@v0.20.0`. - `@v0.20.0` fails workflow resolution because the reusable doesn't exist at that tag. This is the SAME bind [release-toolkit#281](https://git.frankenbit.de/frankenbit/release-toolkit/issues/281) hit for `fragment-check.yml`. [release-toolkit#281](https://git.frankenbit.de/frankenbit/release-toolkit/issues/281) resolved by folding the dogfood wrapper into the post-v0.20.0-stable re-pin PR (`3cdd9e9`), where sibling wrappers moved to `@v0.20.0` in the same PR AND the tag now contained the reusable. ## Plan Fold into the v0.21.0 re-pin PR (equivalent of [release-toolkit#281](https://git.frankenbit.de/frankenbit/release-toolkit/issues/281)'s pattern): 1. Add `.forgejo/workflows/changelog-body-check.yml` with: - `on: pull_request: branches: [main]`, `paths: ['CHANGELOG.md']` - `uses: frankenbit/release-toolkit/.forgejo/workflows/reusable-changelog-body-check.yml@v0.21.0` - `runs_on: go` 2. Verify `check-self-bootstrap.sh` passes (all 4 wrappers on `@v0.21.0`). 3. Verify the workflow actually fires on a CHANGELOG-touching PR. ## Refs - Blocked by: v0.21.0 cut - Parent: [release-toolkit#282](https://git.frankenbit.de/frankenbit/release-toolkit/issues/282) Layer 1 - Precedent: [release-toolkit#281](https://git.frankenbit.de/frankenbit/release-toolkit/issues/281) (fragment-check dogfood fold — same pattern) - Anchor: PR [release-toolkit#289](https://git.frankenbit.de/frankenbit/release-toolkit/pulls/289) review cycle 2026-07-02 (Surveyor caught the @main misalignment; self-probe traced to #281 commit precedent)
Author
Owner

Scope note: when this tracker fires (post-v0.21.0-cut wrapper add), please also fold the one-line fragment tightening for changelog.d/282-layer2.added.md → drop sentence 2 (port-provenance from tmux-tell#628) so the fragment lands at outcome + no-behavioural-change + closes — embodying the "1-3 sentences" density rule it codifies. Diff is 1 file, +1/-1.

Origin: PR release-toolkit#292 closed per Surveyor 99fd cheapest-path suggestion (fold into already-queued area-adjacent PR rather than spin dedicated micro-PR for cosmetic fix). Surveyor 04ed non-blocking approval on the diff stands.

Fragment will already be consumed into CHANGELOG.md's v0.21.0 section by the time this fires — the fold-in target is that section on main, not the fragment file. Applies as CHANGELOG editorial polish alongside the dogfood wrapper add.

Scope note: when this tracker fires (post-v0.21.0-cut wrapper add), please also fold the one-line fragment tightening for `changelog.d/282-layer2.added.md` → drop sentence 2 (port-provenance from tmux-tell#628) so the fragment lands at outcome + no-behavioural-change + closes — embodying the "1-3 sentences" density rule it codifies. Diff is 1 file, +1/-1. Origin: PR [release-toolkit#292](https://git.frankenbit.de/frankenbit/release-toolkit/pulls/292) closed per Surveyor `99fd` cheapest-path suggestion (fold into already-queued area-adjacent PR rather than spin dedicated micro-PR for cosmetic fix). Surveyor `04ed` non-blocking approval on the diff stands. Fragment will already be consumed into CHANGELOG.md's v0.21.0 section by the time this fires — the fold-in target is that section on main, not the fragment file. Applies as CHANGELOG editorial polish alongside the dogfood wrapper add.
Author
Owner

Retracting my scope-note above — moot. #292 merged direct at d9f0c8f (Bosun re 0e1a + Surveyor re 592e byte-identical APPROVED) so the fragment tightening is already on main. No CHANGELOG editorial polish work for #290 to fold in. #290's scope stays: post-v0.21.0-cut dogfood wrapper add only.

**Retracting my scope-note above** — moot. #292 merged direct at `d9f0c8f` (Bosun `re 0e1a` + Surveyor `re 592e` byte-identical APPROVED) so the fragment tightening is already on main. No CHANGELOG editorial polish work for #290 to fold in. #290's scope stays: post-v0.21.0-cut dogfood wrapper add only.
Sign in to join this conversation.
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
frankenbit/release-toolkit#290
No description provided.