Ruled: 6028832449 · letter A · 2026-10-07T01:26Z
Filing gate: ② a decision only the maintainer can make. Filed by the triage seat (objectstack-wide, seat post #6015, session_01AavokzJ5DndAwitDXvKy4U) on the maintainer's instruction 「需要我决裁的问题,立决策卡」. ⛔ Not a claim. Once ruled, the ruling is recorded on this card and on the parent, and this card closes.
Parent: #21980 (p2 security, in flight; the claim stands). The ruling being read is 6020103367 (batch #282 item 1, decision card #22004, pointer 6020226416). The seat's question is 6021658627; the dev's report is 6021602255. Classes, positions and functions only.
维护者速读
上次你裁 A 时附了一个合入条件:在"不分环境"的运行方式下,不指定包、按名称读取两个包共用的名字,改动后必须和改动前一样,返回属主包发布的那一份,绝不能返回空。
开发在两种内核、两种注册顺序下各读了三次,加起来测了 72 次读取:
推荐 A。回一个字母:A / B。
四棱(os-decision-facets)
Prior rulings read: view container, by-name read, overlay order. Read: ruling 6020103367 (#22004); ADR-0005 (environment → code layered resolution: a stored layer of a name wins); #21967's no-package "any expansion" reading. Thread: #21980 6021602255, 6021658627. ⛔ No prior ruling answers the wording question; it is about the ruling's own text.
一句话问题
裁决附带的合入条件写的是"返回属主包发布的那一份",但它要防的是"返回空"。实测从不返回空,但也不总是返回属主那一份,而且改动前同样不是。条件算不算满足?
选项 × 代价
| 选项 |
做什么 |
代价 |
| A |
条件视为满足,合入 PR #22023(Clause-②: no (narrowing),minor changeset 加 BREAKING 行) |
改动前属主先注册的那些格子里,答案从属主发布的那份变成存储副本(ADR-0005 顺序);返回内容里的包标识错位由 #22024 单独修 |
| B |
PR 暂不合入,先让不指定包的按名读取改为属主优先 |
新范围,要另立裁决;安全修复和最后一个 17.x 一起推迟;与 ADR-0005 层叠顺序相反 |
推荐 + 回退 + 置信缺口
裁后执行
Ruled: 6028832449 · letter A · 2026-10-07T01:26Z
Filing gate: ② a decision only the maintainer can make. Filed by the triage seat (objectstack-wide, seat post #6015,
session_01AavokzJ5DndAwitDXvKy4U) on the maintainer's instruction 「需要我决裁的问题,立决策卡」. ⛔ Not a claim. Once ruled, the ruling is recorded on this card and on the parent, and this card closes.Parent: #21980 (p2 security, in flight; the claim stands). The ruling being read is
6020103367(batch #282 item 1, decision card #22004, pointer6020226416). The seat's question is6021658627; the dev's report is6021602255. Classes, positions and functions only.维护者速读
上次你裁 A 时附了一个合入条件:在"不分环境"的运行方式下,不指定包、按名称读取两个包共用的名字,改动后必须和改动前一样,返回属主包发布的那一份,绝不能返回空。
开发在两种内核、两种注册顺序下各读了三次,加起来测了 72 次读取:
一次都没有返回空,停止条件没有触发。你担心的那一行水合改动对这次读取没有影响。
但"返回属主包那一份"这句话,在改动前就不成立。 改动前返回哪一份取决于注册顺序。改动后统一返回存储的副本:存储覆盖层优先,这是 ADR-0005 的读取顺序,也是本卡方向本身带来的结果。
A:条件按"不能返回空"理解,已经满足。合入 PR fix(metadata-protocol)!: a package's stored copy of a container it ships overlays its shipped views, so a withdrawal saved in the copy holds at the anonymous form doors #22023,放进最后一个 17.x。返回内容里带错包标识的问题由 finding(metadata-protocol): getMetaItem naming no package grafts the first-registered package's artifact envelope onto another package's served view expansion, so a no-package by-name read can carry the wrong _packageId #22024 单独处理。
B:条件按字面理解,必须返回属主包那一份。PR 先不合,需要再改"不指定包时的按名读取规则",这超出了上次裁决的范围。
推荐 A。回一个字母:A / B。
四棱(os-decision-facets)
Prior rulings read: view container, by-name read, overlay order. Read: ruling
6020103367(#22004); ADR-0005 (environment → code layered resolution: a stored layer of a name wins); #21967's no-package "any expansion" reading. Thread: #219806021602255,6021658627. ⛔ No prior ruling answers the wording question; it is about the ruling's own text.一句话问题
裁决附带的合入条件写的是"返回属主包发布的那一份",但它要防的是"返回空"。实测从不返回空,但也不总是返回属主那一份,而且改动前同样不是。条件算不算满足?
选项 × 代价
Clause-②: no (narrowing),minorchangeset 加 BREAKING 行)推荐 + 回退 + 置信缺口
裁后执行
domain:engine席位让 PR fix(metadata-protocol)!: a package's stored copy of a container it ships overlays its shipped views, so a withdrawal saved in the copy holds at the anonymous form doors #22023 走完 CI 后合入。分诊把 finding(metadata-protocol): getMetaItem naming no package grafts the first-registered package's artifact envelope onto another package's served view expansion, so a no-package by-name read can carry the wrong _packageId #22024 按它自己的卡分诊。