Skip to content

Commit 01a381c

Browse files
committed
docs(standards): 更正包体闸执行者缺口的现状
1 parent 5018c7a commit 01a381c

1 file changed

Lines changed: 6 additions & 0 deletions

File tree

‎docs/standards/performance.md‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@
4949
- **逐族上限可「同提交重冻」**(批 7 §C32.3):改动懒侧字节的单元可在**同一条提交**里把受影响族的 `gzipBytesMax` 重冻为新实测值(条件:提交信息点名是哪处改动推高 · 报告给前后逐键 diff · **总量不得抬高** · 评审核「是该次改动的必然后果」)。🔴 **懒侧总上限仍是硬棘轮、只许降**。
5050
- **工具**:`node scripts/check-bundle-budget.mjs`(不带 `--no-build` ⇒ 自行构建后再判两个预算,人类可读、**分别**打印两个 pass);加 `--json` 得平级的 `firstScreen` / `lazyBudget` 两栏。退出码 `1` = **任一**预算超标(首屏 / 懒侧)。
5151
- 🔴 **执行者缺口(技术债 → 批 8;批 7 §C25.5② + §C14.5 逐字落账)**:本判据(**首屏 + 懒侧的唯一守卫**)在 `.github/workflows/pr-check.yml` / `.husky/pre-commit` / `scripts/validate-all.mjs` **三处都没有执行者** ⇒ **这道门禁的牙只在有人手工跑时才存在**(批 7 期间的唯一执行者 = 段收口单元 T12 与全批收口单元 T22,**均为人手工触发**)。**同源事实**:`pr-check.yml` 的 **paths-filter 根本没有 `scripts/**` glob**(T8 实测缺 `scripts/lib/**`;T11 新增 `scripts/check-exemption-prose.mjs` 后复查 ⇒ **缺口形态未变、逃逸文件集合 +1**)⇒ **只改 `scripts/**` 的 PR 不被任何被过滤的 job 看见**。🔴 **批 7 裁决:不动 `.github/workflows/`**(AGENTS.md §10 的额外审查清单 + `semantic-release` 的发布自动化连带面 + 本批的规格义务与登记项里**没有** CI 工作;批 7 对 `scripts/**` 的门禁靠**收口单元直接跑脚本**,覆盖等效)。**修复形态 = ① 给 paths-filter 补 `scripts/**` glob ② 给本守卫(及同域脚本)接一个执行者**;**归属批 8**。
52+
> 🔻 **就地加注 · 执行者缺口的现状(2026-09-13 · 批 8 T17 落地后补记;上面那条原文一字未改,**按批 7 当时的时态读**,不得再读作现状)**:该缺口已被**部分补上** ⇒ 现状分三面(**本规范只写纪律与形态,当次数值读数一律不进本章**):
53+
> - **首屏守卫的执行者 = ✅ 已有**:落在 `.github/workflows/pr-check.yml` 的 `app-frontend` job 内、**`Build` step 之后**,step 名逐字 `First-screen bundle budget (no-build; lazy side NOT judged — first screen only)`、`run: node scripts/check-bundle-budget.mjs --no-build`。⇒ 上面「三处都没有执行者」里的**首屏那一半已不成立**。🔴 **挂点的纪律**:它必须留在**产出 `app/dist` 的那个 job** 内 —— 挂到不构建的 job 上,`--no-build` 判的是不存在的产物 ⇒ **恒红**(该反例本批已实测)。
54+
> - **懒侧判定的执行者 = 🔴 仍零执行者**(本批裁定「**本次不做**」,依据 = 上文「`--dist` 换懒侧执行者 —— 裁定:本次不做」:跨构建环境字节漂移**可能远超 64 B 容差** ⇒ 挂上极可能恒红):该 step 名逐字自带 `lazy side NOT judged — first screen only`,而裸 `--no-build` 下懒侧本就打 `⏭ 未判`。⇒ 上面「懒侧没有执行者」这一半**仍然成立**。
55+
> - **`pr-check.yml` 的 paths-filter `scripts/**` glob 缺口 = 🔴 仍在**:T17 **有意不补**,理由逐字写在 `pr-check.yml` 的注释里(新增的脚本域门禁改挂**无条件的 `line-limits` job**,绕开「改了 `scripts/**` 却被 filter 判为无变更」这一二次缺口)⇒ **只改 `scripts/**` 的 PR 仍不被任何被过滤的 job 看见**。
56+
> - **原文点名的另两处(`.husky/pre-commit` / `scripts/validate-all.mjs`)**:前者**仍未接**本守卫(其内容只有 `line-limits` / `docs-check` / `check-command-registry` 三条**纯文本全树只读扫描**);后者已在 `81304d52` 作为化石删除、**路径今日不存在** ⇒ 两处都**不构成**上面任何一半的执行者。
57+
> ⇒ **修复形态的可追溯性(原文两条逐字保留,只补落地进度)**:**① 给 paths-filter 补 `scripts/**` glob** = 🔴 **未落地**;**② 给本守卫(及同域脚本)接一个执行者** = ✅ **已部分落地:只落了首屏那一半**(懒侧那一半的**前置** = 上文登记的「跨构建环境字节漂移」受控实测)。**归属批 8** 不变。
5258
#### 懒侧判定的登记(形态与去向,不设新数值;三条登记 · 2026-09-13)
5359

5460
· 🔴 **字节闭合 + 逐族容差的互指(2026-09-13 · 收口后复核)**:**各族实测之和 = 懒侧总量 = 总上限**(逐字节相等);而 **`Σ 逐族上限` 高于 `Σ 实测` 的部分**里含**其它族的正 slack** ⇒ 它**不是余量**,是「逐族上限未随实测逐族重冻」的形态(本行只登记性质与去向,数值出处见上一行)。⇒ **逐族重冻时只许降总量上限、不得抬高**;**「总量绿」不等于「逐族都绿」**。

0 commit comments

Comments
 (0)