Filed by the domain:cli 执行 PM 席位(#6024),会话 session_01TvqBFLRzXdSPcbusDoED9k,未认领,⛔ 未定级为紧急。测量由 #13260 的 dev 在 PR #13369 中做出并正确地没有自行立卡(它属于修复卡的范围输入,⛔ 不是一张竞争卡);本席把它记成独立 finding,免得它只活在一条 agent 报告里。
事实
packages/qa/dogfood/test/authz-conformance.test.ts 的 PROBES 表点名了 packages/runtime/src/domains/ 下的 4 个文件:actions.ts、automation.ts、packages.ts、mcp.ts。
实测该目录:17 个文件,其中 15 个声明了 DomainRoute prefix。⇒ 另外 13 个(ai、analytics、auth、data、i18n、keys、meta、notifications、security、share-links、ui 等)完全落在探针表之外。
⭐ 为什么它是一条独立的 finding,而不是 #13260 的重复
#13260 量的是:一个被点名的文件,它的探针能伸多远(rest-server.ts 17 个 registrar 里只够得到 1 个)。
本条量的是上一层:这张表根本点名了哪些文件。
⇒ 两者是同一个缺陷的两层,⛔ 但修复动作不同:
⚠️ 并且它有一个 #13260 那层没有的性质:一个从未被点名的文件,不会产生任何信号 —— 没有 STALE,没有 UNCLASSIFIED,没有键。⇒ ⛔ 它的缺席在结构上不可观测,这正是 #13260 的 dev 在 hono-plugin.ts 上量到的那条死探针能沉默七个月的同一个机制。
⇒ 它是修复卡的范围输入,不是一张要单独修的卡
⛔ 建议不要单独派发本卡去"把 13 个文件加进表里"。理由是 PR #13369 记录的另一条读数:
packages/rest/src/rest-route-ledger.ts 持有 94 行审计过的行,覆盖 @objectstack/rest 挂载的每一条路由,经 RestServer.getRoutes() 运行时枚举,并由 rest-route-ledger.conformance.test.ts 守护(实测绿,7/7);packages/runtime/src/route-ledger.ts 对 dispatcher 做同样的事,80 行。
⇒ authz 棘轮的路由 population 是一张正则表,够得到 17 个 registrar 里的 1 个;而一份完整的、运行时导出的、已经有人守着的同一批路由的枚举就在隔壁包里。⭐ 修复的正确起点很可能是换 population 来源,⛔ 而不是把正则加宽、也不是把 13 个文件手工补进表里 —— 后两者都会在下一次有人加文件时重新腐烂。
⚠️ 明确不主张的
⛔ 本条不主张那 13 个文件里任何一条路由未受保护。路由级执行大多在 handler 内(enforceAuth / shouldDenyAnonymous / 逐对象权限检查),本条完全没有测。被主张的是棘轮看不见它们 —— 这是一个保证缺陷,⛔ 不是一次突破。
去重申报
⚠️ 本席无法可靠去重:MCP search_issues 正在返回假零(#13326,priority:p1,三个席位两个仓复现,且会话中途退化)。⇒ 本卡的"没有重复"是 NOT MEASURED,⛔ 不是一个零读数。若已有同形状的卡,请合并本卡并在此留痕。
Refs
⚠️ 本卡正文被修复过一次
立卡时正文以 --- 水平线 + attribution footer 结尾,平台把从那条线开始的一切都吃掉了,footer 静默丢失。本次更新按实测的修法重写:footer 保留、去掉前面那条规则。机制与五个实例记在 #13384。⛔ 正文内容未作任何其它改动。
Generated by Claude Code
Filed by the
domain:cli执行 PM 席位(#6024),会话session_01TvqBFLRzXdSPcbusDoED9k,未认领,⛔ 未定级为紧急。测量由 #13260 的 dev 在 PR #13369 中做出并正确地没有自行立卡(它属于修复卡的范围输入,⛔ 不是一张竞争卡);本席把它记成独立 finding,免得它只活在一条 agent 报告里。事实
packages/qa/dogfood/test/authz-conformance.test.ts的PROBES表点名了packages/runtime/src/domains/下的 4 个文件:actions.ts、automation.ts、packages.ts、mcp.ts。实测该目录:17 个文件,其中 15 个声明了
DomainRouteprefix。⇒ 另外 13 个(ai、analytics、auth、data、i18n、keys、meta、notifications、security、share-links、ui等)完全落在探针表之外。⭐ 为什么它是一条独立的 finding,而不是 #13260 的重复
#13260 量的是:一个被点名的文件,它的探针能伸多远(
rest-server.ts17 个 registrar 里只够得到 1 个)。本条量的是上一层:这张表根本点名了哪些文件。
⇒ 两者是同一个缺陷的两层,⛔ 但修复动作不同:
discover()reaches 1 of 17 route registrars in rest-server.ts — the ratchet's route-completeness guarantee is false for 66 of 85 mounted routes #13260 的那层,修法是"让一个已点名文件的探针覆盖它的全部入口";hono-plugin.ts上量到的那条死探针能沉默七个月的同一个机制。⇒ 它是修复卡的范围输入,不是一张要单独修的卡
⛔ 建议不要单独派发本卡去"把 13 个文件加进表里"。理由是 PR #13369 记录的另一条读数:
⇒ authz 棘轮的路由 population 是一张正则表,够得到 17 个 registrar 里的 1 个;而一份完整的、运行时导出的、已经有人守着的同一批路由的枚举就在隔壁包里。⭐ 修复的正确起点很可能是换 population 来源,⛔ 而不是把正则加宽、也不是把 13 个文件手工补进表里 —— 后两者都会在下一次有人加文件时重新腐烂。
⛔ 本条不主张那 13 个文件里任何一条路由未受保护。路由级执行大多在 handler 内(
enforceAuth/shouldDenyAnonymous/ 逐对象权限检查),本条完全没有测。被主张的是棘轮看不见它们 —— 这是一个保证缺陷,⛔ 不是一次突破。去重申报
search_issues正在返回假零(#13326,priority:p1,三个席位两个仓复现,且会话中途退化)。⇒ 本卡的"没有重复"是 NOT MEASURED,⛔ 不是一个零读数。若已有同形状的卡,请合并本卡并在此留痕。Refs
discover()reaches 1 of 17 route registrars in rest-server.ts — the ratchet's route-completeness guarantee is false for 66 of 85 mounted routes #13260 / PR test(qa): census the authz-conformance probe table's reach across all 11 probe files #13369 —— 探针伸展那一层的普查,以及本条读数的出处GET /api/v1/ui/view/:object/:typeresolves a UI view with no identity resolution and no anonymous-deny at the REST seam #13214 ——registerUiEndpoints那条被走过的路由(仍在等维护者裁,⛔ 本卡不重开、不重判它)立卡时正文以
---水平线 + attribution footer 结尾,平台把从那条线开始的一切都吃掉了,footer 静默丢失。本次更新按实测的修法重写:footer 保留、去掉前面那条规则。机制与五个实例记在 #13384。⛔ 正文内容未作任何其它改动。Generated by Claude Code