Skip to content

chore(changelog): regenerate the Unreleased block from changelog.d/ - #1160

Merged
lusoris merged 5 commits into
masterfrom
chore/regen-changelog-unreleased
Aug 31, 2026
Merged

lusoris merged 5 commits into
masterfrom
chore/regen-changelog-unreleased

Conversation

@lusoris

@lusoris lusoris commented Aug 30, 2026 •

Copy link
Copy Markdown
Contributor

Summary

make docs-fragments-check — a required check — fails on pristine master.
Merged PRs add fragments under changelog.d/ but nothing re-renders
CHANGELOG.md's Unreleased block, so the two drift apart. The gate names its own
remedy, which is all this PR runs:

scripts/release/concat-changelog-fragments.sh --write

A finding I did not fix here

Regenerating prints:

WARNING: changelog.d/chore/ is not a Keep-a-Changelog section; fragments here are SKIPPED.
WARNING: changelog.d/refactor/ is not a Keep-a-Changelog section; fragments here are SKIPPED.

Those two directories hold 27 fragments — 24 under chore/, 3 under
refactor/ — whose content has never reached CHANGELOG.md.

The generator's section list is the canonical Keep-a-Changelog set
(added changed deprecated removed fixed security), so the skip is arguably by
design
: chores and refactors are not user-facing. But the directories exist,
authors keep writing to them, and the only signal is a stderr warning nobody sees
unless they run the script by hand.

That is a policy question with two defensible answers — map them onto Changed,
or delete the directories and reject those sections at PR time — so it is
reported rather than decided unilaterally. Happy to do either.

Type

  • build / ci — tooling / infra

Checklist

  • Commits follow Conventional Commits.
  • make docs-fragments-check exits 0 (it exits 2 on master).
  • Unit tests — no source change; CHANGELOG.md is generated output.
  • No SIMD/GPU code path touched.
  • No new source files.
  • Not a breaking change.
  • No ADR — mechanical regeneration; the open policy question is flagged above, not settled here.

Bug-status hygiene

  • docs/state.md — no runtime bug; this is a generated-artefact sync.

Netflix golden-data gate

  • I did not modify any assertAlmostEqual(...) score.

Deep-dive deliverables

  • Research digest — no digest needed: trivial.
  • Decision matrix — no alternatives: the gate prescribes the command.
  • AGENTS.md invariant note — no rebase-sensitive invariants.
  • Reproducer / smoke-test command — below.
  • CHANGELOG fragment — changelog.d/changed/regen-unreleased-block.md.
  • Rebase note — no rebase impact: generated changelog-only sync; CHANGELOG.md and changelog.d/ are fork-added.

Reproducer

git checkout master && make docs-fragments-check     # exit 2
scripts/release/concat-changelog-fragments.sh --write
make docs-fragments-check                            # exit 0

See the dropped fragments:

ls changelog.d/chore/ changelog.d/refactor/ | grep -c '\.md$'   # 27

Known follow-ups

  • Decide the chore/ + refactor/ question above.
  • This will drift again on the next merge wave. Worth considering whether the
    regeneration should be a release-please step rather than a manual one, since
    the gate is required and the fix is purely mechanical.

lusoris and others added 4 commits August 30, 2026 21:04
`make docs-fragments-check` fails on pristine master: merged PRs add fragments
under changelog.d/ but nothing re-renders CHANGELOG.md's Unreleased block, so the
two drift apart. The gate names its own remedy, which is what this runs:

    scripts/release/concat-changelog-fragments.sh --write

Finding, NOT fixed here because it changes what users see in a release:
regenerating prints

    WARNING: changelog.d/chore/ is not a Keep-a-Changelog section; fragments here are SKIPPED.
    WARNING: changelog.d/refactor/ is not a Keep-a-Changelog section; fragments here are SKIPPED.

Those two directories hold 27 fragments (24 chore, 3 refactor) whose content has
never reached CHANGELOG.md. The generator's SECTIONS list is the canonical
Keep-a-Changelog set -- added, changed, deprecated, removed, fixed, security --
so the skip is arguably by design: chores and refactors are not user-facing. But
the directories exist, authors keep writing to them, and the only signal is a
stderr warning nobody sees unless they run the script by hand.

That is a policy question with two defensible answers (map them onto Changed, or
delete the directories and reject the sections at PR time), so it is reported
rather than decided unilaterally.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@lusoris
lusoris marked this pull request as ready for review August 31, 2026 01:26
@lusoris
lusoris enabled auto-merge (squash) August 31, 2026 01:26
@lusoris
lusoris marked this pull request as draft August 31, 2026 01:27
auto-merge was automatically disabled August 31, 2026 01:27

Pull request was converted to draft

@lusoris
lusoris marked this pull request as ready for review August 31, 2026 01:27
@lusoris
lusoris enabled auto-merge (squash) August 31, 2026 01:27
@lusoris
lusoris marked this pull request as draft August 31, 2026 01:27
auto-merge was automatically disabled August 31, 2026 01:27

Pull request was converted to draft

@lusoris
lusoris marked this pull request as ready for review August 31, 2026 01:27
@lusoris
lusoris enabled auto-merge (squash) August 31, 2026 01:27
@lusoris
lusoris merged commit 0a13a6b into master Aug 31, 2026
30 checks passed
@lusoris
lusoris deleted the chore/regen-changelog-unreleased branch August 31, 2026 07:18
@lusoris lusoris added this to the 1.0.0 — First release milestone Sep 4, 2026
@lusoris lusoris added the type:chore Maintenance, no user-visible change label Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

type:chore Maintenance, no user-visible change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant