> @ux-team/tvu-design-system@1.2.0 audit:stale-anchors /Users/nancy/.ai-ds-lab/wt-fault > node scripts/audit-stale-anchors.mjs audit-stale-anchors — coverage(实际检查锚点数): path 116 fragment 35 rule-ref 344 script 54 env 0 retired-id 134 code-span-path 84 TOTAL 767 └ code-span-path 分形态:显式相对(受判据保护) 2 · 根相对已解析 63 · 根相对解析不到(**边界 B1:不报**) 3 · 目录分量不在本仓(外部) 16 · 目录索引 201 个目录 └ 现行层扫描面(只跑 path + code-span-path):223 份 · path 585 · code-span-path 2249 · 具名豁免 2 条(shrink-only,空 = 终态) · docs/superpowers/plans/2026-08-12-path-a-legacy-host-increment-rule.md → `./design-process.md` since 2026-08-25 为什么豁免:该行是 plan 在描述「要往**另一份文档**(`docs/internal/design-process.md`)里插入的那段文本」—— 原文形态是「在句尾追加:「… = [`design-process.md` <某新规则号>](./design-process.md)(… mirror pair 补齐)」」。那个相对路径是**以被插入方为基准**写的,不是本文件的导航。 修法:判据词法上分不开「本文件的导航链接」与「要插进别处的字面量」(形态完全相同)。⇒ 修法是那份 plan 把待插入文本整段放进 fenced code block(``` 内本闸整段跳过)。⛔ 别为此放宽判据。 · docs/superpowers/specs/2026-08-05-infra-f96-lifecycle-scan-face-extension-design.md → `../_prompts/foo.md` since 2026-08-25 为什么豁免:这份 spec 在**解释判据形态**时举的示意路径(`foo.md`)——原文逐字:「实际引用里既有 `docs/internal/_prompts/foo.md` 也有相对写法 `../_prompts/foo.md`,用完整路径会漏掉后者」。 修法:判据无法在词法上区分「示意路径」与「真引用」(两者形态完全相同)。⇒ 唯一的修法是那份 spec 改用不带目录分量的占位(如 `foo.md`),但那会破坏它正要说明的「相对写法」这一点。⛔ 别为此放宽判据。 ✗ 1 个过期锚点(孤儿): docs/internal/mockup-conventions.md:3241 [code-span-path] ../_archive/retrospection/2026-06-01-rule-execution-discipline-gap.md — 目标文件不存在(目录分量 `_archive/retrospection/` 在本仓存在,文件 `2026-06-01-rule-execution-discipline-gap.md` 不在) audit-stale-anchors FAIL — 修复引用或还原目标后重跑(动 ID/heading 时全仓 grep 逐处核)  ELIFECYCLE  Command failed with exit code 1.