维护者 2026-08-23 裁决(发版现场,原文):「A:先修烟测再发(推荐)」。skills 席 session 757f0dc0-5dae-51d7-9053-c15c57ebfe3b 立卡即派发。本卡阻塞 17.2.0 发版,最高优先。
实测(run 32622283383,job Packed-tarball smoke (release candidate))
[ERR_PNPM_NO_MATCHING_VERSION] No matching version found for create-objectstack@17.2.0
This error happened while installing the dependencies of @objectstack/cli@17.2.0
The latest release of create-objectstack is "17.1.0".
三个已核事实:
- 钉表按作用域构造(publish-smoke.yml:17 自述「@objectstack/* to the tarballs via the project's own pnpm [overrides]」)——无作用域的
create-objectstack 不被打包/钉住,pnpm 对它落回 registry,17.2.0 未发布 → 必红(鸡生蛋)。 - 该依赖是本轮新增:npm 上
@objectstack/cli@17.1.0 的 dependencies 无 create-objectstack(registry 实测),所以既往发版烟测从未踩到。 - 候选本身健康:create-objectstack 在 69 包 fixed 组、
private:false,17.2.0 与 cli 同批发布——这是烟测盲区,非发布缺陷。
修法
scripts/publish-smoke-pack.mjs(+ 必要时 scripts/publish-smoke.sh / publish-smoke.yml):tarball 打包集与 override 钉表从可发布集派生——workspace 成员 ∧ private:false(或等价地从 .changeset/config.json 的 fixed 组读,择一并论证哪个是真源头),⛔ 不再用 @objectstack/* 作用域过滤,⛔ 不加手写名单——下一个无作用域包不得重蹈。派生处加断言:钉表集合 ≡ 可发布集(双向),缺一员即红并点名。
验证要求
- 本地复现先行:在 17.2.0 候选树上跑现钉表构造,证明 create-objectstack 缺席;修后同一构造包含它,并且本地跑通烟测安装段(pack 全集 + 脚手架安装,能跑多远跑多远,跑不动的部分说明并留给 CI);
- 若脚本带 self-test,扩自测钉住「无作用域包在集合内」与「集合≡可发布集」两个方向;
dispatch-gates 派生并跑全族;check-governed-merges --test 判落地类(scripts/** + workflows 预期普通面);changeset 按门的处方(scripts-only 预期 skip-changeset);- PR 正文附:失败 run 链接、修前/修后钉表集合差、以及给发版现场的一句话——合并后如何再触发一轮烟测拿真绿(读 publish-smoke.yml 的触发器写清楚)。
时序
本卡合并 → 重跑烟测真绿 → 维护者合 #10183(17.2.0)→ 批准 release 环境。#10183 无需重刷(本卡 scripts-only,不进发布集)。
维护者 2026-08-23 裁决(发版现场,原文):「A:先修烟测再发(推荐)」。skills 席 session
757f0dc0-5dae-51d7-9053-c15c57ebfe3b立卡即派发。本卡阻塞 17.2.0 发版,最高优先。实测(run
32622283383,jobPacked-tarball smoke (release candidate))三个已核事实:
create-objectstack不被打包/钉住,pnpm 对它落回 registry,17.2.0 未发布 → 必红(鸡生蛋)。@objectstack/cli@17.1.0的 dependencies 无 create-objectstack(registry 实测),所以既往发版烟测从未踩到。private:false,17.2.0 与 cli 同批发布——这是烟测盲区,非发布缺陷。修法
scripts/publish-smoke-pack.mjs(+ 必要时scripts/publish-smoke.sh/ publish-smoke.yml):tarball 打包集与 override 钉表从可发布集派生——workspace 成员 ∧private:false(或等价地从.changeset/config.json的 fixed 组读,择一并论证哪个是真源头),⛔ 不再用@objectstack/*作用域过滤,⛔ 不加手写名单——下一个无作用域包不得重蹈。派生处加断言:钉表集合 ≡ 可发布集(双向),缺一员即红并点名。验证要求
dispatch-gates派生并跑全族;check-governed-merges --test判落地类(scripts/** + workflows 预期普通面);changeset 按门的处方(scripts-only 预期 skip-changeset);时序
本卡合并 → 重跑烟测真绿 → 维护者合 #10183(17.2.0)→ 批准 release 环境。#10183 无需重刷(本卡 scripts-only,不进发布集)。