ad87f979b1
用户裁定:docs/编号规范.md 在项目里已无意义,删除。 依据:该文 253 行里真正仍生效的只有两条规则(新条目一律不发编号、 人读文档存量编号继续清退)和一张存量族表;其余内容早有归属——两道 编号门禁的退役记录在 docs/门禁说明/id-check.md 与 id-check-new.md, 手工普查与恢复机器面在 scripts/archive/id_gate/README.md。留着就是 第二真相源,同一事实写在两处迟早漂移。 处理: - docs/文档规范.md 新增 §7.1「条目与编号:一律不发」,承接规则、 场景表、三条硬规矩、存量族表、已停发旧号族清单、不是编号的清单、 清理动作与「没有机器门禁兜底」四段。 - 活跃引用 62 处逐条改指 §7.1 或归档 README:AGENTS.md 2 处、 门禁说明三篇 18 处、其余文档 11 篇、代码与脚本 10 处、rename_maps 七个 record 字段、.dsh/skills 四个文件 8 处。 - 归档区 107 处去掉 docs/ 前缀当纯文本提及;编号治理历史.md 45 处 改为「原编号规范 §N」,避免被 doc-links 当自引用解析。 - 顺带修正 scripts/archive/id_gate/README.md 里仍称旧文为现行规范 的表述。 门禁:check_doc_links --all --sections-strict 220 篇全通过、无法判定 0; pre-commit 全 Passed。
编号门禁归档(两道都已退役:全库语料审计 2026-10-28、新增行检查 2026-10-29)
本目录是 2026-10-20 ~ 2026-10-29 期间在 pre-commit 里跑过的两套编号门禁,连同它们的
语料与白名单一起搬进来,都不再进提交门禁。2026-10-29 的裁定见每篇文末与其留档文档。
| 文件 | 是什么 |
|---|---|
check_ids.py |
八项校验脚本(规范 §8)。手工复查存量编号现状时才跑 |
check_ids_new.py |
只查新增行的那道(2026-10-28 ~ 2026-10-29 在钩子里跑),2026-10-29 用户裁定退役后降为手工形态普查;--self-test 保留,REPO_ROOT 因归档位置深两级改取 parents[3] |
id_registry.json |
99 族的注册表:形态正则 / 属主登记处 / 冻结 / 游标 / 两条护栏的数值 |
id_aliases.json |
旧号 → 新号 / 作废(retired-to-phrase、void)的别名表,187 KB |
id_known_backlog.json |
债务台账(收口时已还清到 0 条) |
为什么退役
实测拆账:单次运行只有 1.8 s,但近 80 笔提交里 61 笔改了语料 / 门禁 / 规范; 99 族里 78 族已冻结。真正值得机械守的只剩一件事——别新写一个自造编号, 而那件事不需要语料(判据只要「这个前缀我没见过」)。
现在用什么
- 没有现行门禁:接班的
id-check-new(只查新增行、零语料)也在 2026-10-29 被用户裁定退役, 脚本进本目录。编号形态此后无机器面,现行判据 =docs/文档规范.md§7.1(2026-10-29 起一律停发)+ 评审; 留档docs/门禁说明/id-check-new.md(拦下过什么、为什么退、手工怎么再跑)。 - 退役流水与手工普查记录:
编号治理历史.md(原编号规范的全部正文已于 2026-11-06 删除, 仍生效的两条规则与存量族表并进了docs/文档规范.md§7.1)。
怎么手工跑一次
& '.venv\Scripts\python.exe' scripts/archive/id_gate/check_ids.py # 全库报告
& '.venv\Scripts\python.exe' scripts/archive/id_gate/check_ids.py --top 30 # 多看几条
退出码:0 = 无错误级 / 仅告警;1 = 有错误级(--strict 语义);2 = 环境错误。
注意:它扫的是 git ls-files,所以未跟踪文件不在扫描面(退役前的实测盲区)。
归档纪律
- 这两份语料不再维护:不要为了让报告变绿去改
id_registry.json/id_aliases.json。 scripts/rename_ids.py仍会往归档的id_aliases.json写条目(改名工具没退役)—— 那是它自己的账,与本目录的"冻结快照"性质不同,改名前先想清楚是否还要记这笔。- 真要恢复全库校验,先读
编号治理历史.md再决定,别直接把它塞回钩子。