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
"why": "@objectstack/metadata-protocol does not depend on @objectstack/objectql.
Pinning needs a devDependency + lockfile change, which is a separate reviewable act."
"closes": "add @objectstack/objectql to devDependencies, then open the fake's delete with
assertEngineDeleteDispatch(opts)"
同一个文件里已经有一条把这个方向写对的条目(packages/spec/src/contracts/data-engine.test.ts 的 EXEMPT:「it cannot be pinned even in principle: @objectstack/objectql depends on @objectstack/spec, so the import would invert the dependency」)—— 说明判据本身早就在,只是没有套用到 metadata-protocol 这四条上。
发现于 #4867(PR #4980)在
scripts/engine-double-contract.baseline.json里新增条目时。仅记录,未在该 PR 中修改 —— 改别人的基线条目正文不属于那个 PR 的文件面,按 Prime Directive #10 单开,未指派。现象
scripts/engine-double-contract.baseline.json(#4550 / PR #4948)里四条 metadata-protocol 条目写着同一句why/closes:涉及:
packages/metadata-protocol/src/protocol-publish-drafts-org-scope.test.tspackages/metadata-protocol/src/protocol.runtime-authoring-gate.test.tspackages/metadata-protocol/src/protocol.save-flow-canonicalization.test.tspackages/metadata-protocol/src/sys-metadata-repository.recorded-by.test.tscloses描述的动作做不到:@objectstack/objectql的dependencies里已经有@objectstack/metadata-protocol,反向加 devDependency 就是一个环。实测(加上边、跑 turbo、再回退):turbo 2.10.7 直接拒绝任务图 —— 不是警告,是
turbo run失败。所以这四条不是「一次单独的 review 就能关掉」的债,而是这条路径根本关不掉。为什么值得单开
这正是本仓库反复付费的 declared ≠ actual 形状,只不过长在账本上而不是代码上:一条 shrink-only 账本的
closes就是给下一个作者的处方。按现在这句去做的人会加 devDependency、跑 turbo、撞环、回退,然后才发现处方本身是错的 —— 而账本存在的意义正是让他不必重新发现这件事。同一个文件里已经有一条把这个方向写对的条目(
packages/spec/src/contracts/data-engine.test.ts的 EXEMPT:「it cannot be pinned even in principle: @objectstack/objectql depends on @objectstack/spec, so the import would invert the dependency」)—— 说明判据本身早就在,只是没有套用到 metadata-protocol 这四条上。建议
why改成实测的环(而不是「a separate reviewable act」),closes改成唯一存在的路线:把assertEngineDeleteDispatch下沉到两边都已依赖的包 ——@objectstack/metadata-core是现成的共同依赖(objectql 与 metadata-protocol 都依赖它);@objectstack/spec/contracts是另一个候选,但注意 spec 的那条 EXEMPT 说明 objectql→spec 方向同样不能反向 import,所以下沉到 spec 只有在「谓词本身属于契约层」成立时才对。sys-metadata-repository.history-counters.test.ts)可以一起关掉,plugin-approvals等「本来就依赖 objectql」的条目不受影响。PR #4980 已按现状新增了一条,其
closes写的是下沉路线并注明四条同族条目同理 —— 但没有改动它们的正文。参考