观察类发现,PR #3583(#3572 扫描面第三扩)途中撞到,未在该 PR 内修复——它是 #3536 写下的既有注释,不属于 #3572 的改动面。
事实
两处注释把 Lychee「gates nothing」的机制说错了:
scripts/check-doc-links.mjs:157 —— "lychee … is a weekly cron with continue-on-error, so it gates nothing"
scripts/__tests__/check-doc-links.test.ts:853 —— "lychee (weekly cron, continue-on-error) gates nothing"
而 .github/workflows/check-links.yml 的实际状态:
为什么结论对、理由错
「gates nothing」这个结论没错,但原因是它压根不在 PR 上跑(无 pull_request/push 触发器),不是「跑了但不 fail」。这两件事的运维含义相反:
照错误理由行事的人会往反方向走。
影响
零用户可见影响,纯注释失真;但这两句正是后来者判断「这一面有没有门禁」的依据,#3536 与 #3572 的头注释都据此论证扫描面为何要扩。归为 observation-class。
建议修法(一行级)
把两处改成机制正确的表述,例如「a schedule + workflow_dispatch workflow with no PR trigger, so it blocks nobody」。content/docs/guide/ci-cd-pipeline.md 对该工作流的描述(「It is deliberately not a PR gate」)本身是对的,无需改。
参考:PR #3583 的新增头注释已按正确机制书写,可直接取用其措辞。
观察类发现,PR #3583(#3572 扫描面第三扩)途中撞到,未在该 PR 内修复——它是 #3536 写下的既有注释,不属于 #3572 的改动面。
事实
两处注释把 Lychee「gates nothing」的机制说错了:
scripts/check-doc-links.mjs:157—— "lychee … is a weekly cron withcontinue-on-error, so it gates nothing"scripts/__tests__/check-doc-links.test.ts:853—— "lychee (weekly cron, continue-on-error) gates nothing"而
.github/workflows/check-links.yml的实际状态:fail: true—— 工作流里没有任何continue-on-error;on:只有workflow_dispatch+schedule(17 4 * * 0);push:与pull_request:被注释掉,并附⛔ Do NOT enable的说明(pnpm docs:check-links在 main 上就退出 1,但没有任何工作流跑它(两个链接检查器都不拦 PR) #3213 ruling B:外链检查走网络,一个 502 会把作者无能为力的 PR 弄红)。为什么结论对、理由错
「gates nothing」这个结论没错,但原因是它压根不在 PR 上跑(无
pull_request/push触发器),不是「跑了但不 fail」。这两件事的运维含义相反:continue-on-error摘掉就能让它变成门禁 —— 而那行不存在,摘不掉;fail: true,一旦有人取消注释pull_request:就会立刻变成硬门禁,正是pnpm docs:check-links在 main 上就退出 1,但没有任何工作流跑它(两个链接检查器都不拦 PR) #3213 ruling B 明令不要的结果。照错误理由行事的人会往反方向走。
影响
零用户可见影响,纯注释失真;但这两句正是后来者判断「这一面有没有门禁」的依据,#3536 与 #3572 的头注释都据此论证扫描面为何要扩。归为 observation-class。
建议修法(一行级)
把两处改成机制正确的表述,例如「a
schedule+workflow_dispatchworkflow with no PR trigger, so it blocks nobody」。content/docs/guide/ci-cd-pipeline.md对该工作流的描述(「It is deliberately not a PR gate」)本身是对的,无需改。参考:PR #3583 的新增头注释已按正确机制书写,可直接取用其措辞。