chore(release)!: enter RC pre-mode and anchor the train as the v17 major#3600
Merged
Merged
Conversation
Enter Changesets pre-mode (tag: rc) and add a v17 anchor changeset declaring the sole `major` bump. The lockstep group applies the highest bump to every package, so the accumulated launch-window train — highest breaking density since the policy was adopted (ApiMethod enum shrink #3543, GraphQL surface removal, ADR-0104 value-shape write cutover, dead-cluster prunes) — computes to 17.0.0-rc.0 instead of a bare 16.2.0 minor that every ^16.x consumer would auto-ingest. Nothing reaches the latest tag until `changeset pre exit`; weekly cuts inside the window publish rc.N pre-releases for downstream validation (cloud/objectui/examples, dogfood gate, #2035 third-party gate). The no-major guard stands aside in pre-mode by design and prints the pending major informationally (verified locally). The ApiMethod changeset's "ships as minor" wording is amended to point at the anchor. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018V7nzG1x7nuqkwZQTowtBo
|
The latest updates on your projects. Learn more about Vercel for GitHub. 1 Skipped Deployment
|
os-zhuang
marked this pull request as ready for review
July 27, 2026 09:12
os-zhuang
added a commit
that referenced
this pull request
Jul 27, 2026
… the v17 train (#3627) Every Release run on main has been red since the v17 breaking window opened (first the localization-config narrowing, then the #3543 ApiMethod enum shrink): the live-hotcrm smoke types hotcrm@v2.1.0 (an ObjectStack 14.7 consumer) against the unreleased spec and fails on exactly the removals the major exists to ship. Because the step sits before changesets/action, the job dies before the Version Packages PR is even created — while a hotcrm release migrated off those removals cannot exist until the rc.N artifacts it would migrate against are published. Deadlock: #3600 entered pre-mode this morning specifically to cut rc.N pre-releases for downstream validation, and the gate has blocked every attempt since. While .changeset/pre.json declares mode:"pre", run the smoke as advisory: still cloned, still typechecked, outcome reported via ::notice/::warning — but never failing the job. With pre.json absent or mode:"exit" (the moment `changeset pre exit` lands) the gate blocks exactly as before, which is also the moment HOTCRM_REF must be bumped per the step's existing protocol. All four guard paths simulated locally: pre+fail→0, pre+pass→0, armed+fail→1, exit-mode+fail→1. Claude-Session: https://claude.ai/code/session_01ECTCrcCdZpCHw5zFSgcmGt Co-authored-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Follow-up to #3581 / #3391 close-out — kicks off the v17 RC cycle.
What this does
changeset pre enter rc→.changeset/pre.json,mode: "pre", tagrc). From the next version cut, the changesets action produces17.0.0-rc.Npre-releases; nothing reaches thelatestdist-tag untilchangeset pre exit..changeset/v17-rc-anchor.md) — the solemajorbump. The lockstep group applies the highest bump to every package, so this one declaration promotes the whole train; every other pending changeset keeps its ownminor/patchand narrative.Why promote this train to a major
16.2.0minor means every^16.xconsumer auto-ingests the whole set on their next install. A major restores the version-number signal: caret ranges hold at 16.x until consumers opt in.latest: cloud / objectui / examples upgrade against17.0.0-rc.N, the dogfood gate and the spec: 为剩余 16 个可编写域补全 defineX 工厂 / XInput,统一编写入口 #2035 third-party consumer gate run against it, and legacyapiMethodsstrip warnings are watched for the deny-all cliff.rc.N, no version burn. Exit + finalize once soaked.Guard behavior (verified locally)
check-changeset-no-major.mjsdetects pre-mode and stands aside by design, printing the pending major informationally:✓ Changesets is in pre-release mode (tag: rc) — major bumps are the expected product of an RC windowchangeset statusconfirms the lockstep group computes to17.0.0-rc.0.After merge (RC-window runbook)
17.0.0-rc.0.[spec] … retired legacy value(s)warnings.rc.Non the weekly cadence.changeset pre exit+ version + publish → final17.0.0(withgen:upgrade-guideoutput).🤖 Generated with Claude Code
https://claude.ai/code/session_018V7nzG1x7nuqkwZQTowtBo
Generated by Claude Code