---
"@ux-team/tvu-design-system": patch
---

九个随包 `scripts/audit-mockup-*.mjs` 的头注释改动。**全部只改注释 —— 判据、容差、扫描面、逃生口、退出码、规则模块接线、组件 API、token、样式一律没动。**

**(1) 八个闸新增 `covers-acceptance` 自陈**（`audit:acceptance-gate-coverage` 用它登记「这条 Acceptance 有没有闸在管」）：`audit-mockup-binding-fidelity`（§C5 · §M52）· `audit-mockup-colors`（§M-COLOR · §M23.18.1）· `audit-mockup-bilingual-spacing`（§M23.14 · §Acceptance~21）· `audit-mockup-overlap`（§M-INTEGRITY）· `audit-mockup-integrity`（§M-INTEGRITY~2）· `audit-mockup-library-origin`（§M32.1 · §M32.2）· `audit-mockup-handoff-evidence`（§M-DISCIPLINE.SYNC）· `audit-mockup-typography-icon`（design-process §Acceptance）。

判据不是「我觉得这条能不能测」，而是**两端有没有各自的声明可比**：每一条都是规则原文自己点名了这个闸（例：§M23.14 逐字「**机器闸**：`pnpm audit:mockup-bilingual-spacing`」；§M-COLOR 逐字「一次 probe 跑全：`node scripts/audit-mockup-colors.mjs`」），且闸自己的头注释也声明它 enforce 那条规则。所有被点名的脚本都程序化核过真实存在 —— 唯二两个「不存在」的 npm key（`audit:mockup-colors` / `audit:mockup`）正是规则文档**自己已逐字订正过**的那个从未存在的名字，不是新发现的假声明。

⚠️ `[N]` 是**段内核查项总数（Σ）= 变更探测的锚，不是覆盖度声明**：段里那些 handoff / 人工 probe / 明确标为 L1 的条目照样计入 N。⛔ 别把 `[6]` 读成「这 6 项都有闸」——§M-INTEGRITY 那 6 条里有 3 条是 handoff 文本要求，§M23.14 里「per-bullet + Auto Layout itemSpacing 机制**不机器扫**」是规则原文自己写的口子。语义真源 = `scripts/audit-acceptance-gate-coverage.mjs` 头注释 §S4（该文件不随包）。

⛔ 这些自陈行必须留在各自文件的**头 60 行内**，且只认 `//` 行注释（`/** */` 块里的 ` * ` 前缀行不解析 —— `audit-mockup-integrity` / `audit-mockup-library-origin` 因此把自陈刻意写在块外）。被挤出去或改错 `[N]` 都是 fail-closed 当场红，不会静默。

**(2) `audit-mockup-geometry-consistency.mjs` 的 `DEFAULT_CONFIG.rows` 增加一段「⛔ 别加 HUG 排除开关」的裁定注释**（owner 2026-08-27 拍定 R1 判据不动）。记的是为什么否掉一个看起来很顺理成章的收窄：`layoutSizingVertical='HUG'` 的行「不等高」是该声明的预期结果，看似该排除，但量完那一档内部的偏差分布后发现有 4 条相对偏差 33–50%（一行比众数矮一半 = 内容缺失/溢出的真症状候选），排除会把它们一起吞掉 —— 与同一文件里已记的「复用 `widthTolerance` 把 13 条吞成 4 条」是同一个坑的镜像。注释同时写明了重开条件，以及「拿不准的收窄做成报告侧分档、不做成判据侧排除」的理由（owner 看得见、可推翻）。
