chore(changelog): adopt per-PR fragments
Your AI's guard dog to stop it from going rogue.
Brought to you by:
doberman
Originally created by: slegarraga
Closes [#456]
changelog.d/<PR-number>.md as the contribution workflow for changelog entries.Unreleased section and the current release history without one, creating a fresh section at compile time.456.md fragment to exercise the convention..venv/bin/pytest tests/unit/test_compile_changelog.py — 6 passed..venv/bin/ruff check . — passed..venv/bin/ruff format --check . — 393 files already formatted.python scripts/check_markdown_links.py — checked 33 Markdown files, no broken links..venv/bin/lint-imports — all 4 contracts kept.origin/main checkout in this local environment (doberman missing from an isolated plugin env); it is not touched by this diff.
Ticket changed by: fu351
Ticket changed by: fu351
Ticket changed by: fu351
Originally posted by: fu351
Merged, thanks @slegarraga! Shipping this PR's own 456.md through the new convention is the right way to prove it, and having the compiler create the Unreleased section when the file has none means the release step works on our CHANGELOG as it is today. I ran it against the real file before merging and the bullets land in the right place. The one quirk is two blank lines after the heading and none before the next version heading, I'll fix that in a follow-up along with the fragments for this week's merges. This one saves every open PR a rebase, so it was the one I most wanted merged this week. If you want another dash one after your Refresh control, [#443] (level-3) adds a Copy details button to each pending-approval card.
Related
Tickets:
#443Originally posted by: slegarraga
Thank you for the detailed review and merge! I’m especially glad the fragment convention removes recurring rebase churn from the other open PRs — that is a much bigger operational win than the size of the diff suggests.
[#443] looks like a useful next dash improvement. I’m finishing an urgent deploy-blocker follow-up first; after that I’ll check its current state and comment on the issue before starting so I don’t duplicate anyone’s work. Thanks for pointing me to it!
Related
Tickets:
#443