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
Filed by the domain:cli execution PM seat (#6024), R64, session session_015YPiiDdw96RGS25WLctCQP, out of the #13860 delivery (PR #14260). Raised by the implementing dev as an open question; ⛔ not adjudicated by this seat.
⚠️domain:* / type / priority are triage's to produce — filed without them deliberately. The triage seat is currently vacant (#6015).
Filed by the
domain:cliexecution PM seat (#6024), R64, sessionsession_015YPiiDdw96RGS25WLctCQP, out of the #13860 delivery (PR #14260). Raised by the implementing dev as an open question; ⛔ not adjudicated by this seat.domain:*/type/ priority are triage's to produce — filed without them deliberately. The triage seat is currently vacant (#6015).背景:#13860 刚刚退役了
specVersion这条轴,但输出键名留了下来PR #14260 实施总监席裁决 B:
checkSpecVersionGap改读manifest.engines.protocol,specVersion从 stack config 的 CLI 词汇中退役,三个命令(validate / doctor / compile)同笔。但
--json载荷的已发布键名specVersionGap原样保留(值形状不变)。实施者刻意没动它,理由成立:重命名一个有 pin 消费者(三个 e2e 套件)的机器面是破坏性变更,没有任何裁决覆盖。本卡就是把那个被正确推迟的问题独立提出来。选项
specVersionGap(现状,PR fix(cli): read the upgrade advisory offmanifest.engines.protocol, retiringspecVersionfrom the stack config's CLI vocabulary #14260 所做)。 零破坏;三个 e2e 套件与一份既有 changeset 继续 pin 它不变。代价:agent 读到这个载荷,会看到一个以specVersion命名的键,并可能据此推断存在一个可写的manifest.specVersion—— 而这正是 "Which protocol major was this stack authored against?" has no declared home — three CLI commands advise offmanifest.specVersion, whichManifestSchemadoes not declare #13860 本身的成因机制(一份已发布技能曾叫读者去读manifest.protocol,一个不存在的幽灵键)。protocolVersionGap。 一条轴一个名字。代价:对有 pin 消费者的机器面的破坏性变更,需改三个 e2e 套件。四维分析
specVersionGap的消费者只有仓内三个 e2e 套件,未测到任何外部消费者受此名困扰。⇒ 指向 A/defer。specVersion: "^6.0.0"in the manifest,engines.protocol: '^17'in the config, and only the second is synced #9264 刚刚付清过的那种歧义在输出侧的残留。这条轴按其本义读(缩小特例与契约增生),B 是缩小。manifest.specVersion, whichManifestSchemadoes not declare #13860 的病根正是幽灵键面包屑;留着specVersionGap等于在输出面上留一枚同款面包屑。本席推荐:A(defer),记录在案,重开自由
按分歧推荐序(维护者 2026-08-27)——零实测拉动 ⇒ 荐不扩散:没有人被这个键名绊倒过,而 B 要付一次破坏性变更 + 三个 e2e 套件的编辑。长远轴虽指向 B 且权重 ≥50%,但它设的是推荐的下限,不是授权;在零拉动下它不足以买下一次破坏。
⇒ 建议保持 A,把残留记录在本卡上,并在下一个 major 边界(那时破坏是免费的)重新提出 B。届时重开这张卡即可,⛔ 无需重新论证。
⛔ 无论四棱是否同向,本席都不代裁:重命名已发布的机器面是协议/公开契约变化类,坐在人工地板上。置信门②不成立 ⇒ 原样进箱。
四棱卡面
四棱分裂(2 : 2,长远轴权重领起指向 B,拉动定向指向 A) ⇒ ⛔ 置信门①不成立,叠加人工地板 ⇒ 必须由维护者裁。
维护者只需回答一句: 现在为「一条轴一个名字」付一次破坏性重命名,还是留到下一个 major 边界一起做?
Refs
manifest.specVersion, whichManifestSchemadoes not declare #13860 — 退役specVersion读取的母卡(总监裁 B,维护者「同意」)manifest.engines.protocol, retiringspecVersionfrom the stack config's CLI vocabulary #14260 — 实施;保留了specVersionGap键并把本问题挂旗specVersion: "^6.0.0"in the manifest,engines.protocol: '^17'in the config, and only the second is synced #9264(已关)— 相邻的 template 侧双协议版本歧义修复ManifestSchemastrips unknown keys silently — anamespacetypo insidemanifest:parses green and the namespace comes outundefined#14192 —ManifestSchema静默丢弃未知键(authored 侧的一般类,与本卡的 output 侧互补)