Skip to content

SKILL.md compatibility 行无任何门禁对账 —— 声明的 spec 版本可与仓库实际版本无限期漂移(#5245 方案③拆出) #5331

Closed

Description

@os-zhuang

从 #5245 的分诊裁定拆出(方案③,门禁根治半边;#5245 本体只做方案①的十行文案止血)。按 PD#10 归档,未指派。

缺陷

skills/*/SKILL.md frontmatter 的 compatibility: 行没有任何门校验:

  • check:skill-docs / check:skill-refs 只管生成物同步;
  • check:skill-examples 只 typecheck os:check 代码块;
  • 没有任何检查把该行声明的 @objectstack/spec 大版本与 packages/spec/package.json 的实际版本对账。

实证即 #5245:仓库已在 17.0.0-rc.2(7 个 App 键、DriverCapabilities 31 位等已成墓碑),十份 SKILL.md 里九份仍写 Requires @objectstack/spec 16.x —— 教 17 能力、自称 16 兼容,静默漂移了整个大版本周期。

建议形态

新门禁(落点 scripts/ 或 packages/lint,C 包 #5163 门禁组文件面):

  1. 解析每份 SKILL.md frontmatter 的 compatibility: 行,抽出 @objectstack/spec <major>.x 声明(措辞契约以 十份 SKILL.md 的 compatibility 仍写「Requires @objectstack/spec 16.x」—— 而它们教的已经是 17 的能力 #5245 方案①落地后的格式为准;skills/objectstack-pm-dispatch/SKILL.md 的折叠块格式需单独处理或豁免并写明理由);
  2. 与 packages/spec/package.json 的当前 major 对账,不一致即红,报错信息带「哪份文件、声明值、实际值、怎么改」;
  3. 接进 ci.yml 现有 docs/lint 门禁族 —— ⛔ 引以 check:react-declaration-parity 是唯一没接进任何 workflow 的源码审计门禁,且无 MANIFEST 时静默 skip 退出 0 —— 它现在永远不可能红 #4690 为戒:门禁必须接进 workflow 且缺输入时响亮失败,不做静默 skip 退出 0。

依赖与排序

Blocked-by: #5245

关联:#5245(止血半边)、#5163(C 包 program card)、#4690(「无输入静默绿」反面教材)。

Activity

  1. added
    toolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Aug 4, 2026
  2. claude commented on Aug 6, 2026

    @claude
    Contributor

    发现分诊轮判级(#4949 纪律):持有(finding 留)—— 硬前置未解除。

    过时前提检查:正文的 Blocked-by: #5245 仍然有效 —— #5245 现状 open(pm:queue / domain:devx / target:v17,未认领)。原单已写明依赖方向:#5245(方案①,十行文案止血)不先落地,本单的门禁一上线就红十处。前提成立,阻塞成立。

    为什么还留着:这是本轮唯一一条因依赖而持有、而非因判级不清而持有的发现 —— 门禁形态、落点(scripts/ 或 packages/lint,C 包门禁组文件面)、验收(解析 compatibility: 行的 spec major 与 packages/spec/package.json 对账,不一致即红,报错带"哪份文件/声明值/实际值/怎么改")原单都已写清,晋级所需的信息一样不缺。

    重启条件:#5245 合入即晋级 pm:queue,无需再走一次发现分诊轮 —— 按 SKILL 的解锁扫(pm:blocked + Blocked-by: 在某单关闭时回扫)本单应当被自动带出。

    ⚠️ 本单同时暴露一个车道层面的问题(已在 #4604 收尾简报点名,非本单责任):本单的 domain:spec-tooling 标签不在 SKILL 域表内、也不是 #4604 座位表的任何一行 —— 该标签当前挂着 17 条 open issue(其中 13 条已是 pm:queue),程序卡 #5163 记为"整包移交待接收"。在双射协议下这是一条无主车道:标签存在、单子已就绪、没有任何执行座位会扫到它。本轮不自行改标(域表演进须走 PR,分诊座位不改代码),只如实上报。

    本评论来自分诊座位 Routine(#5474 试点),不构成认领。


    Generated by Claude Code

  3. added
    pm:queueReady for the PM dispatch loop
    and removed
    findingRecorded observation — held, not dispatchable until the findings triage round grades it
    on Aug 6, 2026
  4. claude commented on Aug 6, 2026

    @claude
    Contributor

    发现分诊轮判级(#4949 纪律):晋级 pm:queue(摘 finding)—— 上一轮(08-06 04:03Z)写明的重启条件已达成。

    本评论来自分诊座位 Routine(#5474 试点),不构成认领。


    Generated by Claude Code

  5. self-assigned this
    on Aug 7, 2026
  6. os-zhuang commented on Aug 7, 2026

    @os-zhuang
    ContributorAuthor

    认领(os-dev 座位,domain:spec-tooling / #6018)。

    • Session: session_014wsZeReNTqiceBfLb5Pyf5
    • Branch: claude/issue-5331-skill-compatibility-gate

    开工前先做两件事:(1) 读 origin/main 上 #5245 实际落地的措辞(方案①改写 17.x / 方案②范围写法二选一,门禁契约以实际落地为准,不按原单想象);(2) 复核前提是否仍然成立(本单 08-04 立,仓库已推进多轮)。


    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

Labels

pm:queueReady for the PM dispatch looptoolingFix lands in tooling, not a product package — enters pm:queue only with Unblocks: or a named surface

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions