5 Commits

Author SHA1 Message Date
Benjamin Taylor 461bb17913 fix(release): scope the AI notes prompt to the lane being released
The generator fed the model a repo-wide `git log -50` as context and told it
it was writing notes for "CopilotKit vX.Y.Z, an open-source AI agent framework
for React applications" — wrong on three counts for an angular or channels
release: the wrong commits, the wrong framing, and the wrong release title
(only the monorepo lane is titled `vX.Y.Z`).

Pass the scope through, build context from that lane's own commits, name the
packages actually being published, and tell the model to write about nothing
else.

Also fix the API call itself: the pinned model string was a dated snapshot,
max_tokens 2048 could truncate a large release, and the response reader took
content[0].text — which is not the text block on models that return thinking
blocks first.
2026-09-09 08:31:00 -05:00
Benjamin Taylor d3edfa089c fix(release): keep breaking-change footers written on branch commits
Selecting mainline commits alone drops a BREAKING CHANGE footer that lives on
a branch commit rather than in the PR description: the merge inherits neither.
Measured against real history, v1.60.0..HEAD lost 2 of 2 notes.

Fold each merge's branch messages into its body before extraction, so the
entry list stays one-per-PR while the footer scan sees the whole PR. Both
ranges checked now report zero loss versus the previous selection.
2026-09-09 08:31:00 -05:00
Benjamin Taylor 8ddb6158a4 fix(release): select release-note commits by PR, scoped to the release lane
Release notes were assembled from every commit since the scope's tag with
--no-merges. Two things were wrong with that:

- No path filter, so a scope inherited every other lane's work. The angular
  v0.5.0 notes drew from 159 commits, 4 of which were angular.
- --no-merges is backwards for this repo. PRs land as merge commits, so the
  merge is the unit of change and the only commit carrying the (#1234)
  reference; --no-merges dropped every PR boundary and kept the intermediate
  branch commits instead.

Walk --first-parent over the scope's package directories, drop commits no
consumer would read about (test/ci/style, chore except chore(deps), and the
release commit itself), and parse the PR number off the subject.

For angular v0.5.0 this turns 159 entries into the 4 real PRs.
2026-09-09 08:30:59 -05:00
yiheng-kkk c9d21f16b6 fix(release): preserve breaking change footers 2026-08-28 01:30:39 +08:00
Tyler Slaton 3b22abbbd1 fix(release): stage channels publishing 2026-07-15 10:13:18 -07:00