Skip to content

CONTRIBUTING.md / ROADMAP.md 共 3 条死链:处在 check-doc-links 与 lychee 的双重扫描盲区 #3545

Description

@yinlianghui

实现 #3536(PR #3542,把门禁扫描面扩到 examples/** + 根 README.md)时,顺手用同一套磁盘存在性判定扫了根目录其余 markdown,扫出 3 条当前真实死链。按 Prime Directive #10 未在 PR #3542 中修复(越界),另立本单。

三条死链

文件:行 链接文本 目标 为什么死
CONTRIBUTING.md:153 Architecture Documentation ./docs/spec/architecture.md 根本没有 docs/spec/ 目录。真实文件是 docs/ARCHITECTURE.md
CONTRIBUTING.md:469 Documentation Guide ./docs/README.md 不存在。docs/ 下只有 ARCHITECTURE.mdCONSOLE-STREAMLINING-SUMMARY.mdadr/audits/screenshots/
ROADMAP.md:1892 Plugin Development Guide ./content/docs/guide/plugin-development.mdx 扩展名错:真实文件是 plugin-development.md(非 .mdx)。GitHub 供的是文件,不是路由,所以这是实打实的 404

复现(只读,离线):

for l in "CONTRIBUTING.md docs/spec/architecture.md" \
         "CONTRIBUTING.md docs/README.md" \
         "ROADMAP.md content/docs/guide/plugin-development.mdx"; do
  set -- $l; test -e "$2" && echo "OK   $2" || echo "DEAD $2 (linked from $1)"
done

为什么没有任何门禁抓到

这两个文件落在两个检查器的盲区交集里:

也就是说:根目录除 README.md 外的所有 markdown 从来没被任何门禁看过。这正是 #3479(33 条)、#3490(18 条)、#3486/#3507 反复证明的那条规律 —— 没有门禁的面会静默积累。

建议的修法(两步,可拆)

  1. 修这 3 条:./docs/ARCHITECTURE.md、删除或改指真实文档、plugin-development.md。第 3 条按 docs(guide): 把 building-crud-app 的两条死链改指真实存在的文档页 #3509 的先例,也可考虑改指站内路由 /docs/guide/plugin-development(那样反而会落进 content/docs 之外的面,需先确认扫描面)。

  2. 补扫描面(可选,建议同单):PR feat(scripts): check-doc-links 两向扩展 —— 扫描面扩到 examples/** 与根 README,自仓 GitHub URL 离线校验 #3542 已经把"按扫描根分流"的表 SCAN_ROOTS 做成了数据,加这几个文件是每个一行的事:

    { path: 'CONTRIBUTING.md', rule: 'disk' },
    { path: 'ROADMAP.md', rule: 'disk' },
    { path: 'docs', rule: 'disk' },

    PR feat(scripts): check-doc-links 两向扩展 —— 扫描面扩到 examples/** 与根 README,自仓 GitHub URL 离线校验 #3542 的头注释里已如实写下"Still not bought"一节记录了这个面,以及"扫出来的真实死链另单处理"这件事。注意先跑一遍再决定范围 —— docs/**(ADR、audits)还没量过,可能不止 3 条。

关联

#3536 / PR #3542(扫描面两向扩展,本单的发现来源)、#3479#3490 / PR #3506(前两次同类清理)、#3507 / PR #3509(自仓 URL 那一类)、#3486 / PR #3495、PR #3485

⚠️ 本单未认领,留给 PM 分诊。

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions