在做 #5878(client-sdk.mdx 的退役矩阵链接)时顺带观察到,非本单范围,按 Prime Directive #10 独立记录。
观察
.github/workflows/check-links.yml 今天的触发器段落:
on:
workflow_dispatch:
# push:
# branches:
# - main
# pull_request:
# branches:
# - main
push 与 pull_request 两个触发器都被注释掉了,只剩 workflow_dispatch。⇒ 这道 lychee 断链门在 PR 上不跑、在 main 推送上也不跑,只有人工手点才会执行。
为什么不容易被发现
门本身看起来是活的,配套件也还在维护:
lychee.toml 存在且有内容(1865 bytes,含 path remapping 与 settings);
- job 里写着
fail: true(发现断链就红);
- 扫描面覆盖
content/**/*.md、content/**/*.mdx、README.md。
也就是说,除了那两行注释之外,整条链路都是「已配置好」的样子。翻 workflow 列表的人会数出一道断链门,PR 作者也会默认文档链接有人守。
影响面(据实,不夸大)
⚠️ 这道门不会捕获 #5878 那一类缺陷:#5878 的链接指向的文件仍然存在(墓碑文件是有意保留的),HTTP 上不是断链,坏的是描述与被链接内容不符。lychee 检的是可达性,不是描述准确性。
它守的是另一类:content/** 里指向已删除文件 / 已改名路径 / 失效外链的真断链。今天这一类在 CI 里没有任何守卫 —— 例如 #5824/PR #5874 那种「删掉两份仓内文档 + 逐条处置引用面」的改动,引用面若漏一条,不会有门拦。
未判定的部分
没有查到当初为什么注释掉(本地是浅克隆,git log -S"# pull_request:" 只回溯到 d97f2a2,拿不到真实的引入提交)。合理猜测是外链抖动导致假红,但这是猜测,未经证实 —— 如果确实如此,那么「收窄到只检仓内相对链接、外链降级为告警」可能比「整体注释掉」更合适。请分诊时以实际历史为准。
处置建议(不预设结论)
三个方向,成本递增:
- 恢复
pull_request 触发,并在 lychee.toml 里把外链列入 --exclude / 只作告警 —— 保住仓内断链这条最有价值的守卫,同时不引入外网抖动的假红;
- 保持现状,但在 workflow 顶部写明为什么停用、以及断链改由什么替代 —— 至少让下一个读到它的人不误以为有门;
- 确认这道门不再需要 → 按「declared = enforced」删掉整个 workflow 与
lychee.toml,不留看起来还在的空壳。
倾向 1 或 2:一道看起来在守而实际不守的门,比没有门更容易误导人(本仓对这类「declared-but-unenforced」的态度是一贯的)。
⚠️ 归类为 observation-class:今天没有已知用户因此踩坑,只是一道守卫处于休眠;不加 pm:queue,留待分诊定级。
Generated by Claude Code
在做 #5878(client-sdk.mdx 的退役矩阵链接)时顺带观察到,非本单范围,按 Prime Directive #10 独立记录。
观察
.github/workflows/check-links.yml今天的触发器段落:push与pull_request两个触发器都被注释掉了,只剩workflow_dispatch。⇒ 这道 lychee 断链门在 PR 上不跑、在 main 推送上也不跑,只有人工手点才会执行。为什么不容易被发现
门本身看起来是活的,配套件也还在维护:
lychee.toml存在且有内容(1865 bytes,含 path remapping 与 settings);fail: true(发现断链就红);content/**/*.md、content/**/*.mdx、README.md。也就是说,除了那两行注释之外,整条链路都是「已配置好」的样子。翻 workflow 列表的人会数出一道断链门,PR 作者也会默认文档链接有人守。
影响面(据实,不夸大)
它守的是另一类:
content/**里指向已删除文件 / 已改名路径 / 失效外链的真断链。今天这一类在 CI 里没有任何守卫 —— 例如 #5824/PR #5874 那种「删掉两份仓内文档 + 逐条处置引用面」的改动,引用面若漏一条,不会有门拦。未判定的部分
没有查到当初为什么注释掉(本地是浅克隆,
git log -S"# pull_request:"只回溯到 d97f2a2,拿不到真实的引入提交)。合理猜测是外链抖动导致假红,但这是猜测,未经证实 —— 如果确实如此,那么「收窄到只检仓内相对链接、外链降级为告警」可能比「整体注释掉」更合适。请分诊时以实际历史为准。处置建议(不预设结论)
三个方向,成本递增:
pull_request触发,并在lychee.toml里把外链列入--exclude/ 只作告警 —— 保住仓内断链这条最有价值的守卫,同时不引入外网抖动的假红;lychee.toml,不留看起来还在的空壳。倾向 1 或 2:一道看起来在守而实际不守的门,比没有门更容易误导人(本仓对这类「declared-but-unenforced」的态度是一贯的)。
pm:queue,留待分诊定级。Generated by Claude Code