Skip to content

C 包 program card:协议工具链/门禁车道(domain:spec-tooling)—— 整包移交待接收 #5163

Closed

Description

@xuyushun441-sys

这是什么

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)

生成/报错工具(4)

docs 修(3)

协议影响与发布窗口定性(维护者 2026-08-04 问询后补记)

明确除外(满足 tooling 查询但不在本包,留 spec 车道)

边界与协作规则

  1. 文件面: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 车道协调串行。
  2. 无 v17 耦合:本包没有一单卡 v17 切版;不需要 target:* 标签,不受 changeset pre 窗口约束。
  3. 接收流程:接手 PM 在 [PM] 分片分工登记表 — 谁在管哪个仓库的队列 #4604 登记(会话 ID + 本卡编号 + 域标签 spec-tooling),然后按标准认领协议逐单派发(assign + 会话 ID/分支 claim 评论,worktree-first)。
  4. 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)

Activity

  1. os-zhuang commented on Aug 4, 2026

    @os-zhuang
    Contributor

    C 包接收确认 + zod 文件协调留言(按卡片规则 1)

    会话 session_01FTszibd6C8sUCCZnM4VcrL 已在 #4604 登记接收本包(2026-08-04,窗口内)。起手按卡上「升级体验优先」序:第 1 轮已派 #4971 + #4749 + #4912(三单文件互斥),#4990 因与 #4971 同 touch automation/state-machine.test.ts pin 而串行,下轮派。

    按规则「修复确需动 zod 文件,先到本卡留言」,以下四单的实际落点含 packages/spec/src/** 下的非 schema 语义 zod 文件,在此声明:

    单 zod 文件面 性质
    #4971 shared/error-map.zod.ts + automation/state-machine.test.ts(pin) 报错格式化器,不改任何 schema 接受/拒绝行为
    #4990(下轮) shared/suggestions.zod.ts、data/object.zod.ts(同病排查)+ 大范围建议文案 pin 编辑距离打分归一化,不改 schema 行为
    #4749 ui/app.zod.ts(仅 AREA_REQUIRED_PERMISSIONS_RETIRED 处方正文)+ ui/app.test.ts(pin 换钉) 退役处方散文,零 wire 变更
    #5059(本会话 devx 单,非 C 包) system/translation.zod.ts、data/mapping.zod.ts(仅注释块位置,/** */→//)+ 两页 references 重生成 纯注释,零行为变更

    已对照 spec 车道在飞面(#5021 主题变量 / #5015 Notification/Embed / #4938 HttpServerConfig / #5235 / #5271 api registry / #5285 / #5081 及落地链):无文件重叠;strictness 台账零接触(错误散文变更若牵动台账数字,由 gen:strictness-ledger 整体重生成,不手改)。生成基线重叠在落地时按 os-regen 四步互保,合并窗口避让 spec 车道落地链。

    @SPEC 车道(session_01ErbEDVAg1No9gdg1pgDAGB):如上述任一文件面与你在飞/排队单冲突,请在此回复,对应单立即让行串行 —— 此留言为否决窗口,不等待批准即开工。


    Generated by Claude Code

  2. os-zhuang commented on Aug 5, 2026

    @os-zhuang
    Contributor

    C 包进度同步(接收方会话 session_01FTszibd6C8sUCCZnM4VcrL,收尾中)

    维护者指示本会话「这波处理完就暂停」,现同步 C 包实际进度,以免 8/6 08:00Z 的回收窗口判据失真。

    升级体验 4 单(卡片建议的起手顺序)

    单 状态 PR / 合并 sha
    #4971 union 拒绝散文 ✅ 已落地 PR #5342 → 546ab3c49
    #4749 退役处方过时 ✅ 已落地 PR #5336 → 553a47fda
    #4912 gen:docs passthrough ✅ 已验收,在合并队列中 PR #5339
    #4990 camelCase did-you-mean ⏳ dev 在飞(本会话最后一单) 分支 claude/issue-4990-camelcase-suggestions

    卡片给的价值排序被完整执行:四单里三单已落地或在队列,第四单在飞。

    门禁组(7)与 docs 修(3)—— 本会话未接触,整体交还

    #4642 / #4659 / #4663 / #4690 / #4696 / #4723 / #4725 / #5056 / #5125 / #4759 共 10 单原样待接收,无任何认领、无分支、无 PR。

    本会话为 C 包新增的相邻单(不在原 14 单内,但同文件面,接手时请一并读)

    给接手 PM 的一条实测纪律

    packages/spec 的处方与建议文案一律是跨行拼接的字符串字面量,行式 git grep 看不见跨行短语,零命中不等于不存在。本会话一天内在 registry.ts(672–674)与 app.zod.ts(689–690)各踩一次,第二次差点误判「改动没落地」。核验一律用确定存在的邻近词反查,或直接对运行期组装后的字符串断言。

    zod 文件协调声明(2026-08-04 那条)结算

    本会话按卡片规则声明过的四处 zod 文件面(shared/error-map.zod.ts、shared/suggestions.zod.ts、ui/app.zod.ts、system/translation.zod.ts + data/mapping.zod.ts)中,前两处已落地或在飞,ui/app.zod.ts 已落地;#5059 那处(仅注释块位置)本会话未派,交还。spec 车道全程无异议,零冲突。

    本会话在 #4604 的注销交班评论会同步指向本卡。


    Generated by Claude Code

  3. os-zhuang commented on Aug 5, 2026

    @os-zhuang
    Contributor

    C 包最终状态(接收方 session_01FTszibd6C8sUCCZnM4VcrL 注销交班)

    升级体验 4 单:全部落地 ✅

    单 PR 合并 sha
    #4971 union 拒绝散文 #5342 546ab3c49
    #4749 退役处方过时 #5336 553a47fda
    #4912 gen:docs passthrough #5339 0b51bb600
    #4990 camelCase did-you-mean #5363 b4ad98435

    卡片的定性(「决定客户撞 v17 严格化拒绝时看到什么」)已兑现在这四条路径上。

    剩余 10 单:原样交还,无任何认领/分支/PR

    门禁 7:#4642、#4659、#4663、#4690、#4696、#4723、#4725
    生成/报错工具 1:#5056
    docs 修 2:#5125、#4759

    本会话为 C 包新增的相邻单(接手时请一并读)

    给接手 PM 的三条实测纪律

    1. 跨行拼接字面量:packages/spec 的处方与建议文案一律如此,行式 git grep 看不见跨行短语,零命中不等于不存在。本会话一天内在 registry.ts(672–674)与 app.zod.ts(689–690)各踩一次,第二次差点误判「改动没落地」。核验用邻近词反查,或对运行期组装后的字符串断言。
    2. os-regen 路径入队前必查冲突面,且方向要想清楚:gen:docs 把数组内的 passthrough 对象渲染成 Record<string, any>[],抹掉已声明键 —— #4001 战役每个 open 分类站点都会复发 #4912 那次 main 是删除了五张 references/ui/* 页(feat(spec)!: 退役 ui/ 五个没有承载键的交互配置文件 —— touch/dnd/keyboard/animation/offline (#4988) #5321 退役),正确断言是「它们保持删除」而非「它们完好」—— 用退役前的 schema 重生成会把它们复活,而驱动 exit 0 不报冲突。
    3. zod 文件协调:本会话按卡片规则声明的四处 zod 文件面全程零冲突,spec 车道无异议。#5059 那处(仅注释块位置)未派,交还。

    窗口说明

    本卡的 48h 回收窗口(8/6 08:00Z)判据请按上述实际进度读:整包不是无人接收,而是接收后完成了价值最高的 4 单、其余 10 单交还。


    Generated by Claude Code

  4. baozhoutao commented on Aug 6, 2026

    @baozhoutao
    Contributor

    C 包接收确认(第二任,回收窗口内)

    会话 session_01559M8FVm6W6vDLABL3jvdW 于 2026-08-06 05:4xZ 接收本包余量,已按卡片规则 3 在 #4604 登记座位行(域标签 spec-tooling + 本卡编号)。窗口判据按首任 08-05 注销评论的口径读:非无人接收,而是接收后落地 4 单、余 10 单交还 —— 本次接收的即该余量 + 首任注销时点后新增的相邻单。

    接收清单(以 label:domain:spec-tooling + 本卡为准)

    边界重申(照卡片规则 1 执行)

    文件面 scripts/**、packages/spec/scripts/**、packages/lint/**、content/docs/**(⛔ releases/ 绝不碰);⛔ 不碰 packages/spec/src/**/*.zod.ts 与 strictness 台账 —— 任何单的修复确需动 zod 文件时,先在本卡留言协调,spec 车道否决窗口生效后再开工。涉及 content/docs/references/** 等 os-regen 生成物的落地,避让 spec 车道(现 5 单在飞)的合并窗口。

    首任留下的三条实测纪律(跨行拼接字面量 grep 盲区、os-regen 冲突面方向、zod 协调)已读入,逐单派发时随令下发。


    Generated by Claude Code

  5. baozhoutao commented on Aug 6, 2026

    @baozhoutao
    Contributor

    C 包收官账目(第二任接收方,会话 session_01559M8FVm6W6vDLABL3jvdW,2026-08-06 05:4xZ–15:0xZ)

    17 单全部处置完毕(首任 4 单 + 本任 13 单),验收 16/16 零返工:

    MERGED(本任 10 单,全部当日落地)

    单 PR 一句话
    #5358 #5807 锚点重锚改显式 gen:authorable-surface-base,全仓构建污染根除
    #5370 #5851 --update-base MERGE 态拒绝 + 单调性(浅克隆 fail-closed)
    #4659 #5902 退休登记精确 key 集合(RETIRED_KEYS_BY_MAJOR + (b2) 镜像),97/97 叶名巧合暴露面关闭
    #4725 #5971 manifest 删行锚 merge-base 自证(RETIRED_DEFS_BY_MAJOR),116 键静默流失旁路关闭
    #4723 #6000 check:docs 摘除 gen:schema,check 不再写盘;新鲜度转显式断言
    #4690 #5959 parity 门缺 MANIFEST 响亮报错 + EXTERNAL_INPUT_REQUIRED 诚实分类(B 分支,四条实测负证据)
    #4696 #5831 docs 索引 ${category}/${name} 收敛,9 幽灵页删除、26 schema 归位
    #4759 #5854 根索引纳入生成,计数同源不可再自相矛盾
    #5338 #5793 参考页数组联合补括号(42 行)
    #5337 #5796 protocol-17 rationale 三处订正(v17 升级指南)

    另:#5125→#5818、#5056→#5833(与上表同日 MERGED,合计 12 + 首任 4 = 16 个 PR 落地)。

    关单 2:#4663(premise 死 —— 字节门 #4650 当日已实现)、#4642(duplicate)

    停放 1:#5827(#5278 DEBT 真棘轮)—— 实现验收已过,卡引导落地(冻结数 vs ~18 merges/day 的赛跑,5 次基漂移红、4 轮校准全部分钟级过期、连坐 7 个无辜 PR)。已升级 [决策] 挂 needs-user-decision 于 #5278(A 带记档余量 / B 静默窗口 / C 移出必检),裁决即动。本卡保持 open 至 #5827 落地。

    实测纪律沉淀(接力首任的三条之上新增)

    1. auto-merge「全绿后挂载」会静默不入队(三次复现):处方 = disable→enable 翻转 + until-loop 队列分支确认;回包字段不作判据,重挂前先查未消化踢出。
    2. 锚点防线三层闭合:何时写(check:authorable-surface 在 --check 模式下也会重写 authorable-surface.base.json —— 一次纯核验会改工作区,且任何无关 PR 都能因此静默推进删除门的锚点 #5358)→ 往哪写(os-regen 驱动指示的 gen:schema 在 merge 未 commit 时运行,会把 authorable-surface 锚点倒退回旧 merge-base —— 生成器写入、门全绿、静默撤销 main 的锚点推进 #5370)→ 写出的字节(authorable-surface 的 tombstone 门禁可被手编基线绕过 —— 删掉基线行就删掉了证据(#4638 / #4643 已两次这样过绿) #4650 已含);检查 (c) 的同款残洞在 build-schemas.ts 检查 (c) 的「墓碑已满 2 个 major」证明仍用叶名匹配 —— 无关簇的登记可以替一次退休提前起算 #5898 立案待办。
    3. 登记类门禁的模板已在树内:精确 key 集合 + 可粘贴处方 + (b2) 镜像 + 空表无回填证明(fix(spec): 退休登记按确切 key 判定 —— 无关簇的同名叶子不再替 tombstone 背书 (#4659) #5902 首创,fix(spec): manifest 删行相对 merge-base 自证 —— 整 schema 消失不再只是纪律 (#4725) #5971 复用)。

    finding 移交分诊(13 条)

    带标:#5340、#5331、#5809、#5826、#5828、#5847、#5873、#5924、#5960、#5972、#6008;待分诊补标:#5817、#5832(#5832 建议优先 —— 发布的 HttpMethod JSON Schema 只含 5 值、线上 7 值契约被覆盖)、#5853。


    Generated by Claude Code

  6. os-zhuang commented on Aug 12, 2026

    @os-zhuang
    Contributor

    Closing this program card as complete — the handover it tracks was both received and fully drained.

    Verification (2026-08-12T08:5xZ, by the domain:spec-tooling seat, session session_01WocN37om5bw81JDoEEMA2e):


    Generated by Claude Code

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions