由 #12537 的裁决(2026-08-29,维护者,live director session 决策批 #3,verbatim 「同意」)拆出:该卡只记录了「缝普查 = 3 不是 4」这一半,本卡承载它刻意不判的另一半。
事实(承 #12537 的测量,落地前需按其 Re-check 命令复核)
packages/rest/src/rest-server.ts:1483(行号为当时读数):
return this.resolveExecCtx(environmentId, req).catch(() => undefined);
resolveExecCtx 是 private async,其一切 rejection 被吞——解析执行上下文失败时,调用方拿到 undefined,与「本来就没有上下文」不可区分。
要分诊的问题
- 可达性:生产中什么输入能让
resolveExecCtx reject?(坏 environmentId、数据源故障、权限解析异常……)逐类列举并实测,带正控。
- 每类 reject 被降级为
undefined 后,包管理门表现为什么? 匿名化处理?403?500?静默成功?其中有没有「本应 5xx 的服务端故障被伪装成权限拒绝/匿名访问」的组合——那是安全相关的静默降级。
- 若有不当组合:修法是区分「无上下文」与「解析失败」(后者抛出走声明式错误路径),属行为变更,按其时的门禁与条款②判。
⛔ 本卡不预设结论——#12537 刻意未判严重性,本卡的产出是上述测量,测完回分诊定级。
Refs
由 #12537 的裁决(2026-08-29,维护者,live director session 决策批 #3,verbatim 「同意」)拆出:该卡只记录了「缝普查 = 3 不是 4」这一半,本卡承载它刻意不判的另一半。
事实(承 #12537 的测量,落地前需按其 Re-check 命令复核)
packages/rest/src/rest-server.ts:1483(行号为当时读数):resolveExecCtx是private async,其一切 rejection 被吞——解析执行上下文失败时,调用方拿到undefined,与「本来就没有上下文」不可区分。要分诊的问题
resolveExecCtxreject?(坏 environmentId、数据源故障、权限解析异常……)逐类列举并实测,带正控。undefined后,包管理门表现为什么? 匿名化处理?403?500?静默成功?其中有没有「本应 5xx 的服务端故障被伪装成权限拒绝/匿名访问」的组合——那是安全相关的静默降级。⛔ 本卡不预设结论——#12537 刻意未判严重性,本卡的产出是上述测量,测完回分诊定级。
Refs
resolveExecutionContextseam is TEST-ONLY —resolveExecCtxisprivate asyncbehind.catch(() => undefined), so no production throw leaves it #12537(缝普查纠正,已裁:测试注记 + 表述改正搭 rest-server 顺路车)package-routes'sendThrownErrorresolves aThrownHttpErrorand then drops itsdeclaredCode— the one unfenced nested-envelope call site that already holds a producer spelling #12405 / PR fix(rest): the package door carries the demoted producer code ondeclaredCode(#12405) #12508(把该缝当四分之一驱动的套件)client.reports.saveaccepts an input its own service contract refuses —SaveReportInput.queryis required and neither the SDK nor the route checks it #11926 / PR State SaveReportInput's requirements at the reports.save door #12421(当时锁着该文件的硬串行——落地前核串行是否已释放)