Skip to content

chore: pin next release to 3.0.2#665

Merged
tmchow merged 1 commit intomainfrom
tmchow/fix-664-classification
Apr 24, 2026
Merged

chore: pin next release to 3.0.2#665
tmchow merged 1 commit intomainfrom
tmchow/fix-664-classification

Conversation

@tmchow
Copy link
Copy Markdown
Collaborator

@tmchow tmchow commented Apr 24, 2026

Caution

2026-04-24 postmortem — the Release-As: mechanism in this PR misfired.

The <component>@<version> syntax is not supported by release-please: the parser keeps only the version string and drops the component scope, so both footers effectively became Release-As: 3.0.2. Because this commit is empty, CommitSplit (with includeEmpty: true) fans the footer out to every package bucket. Result: PR #661 proposed bumping all five packages to 3.0.2, including coding-tutor (1.3.0 → 3.0.2), marketplace (1.0.2 → 3.0.2), and cursor-marketplace (1.0.1 → 3.0.2) — none of which had any feat/fix commits in this window.

The BEGIN_COMMIT_OVERRIDE block below tells release-please to treat this commit as a no-op chore: on every subsequent run, which clears the fanned-out RELEASE AS note from every package's bucket. The legitimate pin for cli + compound-engineering is re-applied via per-package "release-as": "3.0.2" in release-please-config.json (follow-up PR).

Source refs: strategies/base.ts#buildNewVersion (config releaseAs short-circuit), util/commit-split.ts (empty-commit fan-out), commit.ts (BEGIN_COMMIT_OVERRIDE parsing).

BEGIN_COMMIT_OVERRIDE
chore: no-op (pin mechanism superseded — see PR description)
END_COMMIT_OVERRIDE


Summary

PR #663 squash-merged as feat(ce-commit-push-pr): — adding two short-circuits that skip a blocking evidence prompt when the agent just authored the change. The intent was a UX/flow fix, not a new capability, so fix: would have been the right conventional prefix. Because it landed as feat:, release-please has computed a minor bump, and the open release PR (#661) pins the linked cli / compound-engineering group at 3.1.0.

This PR adds an empty commit with Release-As: footers to reclassify the pending release as 3.0.2, so the patch-level changes in this release window (#660 ce-update, #664 ce-demo-reel, #663 ce-commit-push-pr) land as 3.0.2 instead of a minor bump.

Same pattern as 30185a9 / #584 (which pinned 2.67.0 for a similar misclassification).

⚠️ Merge instructions — READ BEFORE SQUASHING

The Release-As: footers MUST land on main verbatim, or release-please will ignore them and #661 will stay at 3.1.0.

GitHub's default squash-merge uses only the PR title as the commit message and drops the PR body. You must manually paste the full commit body (including both Release-As: lines) into the squash-merge message box before confirming the merge. This is exactly how #583 failed — the footers got dropped and a follow-up empty commit (30185a9) was needed to fix it.

Copy this into the squash-merge message:

PR #663 squash-merged as `feat(ce-commit-push-pr):` — adding two
short-circuits that skip a blocking prompt when the agent just authored
the change. The intent was a UX/flow fix, not a new capability, so the
correct conventional prefix is `fix:`. Since the prefix drove a minor
bump, the open release PR (#661) is pinning the linked `cli` /
`compound-engineering` group at 3.1.0.

This empty commit reclassifies the pending release to 3.0.2 via
`Release-As:` footers so the patch-level fixes in this window
(#660 ce-update, #664 ce-demo-reel, #663 ce-commit-push-pr) land as
3.0.2 instead of 3.1.0. The feat prefix remains in history and may
still render under a Features heading in the generated changelog —
hand-edit the release PR body before merge if so.

Release-As: cli@3.0.2
Release-As: compound-engineering@3.0.2

After merge, release PR #661 should regenerate to:

  • cli: 3.0.2
  • compound-engineering: 3.0.2

The feat commit remains in history, so the changelog may still render a Features heading — hand-edit #661's body before merging it if so.

Test plan

  • On squash-merge, paste the full body above (including both Release-As: lines) into the merge message before confirming.
  • After merge, watch release-please run on the main push and confirm chore: release main #661 updates to 3.0.2 for both linked packages.
  • If release PR does not regenerate, verify the merged commit on main still contains both Release-As: footers (git log -1 <sha> --format=%B on main).

🤖 Generated with Claude Code

PR #663 squash-merged as `feat(ce-commit-push-pr):` — adding two
short-circuits that skip a blocking prompt when the agent just authored
the change. The intent was a UX/flow fix, not a new capability, so the
correct conventional prefix is `fix:`. Since the prefix drove a minor
bump, the open release PR (#661) is pinning the linked `cli` /
`compound-engineering` group at 3.1.0.

This empty commit reclassifies the pending release to 3.0.2 via
`Release-As:` footers so the patch-level fixes in this window
(#660 ce-update, #664 ce-demo-reel, #663 ce-commit-push-pr) land as
3.0.2 instead of 3.1.0. The feat prefix remains in history and may
still render under a Features heading in the generated changelog —
hand-edit the release PR body before merge if so.

Release-As: cli@3.0.2
Release-As: compound-engineering@3.0.2
@tmchow tmchow merged commit 7a6c84d into main Apr 24, 2026
2 checks passed
@github-actions github-actions Bot mentioned this pull request Apr 24, 2026
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