Define the 38 issue link references the CHANGELOG used but never declared - #2889
Conversation
…ared CHANGELOG.md cited 1083 distinct [#NNNN] shortcut references against 1048 link-reference definitions, so 37 of them had nothing to resolve to and GitHub rendered them as literal "[#1696]" bracket text instead of links - in prose where the reference IS the citation, e.g. "[#2760] removed both hints on the theory that..." reads as a dead footnote. Appended the 37 missing definitions in the existing form. Nothing in the existing block was reordered or deduped: the duplicate [#828] and [#887] definitions are left exactly as they were, and the file's own bytes are unchanged ahead of the append - the diff is 37 insertions and no deletions. All 37 numbers were confirmed to exist in the repo (33 issues, 4 pull requests). They are written uniformly as /issues/NNNN, which is what recent practice already does for both kinds - the /pull/ form stops at #2770, six of the 60 most recent /issues/ definitions are PRs, and GitHub redirects /issues/N to /pull/N anyway. Pre-existing, and found incidentally while landing #2885 rather than caused by it. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Reviewed. This is a docs-only, purely additive change to Verified independently:
No correctness, security, or performance concerns. Nice reproducible verification script in the description. |
Resolves the CHANGELOG.md link-definition conflict additively: both sides appended to the tail definition block (this branch 37 backfilled definitions, dev 10 new ones). Kept every definition and every bullet from both sides. The undefined-reference count was re-derived on current dev and is now 38, not the 37 measured at 13:06Z: dev's [#2902] bullet cites [#2847] without defining it. [#2847] is added here, so the merged file has 0 undefined references (1097 used, 1099 defined). Bullet resolution takes dev's wording wholesale. This branch is a byte-exact 37-line pure append onto the merge base and changes no bullet, so its bullet set is the base's; a literal union of content would have reverted four bullets dev has since edited, two of which dev scrubbed real fleet identifiers out of. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
My CHANGELOG entry cites [#2849] for the cadence model, but that issue had no link-reference line, so it rendered as literal text rather than a link. [#2862] and [#2843] were added with the entry; this is the third. Note for whoever touches that block next: [#2860], [#828] and [#887] each have DUPLICATE reference lines, and those predate this branch (confirmed against origin/dev). Left alone - #2889 is rewriting the block. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Reviewed. This is a clean, low-risk, docs-only fix — no T-SQL, no Lite/Darling code touched, so the usual style/parity/security/perf checks don't apply here. Verified independently:
One minor nit on the PR description, not the diff itself: it says " No blocking issues found. |
PR erikdarlingdata#2889 defined the 37 issue link references the CHANGELOG used but never declared. It did not check the other direction: three issues were each defined twice. - erikdarlingdata#2860 was defined twice inside the same bottom block (both copies in the [1.0.0] block, 10 lines apart) - erikdarlingdata#828 and erikdarlingdata#887 were each defined once in a newer release section's block and again in an older one All duplicates pointed at identical URLs, so rendered output never changed - this is cosmetic only. Which copy was kept follows the file's existing convention rather than file order. Of the 77 issue refs used in prose across more than one release section, 75 are defined exactly once, and in 74 of those the single definition sits in the block of the OLDEST section referencing it, with newer sections reusing it (link reference definitions are document-scoped in Markdown). So the bottom-most copy was kept for erikdarlingdata#828 and erikdarlingdata#887; for erikdarlingdata#2860, where both copies shared one block, the first was kept. Verified with the same command in both directions - a planted duplicate is still detected by the identical command form, and the real file now comes back empty: grep -oE '^\[#[0-9]+\]:' CHANGELOG.md | sort | uniq -d Every bracketed [#NNNN] reference still resolves: 1102 definition lines and 1102 unique definitions, zero used-but-undefined, zero defined more than once. Working tree stays all-CRLF (3283 CRLF, 0 bare LF) and the committed blob all-LF. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
What
CHANGELOG.mduses Markdown shortcut references like([#2794])throughout, with the definitions collected in append-ordered blocks toward the bottom. Some are used in prose but never defined, so GitHub renders them as literal[#1696]bracket text instead of links. This PR adds the missing definitions.This is worst where the reference is the citation and there is no other link to the work:
The count is 38, not 37 — re-derived on current
devThe original measurement (37) was taken at 13:06Z.
devhas since moved by eleven merges. Re-derived ondevat6e9d9a1b:38 undefined, not 37. The new one is
[#2847], cited by the[#2902]bullet that merged todevtoday without its own definition. The other 37 are unchanged:1696, 1944, 2018, 2026, 2061, 2266, 2538, 2543, 2544, 2545, 2547, 2561, 2565, 2566, 2567, 2593, 2595, 2599, 2603, 2612, 2617, 2623, 2625, 2626, 2629, 2630, 2633, 2636, 2638, 2640, 2641, 2643, 2645, 2651, 2686, 2689, 2760, 2847On the merged result:
1097 used; 1099 defined; 0 undefined.All 38 confirmed to exist via the API — 34 issues, 4 pull requests (#2018, #2026, #2547, #2686), none missing. No false positives: zero
[#N](url)inline links anywhere in the file, and zero of the 38 appear only inside code fences, so all 38 really were rendering as dead text.Note
grep -E(andgit grep -E) do not implement\b/\shere and return zero matches silently; every count above was taken withgrep -Pand cross-checked against an independent Python pass, each with a positive control.Why uniform
/issues/NNNN, including for the 4 PRsThe file holds both forms (770
/issues/, 294/pull/on currentdev) and the distinction is not maintained:/issues/definitions that are themselves PRs are routine (#2773, #2785, #2792, #2796, #2803, #2822). GitHub redirects/issues/Nto/pull/N, so all 38 resolve either way, and uniform/issues/matches the file's dominant practice.Correction to the earlier revision of this description, which claimed the
/pull/form "stops at #2770": that is no longer true.devnow carries[#2890]: .../pull/2890and[#2901]: .../pull/2901. The form is still not consistently applied, so the reasoning above stands, but the specific claim did not.Merged
devin and resolved additivelydevwas merged in (this repo's convention — no rebase, no force-push). The single conflict was inCHANGELOG.md, where both sides appended to the tail definition block: this branch 37 definitions,dev10. Resolution keeps every definition and every bullet from both sides. Net effect versusdevis 38 insertions, 0 deletions, 1 file.Bullet resolution takes
dev's wording wholesale, which is the correct additive result here and worth spelling out: this branch is a byte-exact 37-line pure append onto the merge base and changes no bullet, so its bullet set is the base's. A literal union-of-content would therefore have reverted four bulletsdevhas since edited — and two of those still carry fleet identifiers thatdevhas since scrubbed. Verified structurally: zero conflict markers (CR-tolerant grep, positive control passed),[Unreleased]retains exactly one each of### Added/### Changed/### Fixed, bullet set equality against both merge parents, definition set equality against both parents with exactly one addition ([#2847]), and byte-identical first three bytes (232043, no BOM) againstorigin/dev.What was deliberately left alone
[#828],[#887], and[#2860].[#2860]is duplicated ondevitself (absent from the merge base and from this branch before the merge), so it arrived fromdevtoday; both of its lines are byte-identical. Not in scope here.dev's own newest ones, preserving the file's append order.[#NNNN]reference needing its own definition, which is the thing being fixed; a link-reference repair with no behaviour change doesn't warrant one.Line endings
Staged with a plain
git add, nohash-objectescape hatch — that hatch re-commits a CRLF blob and would reintroduce what #2858 fixed. Verified: blob stays pure LF (0 CR bytes, 3244 → 3282 lines), working copy stays pure CRLF per.gitattributes* text=auto eol=crlf(3282 of 3282 lines), and the file gains no BOM.Provenance
Pre-existing; found incidentally while landing #2885, not caused by it. Docs-only — no code, no tests, no schema rung.
Co-Authored-By: Claude Opus 5 noreply@anthropic.com
🤖 Generated with Claude Code