裁决记录
维护者 2026-08-06 于 PM 会话(session_01LeEfA7CFwbJb7JJmXm2KM3)拍板:「分片 + 缩盘子」 。第一层(重分诊外移 / 同族打包 / 决策形单转决策箱)已由该会话逐单留言给分诊与 spec 座位;本 issue 是第二层结构性修复的落地载体。先立此存照,防「裁决只在会话里」的过夜半状态。
问题:串行税的真正强制点在 GitHub 服务端,不在 os-regen 驱动
方案:三个热点文件按 category 分片
authorable-surface.json / json-schema.manifest.json / api-surface.json 的内容都是 "ai/AIModelConfig:maxTokens" 这类按前缀天然分组的排序字符串——按 category 拆成 authorable-surface/ai.json、authorable-surface/flow.json…(api-surface.json 按 entrypoint 拆)。动不同 category 的两个 PR 从此文件不相交:服务端文本冲突消失,队列可并行放行 ;os-regen 与四步重建收窄到同 category 撞车的少数情形。
这是本仓自己验证过两次的模式:.changeset/*.md 一 PR 一文件永不冲突(CLAUDE.md 释义),#5107 把 strictness 台账数字拆成生成物。
范围外(有意) :spec-changes.json(按版本键控、低冲突)、api-surface-signatures.json(1.3KB 小映射)维持现状;content/docs/references/** 本已按页分文件。
三轴(存档)
建议拆分(contract-first 顺序,由承接座位展开为 sub-issue)
S1 布局 + 生成器 :定分片键(category / entrypoint)与目录命名;gen:schema / gen:api-surface 等改为输出分片。
S2 门禁 + 锚点 :check:authorable-surface 及各 ratchet 闸改读分片;fix(spec): #4650 删除闸门改用树内基线锚点,按 SHA 钉住的离线消费者构建不再硬失败 (#5235) #5304 的 authorable-surface.base.json 锚点机制适配(锚点随之分片或改读聚合视图,authenticity 判据不弱化)。
S3 消费方 :MCP spec_changes 工具、docs build、其它读这三个文件的站点改读分片(或运行时聚合函数)。
S4 收尾 :.gitattributes 更新(os-regen 路由到分片路径)、退役单体文件、docs/ 说明。
验收判据
路由建议(交分诊座位定标,立单者不打 domain 标签)
落点全在协议工具链文件面(scripts/**、packages/spec/scripts/**、门禁),建议 domain:spec-tooling(C 包 #5163 )+ pm:queue。⛔ 实施时不做任何单的 rider;⛔ 不碰 content/docs/releases/。
Refs: #4675 · #5370 · #5371 · #4868 · #5304 · #5163
裁决记录
维护者 2026-08-06 于 PM 会话(
session_01LeEfA7CFwbJb7JJmXm2KM3)拍板:「分片 + 缩盘子」。第一层(重分诊外移 / 同族打包 / 决策形单转决策箱)已由该会话逐单留言给分诊与 spec 座位;本 issue 是第二层结构性修复的落地载体。先立此存照,防「裁决只在会话里」的过夜半状态。问题:串行税的真正强制点在 GitHub 服务端,不在 os-regen 驱动
merge=os-regen(spec 生成物没有 merge driver:两个 PR 各改几行,语义上是集合运算,却每次都打成文本冲突 #4675)只在本地 git 生效。合并队列在服务端重建 PR 时不跑自定义 merge driver,两个都动过packages/spec/authorable-surface.json(310KB 单体排序数组)的 PR 在队列里是纯文本冲突,第二个必然被踢 → spec 车道只能一次放行一单(2026-08-04/05 夜 10 连 PR 的串行接力形态即由此而来),落地天花板实测 ~12 单/天。gen:schema在 merge 未 commit 时运行,会把 authorable-surface 锚点倒退回旧 merge-base —— 生成器写入、门全绿、静默撤销 main 的锚点推进 #5370(锚点倒退)、gen:schemarmSync 整个json-schema/会顺手抹掉gen:openapi的产物,rest 的 openapi 路由测试随后 503 假红——check:generated原地跑 build-schemas 也触发 #5371(rmSync 误伤)、merge.os-regen.driver指向「上一个装过依赖的 worktree」的绝对路径 —— 该 worktree 一删,全容器的生成物合并驱动就坏了 #4868(绝对路径)。方案:三个热点文件按 category 分片
authorable-surface.json/json-schema.manifest.json/api-surface.json的内容都是"ai/AIModelConfig:maxTokens"这类按前缀天然分组的排序字符串——按 category 拆成authorable-surface/ai.json、authorable-surface/flow.json…(api-surface.json按 entrypoint 拆)。动不同 category 的两个 PR 从此文件不相交:服务端文本冲突消失,队列可并行放行;os-regen 与四步重建收窄到同 category 撞车的少数情形。这是本仓自己验证过两次的模式:
.changeset/*.md一 PR 一文件永不冲突(CLAUDE.md 释义),#5107 把 strictness 台账数字拆成生成物。范围外(有意):
spec-changes.json(按版本键控、低冲突)、api-surface-signatures.json(1.3KB 小映射)维持现状;content/docs/references/**本已按页分文件。三轴(存档)
app.homePageId墓碑说清真正的退役理由 —— 「no shell ever read it」是假的 (#4709) #4846/fix(metadata-protocol)!: batch 逐行结果迁移到 BatchOperationResultSchema 形状 —— 方案 B 硬切 (#4793) #4841)、夜间十连接力的人力形态;spec 是三仓上游,contract-first 下该车道流量只涨。建议拆分(contract-first 顺序,由承接座位展开为 sub-issue)
gen:schema/gen:api-surface等改为输出分片。check:authorable-surface及各 ratchet 闸改读分片;fix(spec): #4650 删除闸门改用树内基线锚点,按 SHA 钉住的离线消费者构建不再硬失败 (#5235) #5304 的authorable-surface.base.json锚点机制适配(锚点随之分片或改读聚合视图,authenticity 判据不弱化)。spec_changes工具、docs build、其它读这三个文件的站点改读分片(或运行时聚合函数)。.gitattributes更新(os-regen 路由到分片路径)、退役单体文件、docs/说明。验收判据
gen:*幂等:干净树上重跑零 diff。路由建议(交分诊座位定标,立单者不打 domain 标签)
落点全在协议工具链文件面(
scripts/**、packages/spec/scripts/**、门禁),建议domain:spec-tooling(C 包 #5163)+pm:queue。⛔ 实施时不做任何单的 rider;⛔ 不碰content/docs/releases/。Refs: #4675 · #5370 · #5371 · #4868 · #5304 · #5163