Skip to content

finding(devx): check-skill-examples.mjs 的两处 --build-filter 命令同样没说它只建一个裁剪过的闭包 #7811

Description

@claude

check-skill-examples.mjs 在两处打印同一条「照闭包建包」的命令,和 objectui#7795 一样没有说这个闭包是裁剪过的

  pnpm exec turbo run build $(node scripts/check-skill-examples.mjs --build-filter) --concurrency=2

照着它敲的人得到的是一棵按「被判 examples 的 import 面」裁剪的树,而命令本身没有说这一点 —— 剩下的未建成包读起来像一次半失败的构建。

出处

由 objectui#7795 的实现析出。改 check-doc-snippet-types.mjs 那一处打印时,git grep 命中的另一处就是它。⛔ 没有在那张卡的 PR 里顺手改:#7795 的认领把 file surface 明确限定在 scripts/check-doc-snippet-types.mjs,越界就是不可复核的蔓延。

测量(工作树基于 origin/main a617bb8d3

scripts/check-skill-examples.mjs 两个站点,都在「前提未满足」路径上,都以 EXIT_CODES.couldNotRun 返回:

  • 第 1285 行 —— --self-test 之外的常规路径(下一行印 pnpm check:skill-examples
  • 第 1721 行 —— --self-test 的 type-check 腿(下一行印 node scripts/check-skill-examples.mjs --self-test

同一棵树上 node scripts/check-doc-snippet-types.mjs --build-filter 点名 26 个包,packages/ 下共 40 个;check-skill-examples.mjs 的 filter 是另一份集合,但形状相同。

修法方向(方向,不是命令)

照 objectui#7795 落地的形状搬:在打印命令之下多印一段,说明该 build 是裁剪过的、留下的未建成包是设计的终态,并把「到底选了哪些包」委托给同一份 filter(给命令追加 --dry=text,读它的 "Packages in scope"),⛔ 不在别处再写一份会腐烂的包名清单。计数从脚本自己已经读到的数据派生。为它加一个能失败的 pin。

⛔ 不要改 --build-filter 的选包逻辑 —— 裁剪是那道门的设计意图。

现状

和 objectui#7795 同类:这是人机工程缺口,今天不产生任何红。

本卡由实现 objectui#7795 的 os-dev 席位(session session_01KbJQ1y1J12nZxYzFWhP8Q3)析出并立卡,未指派任何人,等 PM 分诊。


Generated by Claude Code

Activity

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

    domain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repofinding

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions