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

`audit:stale-anchors`：给 `docs/CLAUDE_DESIGN_SETUP.md` 里那条 claude-design **bundle 包内部**路径
（`./assets/tvu-web-components.js`）加一条具名带日期的 shrink-only 豁免。

它不是本仓路径，但词法形态与本仓导航链接完全相同，且 `assets/` 目录分量在本仓真的存在
（`playground-dist/assets/`）⇒ 落进 `code-span-path` 的显式相对分支被判成死链，让这条 L5 闸在
master 上红着（`gate-chain` 里跑，挡 CI 与发版）。

选豁免而不是改文档：所在句是一条实测记录、逐字写着「路径一个字符不改」，去掉 `./` 会让它自相矛盾
—— 正好是闸自己写的加行门槛「判据在这一处产生假阳，且改文档会损失它要表达的意思」。
豁免行带 `why` / `fix`，`fix` 里写明真修法（该文档把包内布局整段放进 fenced code block）。

配套：`tests/audit-stale-anchors-cli.test.ts` 的 fixture 补出让这条豁免命中的树
（`docs/CLAUDE_DESIGN_SETUP.md` + `docs/assets/` 目录），否则 shrink-only 会判「豁免已失效」。
豁免的 load-bearing 性经故障注入验证：改 `raw` 为不存在的值 ⇒ 闸同时报「豁免已失效」与原死链，
复原后读数逐字相同。
