fix(prep): require fragment consent for release notes #917
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
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
frankenbit/release-toolkit!917
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "rigger/717-fragment-consent"
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?
Refs #717
Measured premise
Current main still composed fragment-less bump-worthy conventional commits into adopter-facing notes. The live/source check at the branch parent found internal/prep/prep.go rendering the remaining conventional commits via renderCommits, while internal/prep/version.go independently walks all commits for bump detection. The premise is active, not stale.
Decision tree
Changes
Base and head
456ceb877a7dc13ae2c9a87b844e3925a3d724d47dc13ae2c9Verification
c4d2ea53efde85a3b185REQUEST_CHANGES — exact live head
de85a3b185c6aa4d7d3ae66c87d039b00a939377.The assigned
c4d2ea53…head was superseded before stamping; this review is bound to the current server head. The implementation split is sound: conventional-commit parsing still drives the bump, while fragments and explicit Unreleased prose are the note sources. The leak and positive-bump mutation controls are live, and exact-head Go tests/vet, Bats 73/73, YAML parsing, formatting, and diff checks pass.Blocking documentation findings:
docs/architecture/arc42/10-quality-requirements.md:37still says that afeat:+fix:push has both subjects appear in the assembled changelog. That contradicts the updated quality tree at:14and the implemented #717 contract: with no fragments or Unreleased prose, those commits drive the version bump only and produce no note. Update Q1's expected response.docs/architecture/arc42/04-solution-strategy.md:11still calls commit types a “bump signal + changelog source,” while the same file's updated:43and the other point-of-use docs say note assembly is fragment/Unreleased-only. Correct this fundamental-decision rationale so the architecture document does not state both models.docs/adr/0002-conventional-commits-from-day-one.mdremainsStatus: acceptedand still defines both sources as contributing CHANGELOG content (including thecommits-bucketcomposition). Sincearc42/09still points to ADR-0002 as the accepted decision, amend or supersede that source-of-record decision as part of this contract change; otherwise future readers are directed to a contradictory architecture authority.Official exact-head approval for release-toolkit#917 at
7dc13ae2c96c9d3d7333df68102cdcaf74b7cfe1.The prior documentation blockers are resolved. ADR-0011 explicitly states the current contract: Conventional Commit subjects remain version-bump signals; fragments and explicit
## [Unreleased]prose are release-note sources; a fragment-less subject may bump without emitting a note. ADR-0002 is marked “superseded in part by ADR-0011” and retained as historical record, while the arc42 decision index, strategy, quality Q1, constraints, glossary, README, and related ADR references point to and repeat the current split. This is an explicit current-contract record, not merely a pointer saying that refinement happened.The implementation is unchanged from the previously reviewed head; the new commits are documentation-only. Verified exact head:
go test ./...,go vet ./..., all 73 Bats, workflow YAML parsing, formatting, and diff checks pass. The previously reviewed positive/inverse and mutation controls remain covered by the unchanged implementation.Official exact-head approval for release-toolkit#917 at
7dc13ae2c96c9d3d7333df68102cdcaf74b7cfe1.The prior documentation blockers are resolved. ADR-0011 explicitly states the current contract: Conventional Commit subjects remain version-bump signals; fragments and explicit
## [Unreleased]prose are release-note sources; a fragment-less subject may bump without emitting a note. ADR-0002 is marked “superseded in part by ADR-0011” and retained as historical record, while the arc42 decision index, strategy, quality Q1, constraints, glossary, README, and related ADR references point to and repeat the current split. This is an explicit current-contract record, not merely a pointer saying that refinement happened.The implementation is unchanged from the previously reviewed head; the new commits are documentation-only. Verified exact head:
go test ./...,go vet ./..., all 73 Bats, workflow YAML parsing, formatting, and diff checks pass. The previously reviewed positive/inverse and mutation controls remain covered by the unchanged implementation.