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

`audit-mockup-typography-icon.mjs`（随包）新增一条 `covers-acceptance` 自陈，指向 `mockup-conventions.md#Acceptance~14`（§M-TXT-ICON-AUDIT）`[2]`。**只加注释，GLYPH / FONT 两个探针的判据、字符集、字体白名单、退出码、输出格式一字未动**，组件 API / token / 样式均无变化。

背景：本仓内部的 `audit-acceptance-gate-coverage.mjs`（不随包）机械核对「规则真源里的 Acceptance 段 ↔ 哪条闸自陈覆盖它」。此前本闸头注释顶部自陈的两个来源都对不上分母 —— GLYPH 半写的是 `§M32 §icons`，而 §M32 那 3 条核查项是「handoff 必含 `Buttons used:` 一行」/「product UI 出现渐变填充矩形 + 文字且不是 `INSTANCE`」/「自画必备 handoff escalation 痕迹」，本闸一条都不 enforce；FONT 半写的 `§M23 字体规范 / §M47` 在分母里根本没有 Acceptance 段。逐字比对后确认本闸 GLYPH 半真正测的是 **§M-TXT-ICON-AUDIT**：规则侧第 1 条逐字「wrap-up 协议跑 audit 脚本，hits=0 才能 claim done」+ 其 §Audit 脚本段给出 `UNICODE_ICONS.test(n.characters)`，闸侧 `GLYPH_RE`（由 `GLYPH_CHARS` 构造）扫的正是 TEXT `characters`、命中数组同名 `hits` ⇒ 判据同构。

⚠️ `[2]` 是**变更探测的锚，不是覆盖度声明**：第 2 条（handoff doc 必含 "icon audit" 段）的被测物是 handoff 文本，闸不产出，按 §M17 先例部分覆盖照样计入 Σ。

⚠️ 顶部那两句原来的来源引用**刻意保留不改**（它记录的是当初的写作意图，改掉等于抹掉证据），对位以新增那条自陈为准。

同规则另两段（`#例外` / `#反向问题`）刻意**不**判 gated，改为登记进 `acceptance-not-machine-checkable.json`（不随包），各有逐字依据：前者的核查项是 `getStyledTextSegments(['fontName'])` 实时 probe + 「必须看渲染图确认」的人眼判据；后者规则正文**逐字点名本闸**说「所有现有闸（字体白名单 / glyph 正则 / bilingual spacing / typography-icon）全部 PASS……只有渲染图能发现」⇒ 判 gated 会与规则原文直接矛盾。
