You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Do not start before #9497's measurements are on #9465. The scope of this card is those measurements; starting early means writing the migration against a guessed shape, which is the failure this epic is structured to avoid.
Ruling — one PR, not a sequence
Both half-states are broken, and each is broken silently until the next release:
bump alone → v3 installed while the gates and cut-rc.yml still model v2's pre-mode semantics;
migration alone → gates expecting .changeset/pre/ while v2 never creates it.
So this PR carries @changesets/cli: ^3.0.0 in the root package.jsonand every consequential change. #9217 (Dependabot's raw bump) closes itself once main carries ^3.0.0.
Expected surface — re-derive it from #9497's verdicts, do not copy this list
package.json (the bump; and the version script is a && chain — changeset version && sync-protocol-version.mjs && sync-template-versions.mjs && sync-docs-image-tags.mjs — so v3's exit-1 behaviour reaches all of it) · .changeset/config.json ($schema, privatePackages per U4, the experimental key per U2) · scripts/check-changeset-no-major.mjs (the pre/RC exemption, per U5) · scripts/objectui-changeset-digest.mjs (reads .changeset/pre.json, and its self-test fixtures write {"mode":"pre","tag":"rc"}) · scripts/check-empty-changeset.mjs (only if U1 measured exact coverage; the default is that this gate stays) · .github/workflows/cut-rc.yml (the enforced allowlist and the prose describing v2 semantics) · .github/workflows/pr-automation.yml (prose referencing pre.json behaviour and #4898).
Non-negotiable
The allowlist follows the measurement, never the reverse. If a v3 changeset version produces a file set cut-rc.yml would reject, the allowlist is updated to the measured truth — you do not massage the tool's output to fit a list written under v2.
A self-test that still asserts v2 semantics is a failed run, not a passing one. Every touched script's --self-test must model v3 and pass.
Perform no release. No changeset publish, no version tags, no release-workflow dispatch, no merging of a Version Packages PR, and no pre-mode transition on origin. Releases are human-only here and this card does not change that.
Every touched script's --self-test passes and models v3; gates re-derived for the actual diff with node scripts/pm/dispatch-gates.mjs and run.
Changeset decision stated and justified: a root devDependency change reaches no consumer, so skip-changeset may be correct here — decide from the diff and say why.
pnpm changeset, changeset status and a dry pnpm run version all exercised after the change, with output quoted.
Sub-issue of #9465.
Blocked-by: #9497
Do not start before #9497's measurements are on #9465. The scope of this card is those measurements; starting early means writing the migration against a guessed shape, which is the failure this epic is structured to avoid.
Ruling — one PR, not a sequence
Both half-states are broken, and each is broken silently until the next release:
cut-rc.ymlstill model v2's pre-mode semantics;.changeset/pre/while v2 never creates it.So this PR carries
@changesets/cli: ^3.0.0in the rootpackage.jsonand every consequential change. #9217 (Dependabot's raw bump) closes itself oncemaincarries^3.0.0.Expected surface — re-derive it from #9497's verdicts, do not copy this list
package.json(the bump; and theversionscript is a&&chain —changeset version && sync-protocol-version.mjs && sync-template-versions.mjs && sync-docs-image-tags.mjs— so v3's exit-1 behaviour reaches all of it) ·.changeset/config.json($schema,privatePackagesper U4, the experimental key per U2) ·scripts/check-changeset-no-major.mjs(the pre/RC exemption, per U5) ·scripts/objectui-changeset-digest.mjs(reads.changeset/pre.json, and its self-test fixtures write{"mode":"pre","tag":"rc"}) ·scripts/check-empty-changeset.mjs(only if U1 measured exact coverage; the default is that this gate stays) ·.github/workflows/cut-rc.yml(the enforced allowlist and the prose describing v2 semantics) ·.github/workflows/pr-automation.yml(prose referencing pre.json behaviour and #4898).Non-negotiable
changeset versionproduces a file setcut-rc.ymlwould reject, the allowlist is updated to the measured truth — you do not massage the tool's output to fit a list written under v2.--self-testmust model v3 and pass.changeset publish, no version tags, no release-workflow dispatch, no merging of a Version Packages PR, and no pre-mode transition onorigin. Releases are human-only here and this card does not change that.Acceptance
Fixes #<this card>, carrying the bump and every consequential change together.--self-testpasses and models v3; gates re-derived for the actual diff withnode scripts/pm/dispatch-gates.mjsand run.skip-changesetmay be correct here — decide from the diff and say why.pnpm changeset,changeset statusand a drypnpm run versionall exercised after the change, with output quoted.