这是什么
spec 车道(session session_01Ehu85kbvMcrNTUJjwxvLJ9)按维护者 2026-08-04 指示切出的整包移交 :协议工具链、门禁加固与配套 docs 修,共 14 单 。目标是把 spec 车道的开发席 100% 留给 v17 切版链,同时让门禁债并行清掉。仿 #5040 (B 包/执行器)先例:包边界以本卡清单为准,标签只是查询辅助 。
选单口径
label:domain:spec-tooling + 本卡清单。这 14 单已从 domain:spec 摘出、换挂 domain:spec-tooling,两条车道查询天然不相交。
门禁加固(7)
packages/spec 的「编译期 pin」是失效的:tsconfig 排除了 *.test.ts,vitest 也不做类型检查 #4642 spec 的「编译期 pin」失效(tsconfig 排除 *.test.ts,vitest 不做类型检查)
build-schemas.ts 检查 (b) 用叶名匹配 conversion surface —— 无关簇的 .type 就能让一个 tombstone 冒充「已登记迁移」 #4659 build-schemas.ts 检查 (b) 叶名匹配可被无关簇冒充「已登记迁移」
authorable-surface.json 在 main 上不是 gen:schema 的输出 —— 基线手编的字节级实锤(#4650 加固建议) #4663 authorable-surface.json 手编实锤 → 建字节级 round-trip 门(JSON.stringify(gen(), null, 2) 逐字节相等)
check:react-declaration-parity 是唯一没接进任何 workflow 的源码审计门禁,且无 MANIFEST 时静默 skip 退出 0 —— 它现在永远不可能红 #4690 check:react-declaration-parity 没接进任何 workflow,无 MANIFEST 静默 skip 退出 0
build-docs.ts 的 schema→页面索引按「裸名字」全局建表,同名跨 category 的 schema 会被归到错误的页面 #4696 build-docs.ts 按裸名建 schema→页面索引,同名跨 category 归错页
check:docs 的第一步是 gen:schema —— 修好 #4711 之后,「检查改工作区」仍从这里漏进来 #4723 check:docs 第一步 gen:schema 改工作区(check:authorable-surface 在 --check 模式下仍会写 json-schema.manifest.json —— 一个「检查」在改工作区 #4711 的残洞)
json-schema.manifest.json 的「deliberate removal」删行仍是纪律而非门禁 —— #4650 的同类洞,上移一层(整 schema 级) #4725 json-schema.manifest.json 「deliberate removal」删行仍是纪律非门禁(authorable-surface 的 tombstone 门禁可被手编基线绕过 —— 删掉基线行就删掉了证据(#4638 / #4643 已两次这样过绿) #4650 同类洞上移整 schema 级)
生成/报错工具(4)
docs 修(3)
协议影响与发布窗口定性(维护者 2026-08-04 问询后补记)
明确除外(满足 tooling 查询但不在 本包,留 spec 车道)
边界与协作规则
文件面 :scripts/**、packages/spec/scripts/**、packages/lint/**、content/docs/**(⛔ 除 content/docs/releases/)。不碰 packages/spec/src/**/*.zod.ts 与 docs/audits/2026-07-unknown-key-strictness-ledger.md (strictness 台账)—— 那是 spec 车道单一所有者面;若某单的修复确需动 zod 文件,先到本卡留言,由 spec 车道协调串行。
无 v17 耦合 :本包没有一单卡 v17 切版;不需要 target:* 标签,不受 changeset pre 窗口约束。
接收流程 :接手 PM 在 [PM] 分片分工登记表 — 谁在管哪个仓库的队列 #4604 登记(会话 ID + 本卡编号 + 域标签 spec-tooling),然后按标准认领协议逐单派发(assign + 会话 ID/分支 claim 评论,worktree-first)。
spec 车道自本卡立起停派这 14 单 ;它们在 pm:queue 待新 PM。若 48h 无人登记接收,spec 车道恢复按空位插派并撤销本卡。
建议起手顺序
升级体验优先 :#4971 (union 拒绝散文)→ #4990 (camelCase did-you-mean)→ #4749 (退役处方过时)→ #4912 (reference 页词表)—— 四单都小,卡 v17.0 GA 节奏先落。
门禁组随后:#4663 (字节级门,最小)→ #4725 /#4723 (生成检查闭环)→ #4690 (接进 workflow)→ #5056 (BFS 误报)→ 其余按容量。
注:此为价值排序,非窗口约束 —— 全包均非破坏性,任何 17.x 可发。
(spec 车道 PM 立卡,session session_01Ehu85kbvMcrNTUJjwxvLJ9)
这是什么
spec 车道(session
session_01Ehu85kbvMcrNTUJjwxvLJ9)按维护者 2026-08-04 指示切出的整包移交:协议工具链、门禁加固与配套 docs 修,共 14 单。目标是把 spec 车道的开发席 100% 留给 v17 切版链,同时让门禁债并行清掉。仿 #5040(B 包/执行器)先例:包边界以本卡清单为准,标签只是查询辅助。选单口径
label:domain:spec-tooling+ 本卡清单。这 14 单已从domain:spec摘出、换挂domain:spec-tooling,两条车道查询天然不相交。门禁加固(7)
.type就能让一个 tombstone 冒充「已登记迁移」 #4659 build-schemas.ts 检查 (b) 叶名匹配可被无关簇冒充「已登记迁移」authorable-surface.json在 main 上不是gen:schema的输出 —— 基线手编的字节级实锤(#4650 加固建议) #4663authorable-surface.json手编实锤 → 建字节级 round-trip 门(JSON.stringify(gen(), null, 2)逐字节相等)check:docs的第一步是gen:schema—— 修好 #4711 之后,「检查改工作区」仍从这里漏进来 #4723check:docs第一步gen:schema改工作区(check:authorable-surface在 --check 模式下仍会写json-schema.manifest.json—— 一个「检查」在改工作区 #4711 的残洞)生成/报错工具(4)
Record<string, any>[],抹掉已声明键 —— #4001 战役每个 open 分类站点都会复发 #4912 gen:docs 把数组内 passthrough 对象渲染成Record<string, any>[],抹掉已声明键.describe()共享 def 对象,任意单属性 bridge 把无关形状连起来 #5056 未知键静默剥离仍是全仓默认:把 #3405 的 strict 收紧从一个 schema 推广到整个可授权面(ADR-0078 完整性闸门) #4001 门测量 BFS 误报「可达」:zod.describe()共享 def 对象,单属性 bridge 连通无关形状docs 修(3)
areas」 #4749 AREA_REQUIRED_PERMISSIONS_RETIRED 处方在 filterAppForUser 只走 app 顶层 navigation —— areas[] 里的 nav 项权限过滤仅客户端生效(#4651 移除假闸门后剩下的真缺口) #4722 后过时content/docs/references/index.mdx根索引表被生成器「保留不重生」,已烂尾(列着 #4499 已删的 trigger-registry.zod.ts、幽灵 schema 名),#4738 后再 +1 行 #4759content/docs/references/index.mdx根索引表烂尾(references/,不是releases/—— ⛔content/docs/releases/任何 PR 都不许碰)协议影响与发布窗口定性(维护者 2026-08-04 问询后补记)
target:*标签,不受 changeset pre 窗口约束,17.0.1 / 17.1 任何时点可发。areas」 #4749 / gen:docs 把数组内的 passthrough 对象渲染成Record<string, any>[],抹掉已声明键 —— #4001 战役每个 open 分类站点都会复发 #4912 决定客户升级 v17 撞上严格化拒绝时看到什么(报错散文、did-you-mean、退役处方、reference 词表),建议卡着 v17.0 GA 节奏优先;其余 10 单客户无感,纯内部债。明确除外(满足
tooling查询但不在本包,留 spec 车道)strictObject(...).passthrough()读成 strict ——postureOf()在 helper 惯用法上提前返回、不走链 #5072(AST 计数器误读strictObject().passthrough())—— 搭 strictness 台账「数字/散文分家」:计数与表头转生成物走 os-regen,Class 判定与依据保持手写 —— 终结「干净合并两边都错」(单日 7 例) #5107 的车,同一文件面PageComponent.properties是开放 record,ComponentPropsMap的 29 个站点从不被 parse(#4001 批 17 的 no gate 判定) #5068(SDUI props 闸门)——needs-user-decision决策位,非执行单边界与协作规则
scripts/**、packages/spec/scripts/**、packages/lint/**、content/docs/**(⛔ 除content/docs/releases/)。不碰packages/spec/src/**/*.zod.ts与docs/audits/2026-07-unknown-key-strictness-ledger.md(strictness 台账)—— 那是 spec 车道单一所有者面;若某单的修复确需动 zod 文件,先到本卡留言,由 spec 车道协调串行。target:*标签,不受 changeset pre 窗口约束。spec-tooling),然后按标准认领协议逐单派发(assign + 会话 ID/分支 claim 评论,worktree-first)。pm:queue待新 PM。若 48h 无人登记接收,spec 车道恢复按空位插派并撤销本卡。建议起手顺序
升级体验优先:#4971(union 拒绝散文)→ #4990(camelCase did-you-mean)→ #4749(退役处方过时)→ #4912(reference 页词表)—— 四单都小,卡 v17.0 GA 节奏先落。
门禁组随后:#4663(字节级门,最小)→ #4725/#4723(生成检查闭环)→ #4690(接进 workflow)→ #5056(BFS 误报)→ 其余按容量。
注:此为价值排序,非窗口约束 —— 全包均非破坏性,任何 17.x 可发。
(spec 车道 PM 立卡,session
session_01Ehu85kbvMcrNTUJjwxvLJ9)