content/docs/guide/ci-cd-pipeline.md 里描述 bundle 体积门禁的两节已经与 .github/workflows/ 脱节,三处事实错误:
1. 预算数字错了(60 KB vs 实际 350 KB)
文档:
## Performance Budget (`performance-budget.yml`)
**Enforced limits:**
| Bundle | Max gzip size |
|--------|---------------|
| Console main entry | 60 KB |
工作流实际是 MAX_ENTRY_GZIP_KB=350(.github/workflows/performance-budget.yml)。差 5.8 倍。
后果:照文档读,当前 28.1 KB 的 console 主入口离门槛只剩一半余量,像是随时会撞线;实际只用掉 350 KB 预算的 8%。任何按这份文档做体积决策的人(或 agent)都会被这个数字误导。
2. 记录了一个不存在的工作流 size-check.yml
## Size Check (`size-check.yml`)
**Triggers:** Push to `main`/`develop` with changes in `packages/`.
.github/workflows/ 下没有 size-check.yml。该文件当前的清单是:changelog.yml、changeset-release.yml、check-links.yml、ci.yml、cross-repo-issue-closer.yml、dependabot-auto-merge.yml、labeler.yml、lint.yml、performance-budget.yml、release.yml、shadcn-check.yml、stale.yml。
它显然是被并入了 performance-budget.yml 的 Generate package size report 步骤(那一步输出的正是文档里归给 size-check 的 50/100/150 KB 三档),但文档没跟着改。
3. 那三档根本不是「Enforced limits」
文档把 50 KB(core)/ 100 KB(components)/ 150 KB(plugin)列在 Enforced limits 标题下。实际上 Generate package size report 只是把这三行当作说明文字 echo 进 markdown 报告:
echo "### Size Limits" >> size-report.md
echo "- ✅ Core packages should be < 50KB gzipped" >> size-report.md
没有任何比较、没有 exit 1。超过这些数字不会让任何检查变红。文档把「建议值」写成了「强制门槛」——这类「声明了但没强制」的描述比没有文档更危险,因为它让人以为有一道并不存在的护栏。
建议
一次 docs-only PR 修掉:把 60 KB 改成 350 KB(或改成引用工作流里的常量以免再次漂移);删掉 Size Check 一节并把包体积报告并入 Performance Budget 一节;把那三档明确标注为「建议值,不强制」。
发现于 #3152 的修复过程中(改的是同一节里描述 PR 评论行为的那条 bullet),按 Prime Directive #10 拆出来单独记录,不夹带进那个 PR。
content/docs/guide/ci-cd-pipeline.md里描述 bundle 体积门禁的两节已经与.github/workflows/脱节,三处事实错误:1. 预算数字错了(60 KB vs 实际 350 KB)
文档:
工作流实际是
MAX_ENTRY_GZIP_KB=350(.github/workflows/performance-budget.yml)。差 5.8 倍。后果:照文档读,当前 28.1 KB 的 console 主入口离门槛只剩一半余量,像是随时会撞线;实际只用掉 350 KB 预算的 8%。任何按这份文档做体积决策的人(或 agent)都会被这个数字误导。
2. 记录了一个不存在的工作流
size-check.yml.github/workflows/下没有size-check.yml。该文件当前的清单是:changelog.yml、changeset-release.yml、check-links.yml、ci.yml、cross-repo-issue-closer.yml、dependabot-auto-merge.yml、labeler.yml、lint.yml、performance-budget.yml、release.yml、shadcn-check.yml、stale.yml。它显然是被并入了
performance-budget.yml的Generate package size report步骤(那一步输出的正是文档里归给 size-check 的 50/100/150 KB 三档),但文档没跟着改。3. 那三档根本不是「Enforced limits」
文档把 50 KB(core)/ 100 KB(components)/ 150 KB(plugin)列在 Enforced limits 标题下。实际上
Generate package size report只是把这三行当作说明文字echo进 markdown 报告:没有任何比较、没有
exit 1。超过这些数字不会让任何检查变红。文档把「建议值」写成了「强制门槛」——这类「声明了但没强制」的描述比没有文档更危险,因为它让人以为有一道并不存在的护栏。建议
一次 docs-only PR 修掉:把 60 KB 改成 350 KB(或改成引用工作流里的常量以免再次漂移);删掉 Size Check 一节并把包体积报告并入 Performance Budget 一节;把那三档明确标注为「建议值,不强制」。
发现于 #3152 的修复过程中(改的是同一节里描述 PR 评论行为的那条 bullet),按 Prime Directive #10 拆出来单独记录,不夹带进那个 PR。