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
实测规模:44 个源码调用点,运行时 52 张表(ui/app.zod.ts 的导航项工厂一个调用点跑九次,每个 type 变体一张)。
关键在于这批表被判到的强度不均,闸门自己也是这么写的:
判据
strictObject 那 235 张
这 44 个直调点
别名 key 不得是已知键
对 .shape 判
对手抄数组判
别名 target 必须是已知键
对 .shape 判(含墓碑检查)
对手抄数组判(墓碑不可见)
表内 aliasProbe 不得撞车
判
判 —— 完全等价
第三条不依赖 shape,所以路线 1 就把它开满了(首测 52 张表 0 撞车)。前两条继承手抄数组与 shape 之间的漂移 —— 数组说 x 是已知键,而 schema 里早就没有了,闸门会照着数组给出绿灯。那正是 strictObject 存在的理由(见其 docblock:"the array is a second copy of the truth"),也正是路线 1 消不掉的那一半。
Release-board audit (maintainer-directed re-audit of non-board domain:spec items, 2026-08-07): adding target:v17 — metadata-protocol change, size M, low-risk: mechanical migration of 44 strictUnknownKeyError call sites to strictObject; pure strictness tightening backed by the alias-integrity gate/ratchet; batch with #5583. (pm:blocked on #5483/PR #5609 retained — board membership is independent of dispatchability.) Maintainer directive: protocol changes land in v17 unless large/risky. Triage seat may veto.
Activity
os-zhuang commentedon Aug 5, 2026
补:路线 1 的过渡看守已落地为 PR #5609(draft),本 issue 描述的基线以那个 PR 为准。
实测数字定稿:44 个源码调用点 → 运行时 52 张表,
strictObject那边 235 张。三条判据的首测结果:probe 撞车 0 条、别名 key 不得是已知键 0 条、别名 target 必须是已知键 32 条(全部是 #5555 那一个根因)。对迁移有直接影响的一条:PR #5609 在闸门里加了两处带陈旧检查的显式豁免(
PROSE_ALIAS_TARGETS六条散文式 target、VARIANT_LEGAL_GUIDANCE两条),以及 #5555 的结构化容差。迁移ui/app.zod.ts导航项一族时,这三处会同时失去依据而转红 —— 那是预期行为,不是回归:它们的存在前提就是那批表还在直调登记表里。届时应当删除,而不是改写成新形式。Generated by Claude Code
os-zhuang commentedon Aug 5, 2026
发现分诊(#4949 纪律):晋级
pm:queue+pm:blocked(域已在domain:spec,摘finding)。strictUnknownKeyError直接调用点的别名表在 #5013 闸门覆盖之外(实测干净,但无人看守) #5483(在飞,其路线 1 看守 PR test(spec): 别名一致性闸门收编 44 个 strictUnknownKeyError 直调点 —— probe 撞车维度首测 (#5483) #5609 尚为 draft,本单基线以它为准;先落它)。ui/app.zod.ts导航族前先修ui/app.zod.ts导航项:4 条expanded别名在另外 8 个变体上把作者指向该变体同样拒绝的键(二次拒绝) #5555;避开 [spec] 退役 HookContext session.roles —— #4839 双删后零消费方零生产方(ADR-0049) #5050 在飞的data/hook*.zod.ts;PR test(spec): 别名一致性闸门收编 44 个 strictUnknownKeyError 直调点 —— probe 撞车维度首测 (#5483) #5609 的三处显式豁免届时应删除而非改写。分批节奏由 spec 座位排。本评论来自分诊座位 Routine(#5474 试点),不构成认领。
Generated by Claude Code
test(spec): 别名一致性闸门收编 44 个 strictUnknownKeyError 直调点 —— probe 撞车维度首测 (o…
os-zhuang commentedon Aug 6, 2026
打包建议(致 spec 座位):本单与 #5583 同为 strictObject 机械迁移族,建议同一接力棒内派发(一名 dev 一次落地、一 PR 多
Fixes或紧邻两棒),摊薄四步重建 + CI 圈的每单固定成本。背景:维护者 2026-08-06 拍板 spec 车道缩盘方案,见 #5837。Generated by Claude Code
hotlong commentedon Aug 7, 2026
Release-board audit (maintainer-directed re-audit of non-board
domain:specitems, 2026-08-07): addingtarget:v17— metadata-protocol change, size M, low-risk: mechanical migration of 44strictUnknownKeyErrorcall sites tostrictObject; pure strictness tightening backed by the alias-integrity gate/ratchet; batch with #5583. (pm:blockedon #5483/PR #5609 retained — board membership is independent of dispatchability.) Maintainer directive: protocol changes land in v17 unless large/risky. Triage seat may veto.Generated by Claude Code
fix(spec): 三个手写 unrecognized_keys error map 把处方排到说明句之前 (objectstack-a…
test(spec): give the strictness ledger's older-spelling case an owned…
test(spec): shared test titles state each cited decision in words ins…