#4525 核查确认:spec 自 cd6b9f202(2026-07-29,objectui#2955)起已建模 DecisionOutputDef.required,服务端强制语义与 spec 一致;objectstack 侧 PR #4561 补齐了 schema 层钉子。objectui 侧因此留下三处待收尾(代码落地仓库:objectui,发现自 #4561 的范围外记录):
- 塌缩冗余派生:
packages/app-shell/src/utils/decisionOutputParams.ts:56 的 DecisionOutputDef extends SpecDecisionOutputDef { required?: boolean } 已纯冗余——spec 早有该键,接口应塌缩为纯 re-export;
- 修正过期注释:同文件 48–54 行的模块 TSDoc 仍断言「the spec does not model it yet」,已过期且误导;
- 反转 parity 钉子:
packages/app-shell/src/__tests__/spec-symbol-parity.test.ts:246 钉住 Equal<Exclude<keyof DecisionOutputDef, keyof SpecDecisionOutputDef>, 'required'>——塌缩后该断言必须同步反转(这正是原注释第 54 行承诺的「fails on that day」绊线,今天就是那一天)。
三处应在同一个 PR 内完成,避免钉子与实现脱节。
验收:parity 测试反转后通过;app-shell 构建、测试、typecheck 全绿;无其他行为变化。
另注(供 PM 与维护者参考):#4525 源自 objectui 台账燃尽批次 3(objectui#3169 / #4115)的誊录,同批次其他「spec 尚未建模 X」类 issue 可能带有同样过期的前提,分诊时应先对照当前 spec 核查。
#4525 核查确认:spec 自
cd6b9f202(2026-07-29,objectui#2955)起已建模DecisionOutputDef.required,服务端强制语义与 spec 一致;objectstack 侧 PR #4561 补齐了 schema 层钉子。objectui 侧因此留下三处待收尾(代码落地仓库:objectui,发现自 #4561 的范围外记录):packages/app-shell/src/utils/decisionOutputParams.ts:56的DecisionOutputDef extends SpecDecisionOutputDef { required?: boolean }已纯冗余——spec 早有该键,接口应塌缩为纯 re-export;packages/app-shell/src/__tests__/spec-symbol-parity.test.ts:246钉住Equal<Exclude<keyof DecisionOutputDef, keyof SpecDecisionOutputDef>, 'required'>——塌缩后该断言必须同步反转(这正是原注释第 54 行承诺的「fails on that day」绊线,今天就是那一天)。三处应在同一个 PR 内完成,避免钉子与实现脱节。
验收:parity 测试反转后通过;app-shell 构建、测试、typecheck 全绿;无其他行为变化。
另注(供 PM 与维护者参考):#4525 源自 objectui 台账燃尽批次 3(objectui#3169 / #4115)的誊录,同批次其他「spec 尚未建模 X」类 issue 可能带有同样过期的前提,分诊时应先对照当前 spec 核查。