四个校验器原先散落在 /tmp,本会话 /tmp 就被清过一次(validate_docs.py 中途消失),仓库里没有任何引用——「222 个行号锚点 0 error」这个结论在脚本 被清之后就无从再证,属于静默漂移。现固化进 scripts/docs_check/: - validate_docs.py 代码块围栏闭合 / 行内反引号偶数 / 本地链接与 #锚点可达 - check_tables.py 表格表头、分隔行、数据行列数一致(行内代码里的 | 不计) - audit_anchors.py 每个 foo.rs:N / foo.rs:N-M 锚点指向存在且非空的目标行 - check_sec_refs.py 每个 §N.N 交叉引用解析到归属文档的真实标题 - run_all.sh 驱动脚本,任一失败即 exit 1,仿 GATE-P0 的用法 改动说明(相对 /tmp 原版) - ROOT 由硬编码绝对路径改为 Path(__file__).resolve().parents[2],干净 clone 即可运行,无需改任何路径。四个文件已 diff 确认仅此一处差异。 - audit_anchors.py 加了 docstring 写明能力边界:只证明锚点可达,不证明该行 内容与所述一致,无法发现「指向错行」的锚点。 - run_all.sh 用 grep -m1 '^===' 取摘要而非 head -1:validate_docs.py 摘要前 带一个空行(原版自带瑕疵,保留原样以免偏离已验证版本),按位置取会取错。 双向验证:干净树 PASS/exit 0;注入 worker.rs:99999 与 §99.9 后分别被 audit_anchors 与 check_sec_refs 报出、exit 1;git checkout 还原后回到 PASS。 AGENTS.md 记录跑法与「可达 ≠ 准确」的区分。GATE-P0(cargo)不受影响,本次 无任何 src/ 改动。 |
||
|---|---|---|
| .. | ||
| docs_check | ||