Skip to content

Record the CHANGELOG entries for sixty-five merged changes - #3150

Merged
erikdarlingdata merged 3 commits into
devfrom
chore/changelog-batch-0907
Sep 7, 2026
Merged

erikdarlingdata merged 3 commits into
devfrom
chore/changelog-batch-0907

Conversation

@erikdarlingdata

@erikdarlingdata erikdarlingdata commented Sep 7, 2026 •

Copy link
Copy Markdown
Owner

Appends the collected [Unreleased] entries for the 85 pull requests merged to dev from 8210012bc (the previous batch, #2984) through #3147. Lanes do not edit CHANGELOG.md — every one of them appends to the same [Unreleased] block, so a per-PR edit conflicts with whichever sibling merges first — and the entry text rides each PR's own description instead. This is the periodic commit that applies it.

What is in the diff

CHANGELOG.md only, 141 insertions and no deletions: 70 entries prepended inside ## [Unreleased] — 10 under ### Added, 13 under ### Changed, 47 under ### Fixed — plus the 71 link-reference definitions those entries need, appended to the block at the foot of the file. Entries are ordered newest-merge-first within each section, matching the file's existing order. Nothing already in the block was edited, reworded or reordered.

Base

origin/dev moved twice while this was assembled. Both were merged in rather than rebased, so 33211034e is intact in the history: #3149 landed during the survey and #3147 landed after it closed, arriving as the merged base. Both carry entry text and both are included, #3147's in a commit of its own on top: an entry omitted because it arrived mid-batch is how a backlog restarts, and the batch's purpose is to make [Unreleased] current at its own merged base. There is no PR in the range whose entry this diff knowingly lacks.

Where the text came from

85 pull requests in the range. 66 contributed an entry, 19 did not.

Of the 66, 54 carried their entry text under a heading in their own body, one (#3033) carried it under a bare paragraph rather than a heading, and 11 carried it in the lane's handoff file rather than the PR body (#3040, #3042, #3046, #3075, #3077, #3078, #3079, #3080, #3084, #3085, #3086). The text is used close to verbatim; where a lane wrote a plain bullet, its own opening clause is bolded to match the shape every existing entry in the block uses, and a redundant Fixed: / Added: prefix is dropped where the section heading already says it. Three PRs contributed more than one entry because they fixed more than one thing: #3027 (two), #3056 (three, across ### Fixed and ### Added), #3117 (two).

Two entries needed a choice recorded here. #3077's lane offered a first draft and a post-review final; the final is used, because the draft cites a count of inadmissible readings the lane says a third reading falsified mid-review. #3079 and #3085 each offered a full entry and a one-liner; the full form is used.

Section placement follows the block's existing treatment of guard work rather than a rule invented here: a guard that never existed is Added (#3081, #3083, #3049's grid check), a guard whose reach was widened as policy is Changed (#3063, #3067, #3074, #3076, #3082 — the shape [#2490]'s entries already sit under Changed), and a guard that gave a wrong answer is Fixed (#3052, #3088, #3094, #3140 — the shape [#2927]'s entry already sits under Fixed).

The 19 with no entry

Two say so themselves: #3043 ("a comment aligning with a naming convention is not a user-visible change and does not earn a line") and #3020 ("no behaviour change — every edit is inside a comment or a changelog line"; it is also the only PR in the range that touched CHANGELOG.md, a one-line placeholder scrub already on dev).

Seventeen have no entry text in the PR body, in the lane handoff files, or anywhere else searched, and are not covered by the existing block: #2982, #2983, #2985, #2986, #2987, #2988, #2989, #2990, #2992, #2998, #3000, #3001, #3002, #3003, #3005, #3007, #3025. All 17 merged between 22:44 on 09-04 and 10:34 on 09-05, before the entry-rides-the-description routing settled. Several are user-visible (#2985 takes the default trace's archival-empty cutoff from the server's clock, #3000 screens rdsadmin out of per-database enumeration, #3003 bounds pg_index_bloat by bytes, #3007 derives the viewer's interactive read deadline from its fan-out width). No entry is invented for them here — these entries cite measurements only the lane that did the work can vouch for — so they want a backfill in the shape of #2260.

How the count was checked

Two ways that fail differently. git diff reports 70 added - lines and 71 added link definitions, totalling the 141 in the diffstat; independently, re-parsing the written file and subtracting the per-section counts measured before any edit (96 / 15 / 143) gives a delta of exactly 10 / 13 / 47. Separately, every one of the 66 contributing PRs is asserted to have its issue reference present among the added lines, and every added line is asserted to be non-trivial and house-shaped rather than merely present.

The extractor was also run twice. A first pass that treated any heading as a section terminator lost #3149's entry completely, because that entry sits inside a fenced block whose first line is ### Fixed; a fence-aware pass recovered it and agreed with the first pass on all 53 others; #3147's entry was extracted with that same fence-aware pass. [Cc]hangelog does not match CHANGELOG, and requiring CHANGELOG at a heading's start misses #3122 ("Proposed CHANGELOG entry"), #3146 ("Changelog entry for the coordinator") and #3117's ###-level heading, so the search is case-insensitive, any level, and matches mid-line.

CHANGELOG.md is outside FleetIdentifierScrubTests' population by construction, so CI does not scan this text for identifiers. The diff was scanned by hand against the guard's own two patterns and for RDS endpoints, ARNs, 12-digit account ids, dotted-quad and IPv6 addresses, and the fleet's own naming: clean. The one address-shaped token, 2001:db8::1, is the RFC 3849 documentation prefix in #3030's account of a log-prefix regex; 01:00:00 and 24:00:00 are PostgreSQL interval literals.

Appends 69 entries to the [Unreleased] block — 10 Added, 13 Changed, 46
Fixed — collected from the bodies of the 84 pull requests merged to dev
since 8210012, plus the 70 issue link-reference definitions they need.
@claude

claude Bot commented Sep 7, 2026

Copy link
Copy Markdown

Reviewed. This PR touches only CHANGELOG.md (139 insertions, no deletions) — no application, T-SQL, or config code, so the T-SQL style, Lite/Darling parity, and security-boundary checks in the review brief don't have a surface to apply to here. Verified the mechanics of the batch instead:

No issues found.

@claude

claude Bot commented Sep 7, 2026

Copy link
Copy Markdown

Reviewed. This PR touches only CHANGELOG.md (139 insertions, no code changes), so the T-SQL style, Lite/Darling parity, security, and performance criteria don't apply here — there's no source to check them against.

Verified the mechanical part of the aggregation:

  • Every [#NNNN] reference used in the file has exactly one matching [#NNNN]: url link definition, and vice versa (1203 used == 1203 defined, bijective) — no dangling references, no orphaned definitions.
  • No duplicate link-reference definitions were introduced (checked the full file, not just the diff).
  • All 70 new definitions line up correctly with the entries that cite them.

No issues found.

#3147 landed after the survey that produced the batch and was pulled in
by merging origin/dev, so the branch carried a change whose entry the
diff lacked. Its text, for #3143, goes at the top of ### Fixed as the
newest merge, with the one link-reference definition it needs.
@claude

claude Bot commented Sep 7, 2026

Copy link
Copy Markdown

Reviewed against the T-SQL style, Lite/Darling parity, security, correctness, and performance criteria — none apply here, since the diff is CHANGELOG.md only (141 insertions, 0 deletions): no application code, no T-SQL, no Lite or Darling source touched.

Structural checks performed on the resulting file:

No findings. This is a mechanical aggregation of already-reviewed PR entries, so I did not re-litigate the substance of those 66 individual changelog blurbs — the review scope for this PR is the aggregation itself, which looks correct.

@erikdarlingdata
erikdarlingdata merged commit 11a5e53 into dev Sep 7, 2026
8 checks passed
@erikdarlingdata
erikdarlingdata deleted the chore/changelog-batch-0907 branch September 7, 2026 19:04
@erikdarlingdata

Copy link
Copy Markdown
Owner Author

Claude posting for Erik Darling

Correction to the merged commit's own numerals, recorded here because the commit is immutable and this is the nearest durable surface to it.

The squash subject on dev (11a5e53ee) reads "sixty-five merged changes", and its body's first bullet carries the figures as they stood before #3147's entry was added: 69 entries, 10 Added / 13 Changed / 46 Fixed, 84 pull requests, 70 definitions.

The artefact is right; only those numerals are stale. What actually landed:

entries 70 (10 Added / 13 Changed / 47 Fixed)
contributing PRs 66
range surveyed 85 PRs, 8210012bc..5d5b77cc8
link-reference definitions 71
diff 141 insertions, 0 deletions, CHANGELOG.md only
partition 66 contributed + 2 no-entry-by-own-statement + 17 needs-a-human = 85, and git log over that range yields exactly 85 PR-numbered commits with 0 unnumbered

The description above is correct on all of these; the second commit message in the squash body also records #3147's entry being added "with the one link-reference definition it needs", so 69+1 and 70+1 are reconstructable from the message itself.

Deliberately not editing the title. Retitling to "sixty-six" would make this page disagree with the commit it produced, and a title/commit divergence is worse for anyone tracing 11a5e53ee back than a stale-but-consistent pair with an accurate correction adjacent to it. No CHANGELOG change is warranted either — this is a commit-subject numeral, not a claim inside the file.

How it happened, since the mechanism generalises. When #3147's entry was authorised the description was re-audited numeral by numeral against the artefact — 20 claims, all passing. But that audit's population was the PR body and nothing else. The PR title and the commit messages were never in it, and GitHub derives the squash subject from the title. So a stale figure sat two surfaces away from a thorough check that structurally could not fail on it.

That is the same defect class this batch's own entries keep describing: a check shaped like the answer, passing inside its population while identical figures go unverified outside it. The earlier catch in this PR — a description claiming "four PRs contributed more than one entry" while listing three — was luck of population rather than rigour, because that numeral happened to live in the body.

erikdarlingdata added a commit that referenced this pull request Sep 9, 2026
…of the PR bodies

The entry text does not only ride the PR description. #3150's own account of the previous
batch says 11 of its 66 entries came from a lane's handoff file in
`~/Documents/pm-issue-queue-inbox/inbox/` rather than the body, and three files there carry
dedicated entry text inside this range: `3164-changelog-entry.md`, `3166-changelog-entry.md`
and `3169-changelog-entry.md`. Searching only the bodies missed the first two.

- **#3164** (PR #3176) is no longer written from the PR description. Its lane wrote a full
  entry, and that text is used verbatim: it carries the 1,036 blocks/s upper bound, the
  reason the decoupling #3153 deferred is unreachable, the declined command-deadline route,
  the census deliberately not restated at the new ceiling, and the mutation that caught
  nothing. `[#2997]` joins the definition block at its ascending position, which that text
  cites and the file did not define.
- **#3166** (PR #3168, absorbed and superseded by #3178) had no entry at all. #3178 grouped
  it into its own citation with a one-line summary, but its lane wrote a separate entry for
  the census that took `HeaviestHourlyRefreshObservedCeilingSeconds` from 594 s to 896 s and
  inverted the watch-line ordering. It sits beside #3178's, on #3178's merge.
- **#3191's entry** said "#3184 named four of the six". #3184 was squash-merged and the
  four-of-six state never reached `dev`; it was a commit inside that PR, corrected before
  merge. "shipped" in this file means merged, so the clause now says a commit in #3184, which
  is what the #3187 lane's own report establishes.

`CHANGELOG.md` only, 60 insertions and no deletions against `origin/dev`: 33 entries
(6 Added, 3 Changed, 24 Fixed) and 27 definitions. All 15 definition runs keep the ordering
they had, 9 of 15 ascending before and after.
erikdarlingdata added a commit that referenced this pull request Sep 9, 2026
…ix merged pull requests (#3213)

* Record the CHANGELOG entries for thirty-one changes across twenty-five merged pull requests

Applies the `[Unreleased]` entries for the pull requests merged to `dev` from #3150 (the
previous batch) through #3203. Lanes do not edit `CHANGELOG.md` -- every one of them appends
to the same block, so a per-PR edit conflicts with whichever sibling merges first -- and the
entry text rides each PR's own description instead. This is the periodic commit that applies
it.

`CHANGELOG.md` only, 56 insertions and no deletions: 31 entries prepended inside
`## [Unreleased]` (6 under `### Added`, 2 under `### Changed`, 23 under `### Fixed`), newest
merge first within each section, plus the 25 link-reference definitions they need appended at
the foot of the file. Nothing already in the block was edited, reworded or reordered.

Three of the 28 pull requests in the range earn no entry, each on measured precedent rather
than judgement: #3150 is the previous batch pass itself, and no batch pass -- #2260, #2980,
#3150 -- is cited anywhere in the file; #3130 and #3131 are routine Dependabot bumps, and
none of the six merged Dependabot pull requests in the repository's history is cited either.

Two pull requests carried no entry text anywhere, so theirs are written from their
descriptions: #3176 (`pg_index_bloat`'s measured block rate) and #3184 (the PostgreSQL
target's permissions section).

* Record #3205's entry, which arrived on the merged base mid-batch

#3205 merged while this batch was assembled, so `origin/dev` was merged in rather than rebased
and its entry lands on top. An entry omitted because it arrived mid-batch is how a backlog
restarts, and the batch's purpose is to make `[Unreleased]` current at its own merged base.

One entry under `### Changed`, newest merge first ahead of #3195's, plus its link-reference
definition. #3205 has no other pull request in the range behind it.

* Take #3164's and #3166's entries from the lane handoff files instead of the PR bodies

The entry text does not only ride the PR description. #3150's own account of the previous
batch says 11 of its 66 entries came from a lane's handoff file in
`~/Documents/pm-issue-queue-inbox/inbox/` rather than the body, and three files there carry
dedicated entry text inside this range: `3164-changelog-entry.md`, `3166-changelog-entry.md`
and `3169-changelog-entry.md`. Searching only the bodies missed the first two.

- **#3164** (PR #3176) is no longer written from the PR description. Its lane wrote a full
  entry, and that text is used verbatim: it carries the 1,036 blocks/s upper bound, the
  reason the decoupling #3153 deferred is unreachable, the declined command-deadline route,
  the census deliberately not restated at the new ceiling, and the mutation that caught
  nothing. `[#2997]` joins the definition block at its ascending position, which that text
  cites and the file did not define.
- **#3166** (PR #3168, absorbed and superseded by #3178) had no entry at all. #3178 grouped
  it into its own citation with a one-line summary, but its lane wrote a separate entry for
  the census that took `HeaviestHourlyRefreshObservedCeilingSeconds` from 594 s to 896 s and
  inverted the watch-line ordering. It sits beside #3178's, on #3178's merge.
- **#3191's entry** said "#3184 named four of the six". #3184 was squash-merged and the
  four-of-six state never reached `dev`; it was a commit inside that PR, corrected before
  merge. "shipped" in this file means merged, so the clause now says a commit in #3184, which
  is what the #3187 lane's own report establishes.

`CHANGELOG.md` only, 60 insertions and no deletions against `origin/dev`: 33 entries
(6 Added, 3 Changed, 24 Fixed) and 27 definitions. All 15 definition runs keep the ordering
they had, 9 of 15 ascending before and after.

* Use the staged #3184 entry text instead of one written from the PR description

#3184's entry now exists, staged by the lane that did the work, so the batch no longer
invents one. Used verbatim, in `### Fixed` where its author targeted it and for the reason
they gave: the section did not merely lack detail, it asserted "One role covers every
collector", which is false in the direction that fails silently and which an operator would
act on.

Their text carries what a description-derived entry could not: the `pg_read_all_data` grant
is PostgreSQL 14+ and the pre-14 fallback the section gave was `GRANT SELECT` on a schema,
which is not valid PostgreSQL at all; the six collectors that need an extension, four of
which additionally need `shared_preload_libraries` and a server restart; and why
`pg_index_bloat` is unaffected by any grant. Both figures are live pre-change store reads
rather than estimates.

The citation is `[#3184]`, the pull request, because the change has no issue behind it, and
its definition uses the `/pull/` form. `CHANGELOG.md` only, still 60 insertions and no
deletions against `origin/dev`.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant