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

`scripts/audit-stale-anchors.mjs`（在 `files[]` 白名单内，consumer 跑得到）—— **纯注释订正，零判据改动、零行为改变**：就地推翻头注释里已 stale 的边界 B2。

- **B2 原文的两句现在是错的**：「扫描面仍是 `SCAN_FILES` 那三份，本次不扩面」+「真正的覆盖面限制器是 `SCAN_FILES`，属 owner 决定」。owner 2026-08-25 已拍板扩现行层 ⇒ `path` / `code-span-path` / `fragment` 三类跑的是 `LIVE_TREE_*` 那批文件，**其中就包括 B2 自己所属的 `code-span-path` 这条臂**。⇒ 读 B2 做覆盖面判断的人会得出反的结论，而 B2 正是被引用来判「要不要再扩面」的那一段。
- **B2 另一半刻意保留**：归档目录下绝大多数文件没有外部入站 ⇒「删归档 → 本闸红」对它们依然不成立，而这一半**不是扩面能修的**（判据的输入面恰好是被判对象的排除条件 ⇒ 覆盖率与扫描面无关）。订正里显式标出「⛔ 别跟着一起删」。
- 原文括号里那个存量读数注明了它的口径（在三份扫描面下量的、扩面后未重量），⛔ 别当现值引用。

**零行为改变是量出来的，不是「注释当然不影响」**：改前后 coverage 逐格相同（`path` 117 · `fragment` 35 · `rule-ref` 344 · `script` 55 · `env` 0 · `retired-id` 134 · `code-span-path` 84 · TOTAL 769）。⚠️ 中途 `retired-id` 曾掉到 133 —— 替换时把原文一个被检查的 `§` 活锚点一并删了，补回后复原；**coverage 缩小本身就是这条判据最初出问题的方式**，所以它是必看的一格，不是装饰。
