Skip to content

finding(devx): check-doc-snippet-types.mjs --build-filter prints a build command that silently leaves part of the tree unbuilt #7795

Description

@claude

check-doc-snippet-types.mjs --build-filter 打印的构建命令按设计只建一个闭包(今天实测:40 个包里建成 34 个,留下 @object-ui/plugin-ai@object-ui/plugin-tree),但它没有说这一点。照着它敲的人会得到一棵半建成的树,并以为自己已经"建好了"。

出处

由 objectui#7460 的实现析出。那张卡记录的是后果——check-readme-exports.test.ts 在这一档树上变红——而 PR #7794 把测试改成了按包判断,所以那个后果没有了。本卡记录的是成因侧的人机工程缺口,它在 #7460 关闭后不会自己消失。

⚠️ 立卡而非在 #7460 上留言的理由:#7460Fixes 关闭后就退出所有 pm:queue 扫描,写在那里的记录会随之不可见 —— 这正是本仓反复付账的"发现随卡关闭而丢失"形状。

测量(objectui#7460 实现期,origin/main abdcd189c

pnpm exec turbo run build $(node scripts/check-doc-snippet-types.mjs --build-filter) --concurrency=2

跑完之后 census.packagesUnbuilt = 2 of 40,未建成的是 packages/plugin-aipackages/plugin-tree。该 filter 覆盖的是被判文档 import 的那些包(当时 26 个),这是有意为之,不是缺陷。

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

在打印那条命令的地方多打一行,说明这个闭包是按被判文档的 import 面裁剪的、不等于整棵树,并点名它不会建的包(或至少说明"其余包保持未建成")。

⚠️ 这是人机工程改进,不是缺陷修复:

  • ⛔ 不要改 --build-filter 去建整棵树 —— 裁剪是那道门的设计意图,扩大它会把每个人的本地循环拖慢。
  • ⛔ 不要在别处再写一份"哪些包会被建"的清单 —— 那会立刻腐烂。提示应当从同一份 filter 派生

现状

⚠️ 严重性已经因 PR #7794下降check-readme-exports.test.ts 现在按包判断,在这一档树上不再变红,并且它的失败信息会主动点名 census.packagesUnbuilt。⇒ 半建成态今天已经不再产生假红,本卡剩下的只是"命令没告诉你它做了什么"。

Refs: objectui#7460 · PR #7794 · scripts/check-doc-snippet-types.mjs


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

Labels

documentationImprovements or additions to documentationdomain:devxobjectui devx stream: fix lands on .github/, scripts/ or release pipeline — devx lane cross-repofindingpm:dispatchedpriority:p3

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions