Skip to content

chore(changelog): give every unreleased fragment a linked marketing title - #3261

Merged
mabry1985 merged 1 commit into
mainfrom
chore/changelog-fragment-shape
Aug 28, 2026
Merged

chore(changelog): give every unreleased fragment a linked marketing title#3261
mabry1985 merged 1 commit into
mainfrom
chore/changelog-fragment-shape

Conversation

@mabry1985

Copy link
Copy Markdown
Member

Found while auditing the fragments ahead of the release. No behavior change — fragments are unreleased and collate at release time.

What was wrong

scaffold() builds changelog.json (the public /changelog feed) from _titles(), which takes each bullet's bold lead; with no bold it falls back to re.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_md separately 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

Verification

Ran the real extractor (scripts/changelog.py::_titles, the same function scaffold() 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.md and PROTO.md:111: - **Lead sentence (#NNNN).**

Refs #3184

🤖 Generated with Claude Code

https://claude.ai/code/session_01WEMxBi71vjtmmmziFCMcby

…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
@coderabbitai

coderabbitai Bot commented Aug 28, 2026

Copy link
Copy Markdown

Warning

Review limit reached

Next included review available in 26 minutes.

View limit details

Limit 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.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: Organization UI

Review profile: ASSERTIVE

Plan: Pro Plus

Run ID: 0d608c04-4f77-482a-99e2-c0c17f6047ff

📥 Commits

Reviewing files that changed from the base of the PR and between 042ad9b and aae899e.

📒 Files selected for processing (18)
  • changelog.d/3188.added.md
  • changelog.d/3190.added.md
  • changelog.d/3191.added.md
  • changelog.d/3230.fixed.md
  • changelog.d/3232.added.md
  • changelog.d/3234.removed.md
  • changelog.d/3242.added.md
  • changelog.d/3243.added.md
  • changelog.d/3244.added.md
  • changelog.d/3245.fixed.md
  • changelog.d/3246.added.md
  • changelog.d/3247.added.md
  • changelog.d/3248.fixed.md
  • changelog.d/3249.added.md
  • changelog.d/3252.added.md
  • changelog.d/3255.fixed.md
  • changelog.d/3256.fixed.md
  • changelog.d/3258.added.md

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@protoreview protoreview Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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)
[]

@mabry1985
mabry1985 merged commit 6e280f8 into main Aug 28, 2026
16 checks passed
@mabry1985
mabry1985 deleted the chore/changelog-fragment-shape branch August 28, 2026 22:56
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