docs(changelog.d): header + body fragment shape, per Alex's revision #631
No reviewers
Labels
No labels
bump
major
bump
minor
bump
patch
kind/bug
kind/chore
kind/docs
kind/feature
priority/critical
priority/high
priority/low
priority/medium
size/L
size/M
size/S
size/XL
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!631
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "i/627-header-plus-body"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Round 3 on #627, implementing Alex's revision: "the previous one-liner used as a header
plus the description which is currently the sole content of a fragment."
The composer measurement changed the format
Dispatched to check the composer before committing to a shape. It does not compose the
obvious draft:
The blank line is load-bearing and was undocumented. Verified by running the real
categorize_fragmentson both variants, not by reading the awk.Header-in-frontmatter rejected on evidence
_fragment_body_linesstrips frontmatter from the composed body, andfragment_get_summary+categorize_fragment_summarieswere removed in #301. Thatroute means reviving a deleted feature. This shape needs no composer change at all.
Result
✅ Check 5 clears — every section is all-bullet now.
Editorial calls
pre-existing bodies opened by paraphrasing their own headline — that redundancy is what
read as bulky, and removing it is what makes header+body a net cut rather than an
addition.
- **scope**:not- **scope** —. 49/50 of v0.34.0's bullets use the colon, andthe commit-derived bullets sharing the section use it too. One separator per list.
605's scope disclosure survives intact in the body — the second-bullet questionfrom #630 is withdrawn.
Template updated in the same PR
changelog.d/.template.mdrestates the rule as one header bullet + blank line + indentedbody of 1-3 sentences, documents the load-bearing blank line, and names the
body-restates-header failure mode. Without this the next author writes the old shape and
no check complains — the gate cannot see it, which is the same blindness #628 measured.
Refs #627. Supersedes #630 (pure one-liners — Alex backed off that; too lossy).
bosun referenced this pull request2026-07-31 22:00:13 +02:00
⚠️ Scope correction on this PR's own verification claim.
The body above says
changelog-body-check 9/9 PASS, zero warnings. That is true and it covers less than it reads as. Bosun found why (#632); reproduced independently againstorigin/main's checker:Same 38-word sentence, four positions:
So checks 7 and 9 do not scan bullet text at all, and this PR makes every entry a bullet. The seven headers here are 8–17 words because I wrote them that way, not because anything enforces it. The bodies remain covered.
This does not change the content of this PR — headers measured against v0.34.0's envelope (min 7 / median 10 / max 17) and all seven sit inside it. It changes what the green means, and that belongs stated here rather than in a tracker, since this is where a reviewer reads the claim.
Enforcement gap tracked on #632 (bullet-scanning half). Per
/srv/CLAUDE.md§ Mechanism design: a pass must name its silence. This one's silence is the header line.