chore(changelog): give every unreleased fragment a linked marketing title - #3261
Conversation
…itle `scaffold()` builds the public changelog from `_titles()`, which takes each bullet's **bold lead** — or, with no bold, falls back to the first clause and ships a run-on truncated mid-sentence. Six unreleased fragments had no bold lead at all, so this release's Context Architecture v2 work would have appeared on the marketing changelog as six half-sentences. `_strip_md` also drops `(ADR ...)` parentheticals wholesale, so a ref written as `(ADR 0108 D4, #3242)` lost the PR number along with the ADR id — six more fragments had no link in their title. Splitting them into `(#NNNN) (ADR 0108 Dx)` keeps both: the changelog body cites the ADR, the marketing title keeps the link. Verified by running the real extractor over every fragment: 29/29 now produce a titled, linked, single-sentence entry. Also corrects two wrong ADR references: #3190 cited D6 (the delivery budget) but implements D3 (capability-derived prompt), and #3191 cited D2 (projection) but implements D5 (prompt observability). No behavior change; fragments are unreleased and collate at release time. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01WEMxBi71vjtmmmziFCMcby
|
Warning Review limit reachedNext included review available in 26 minutes. View limit detailsLimit details: You’ve used the included review currently available. You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository. Review configuration: ⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (18)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
QA panel review — PASS
code-review-structural · head aae899e881da · formal
Documentation-only reformat of 18 changelog fragments (bold leads, PR-number reordering, ADR decision-number corrections). No functional risk. All five finders returned zero findings; the verifier confirmed there were no claims to verify. Nothing to fix, nothing the panel disagreed on, no coverage gaps.
No findings — the review came back clean.
findings JSON (machine-readable)
[]
Found while auditing the fragments ahead of the release. No behavior change — fragments are unreleased and collate at release time.
What was wrong
scaffold()buildschangelog.json(the public /changelog feed) from_titles(), which takes each bullet's bold lead; with no bold it falls back tore.split(r"\s+[—-]\s+|\. ", text, 1)[0]— the first clause, shipped as a run-on truncated mid-sentence. Six unreleased fragments had no bold lead at all (#3188, #3190, #3191, #3230, #3232, #3234) — the Phase 1 half of this release's Context Architecture v2 work._strip_mdseparately drops(ADR ...)parentheticals wholesale, so a ref written as(ADR 0108 D4, #3242)lost the PR number along with the ADR id. Six more fragments had no link in their title (#3242, #3244, #3246, #3247, #3249, #3252). Splitting to(#NNNN) (ADR 0108 Dx)keeps both — the changelog body cites the ADR, the marketing title keeps the link.Six others had bold leads but no ref at all (#3243, #3245, #3248, #3255, #3256, #3258); two of those also ran long enough to truncate.
Also fixed: two wrong ADR references
ADR 0108 D6— that is the delivery budget. It implements D3 (capability-derived prompt).ADR 0108 D2— that is projection. It implements D5 (prompt observability).Verification
Ran the real extractor (
scripts/changelog.py::_titles, the same functionscaffold()calls) over every fragment before and after. 29/29 now produce a titled, linked, single-sentence entry; before, 12 did not.House shape per
changelog.d/README.mdandPROTO.md:111:- **Lead sentence (#NNNN).**Refs #3184
🤖 Generated with Claude Code
https://claude.ai/code/session_01WEMxBi71vjtmmmziFCMcby