1668842d61
第三步(用户裁定跳过观察期直接做)。第一步bf2a5c21把两根护栏转报告制, 第二步a5832788立起只查新增行的新门禁,本笔把旧的全库语料审计整体退役: 语义标识已是默认形态,这套 99 族语料不再有人需要维护。 移动(保留可复现性,不再进提交门禁): - scripts/check_ids.py → scripts/archive/id_gate/check_ids.py - id_registry.json(87.6 KB,99 族)/ id_aliases.json(187 KB)/ id_known_backlog.json 一并归档;新写 archive README:为什么退役、现在用什么、怎么手工跑、归档纪律。 - 归档脚本改了自定位(仓库根往上 4 层、语料与脚本同目录)与一行退役横幅; 从新路径实跑:811 文件 / 8,051 字面量,--strict rc=0。 钩子:删 id-check(52 → 51)。现役编号门禁只剩 id-check-new(只查新增行、零语料)。 声明数 51 = commit 阶段 50 + gitlint 1,三数已对齐(AGENTS / 门禁索引 / YAML)。 连带改动: - rename_ids.py 的别名表路径指向归档(改名工具本身没退役); - check_ids_new.py 排除面加 scripts/archive/(语料里全是编号字面量,天经地义); - doc-links 跳过 .mnemon/ 与 ci-artifacts/(本地记忆状态与草稿,非项目文档)—— 语料搬家后这些目录里的旧路径引用会假红,它们本来就不该参与文档门禁; - 全库 .md 里的旧路径引用改指 scripts/archive/id_gate/(含两份 skill 手册); - id-check.md 加退役横幅并保留原文作留档;门禁索引把该行标成已退役; - 编号规范 §8 改成「现行只有一道门禁」+ §8.1~§8.4 标为退役留档 + §8.5 ③ 置已完成; 各加一条 2026-10-28 变更记录行。 验证(实测):YAML 口径 51 个钩子、id-check 不在其中;doc-links --all --sections-strict 通过(194 文档);mojibake / bom-guard / coding-standard / git diff --check 全 rc=0; 新门禁自检 5 正例 + 29 反例仍全过。
42 lines
2.3 KiB
Markdown
42 lines
2.3 KiB
Markdown
# 编号门禁·全库语料审计(已退役,2026-10-28 归档)
|
||
|
||
本目录是 2026-10-20 ~ 2026-10-28 期间在 `pre-commit` 里跑的那套**全库编号审计**,
|
||
连同它的两份语料一起搬进来,**不再进提交门禁**。
|
||
|
||
| 文件 | 是什么 |
|
||
|---|---|
|
||
| `check_ids.py` | 八项校验脚本(规范 §8)。手工复查存量编号现状时才跑 |
|
||
| `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 族已冻结。真正值得机械守的只剩一件事——**别新写一个自造编号**,
|
||
而那件事不需要语料(判据只要「这个前缀我没见过」)。
|
||
|
||
## 现在用什么
|
||
|
||
- **现行门禁**:`scripts/check_ids_new.py` + 钩子 `id-check-new` —— 只查 `git diff` 新增行,
|
||
零语料。详解 `docs/门禁说明/id-check-new.md`。
|
||
- **路线与验收条件**:`docs/编号规范.md` §8.5(①②③ 三步的来龙去脉)。
|
||
- **规范正文**(仍然有效,只是不再全库机械校验):`docs/编号规范.md` §1 先问三句、§4.1 族总表。
|
||
|
||
## 怎么手工跑一次
|
||
|
||
```text
|
||
& '.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` 写条目(改名工具没退役)——
|
||
那是它自己的账,与本目录的"冻结快照"性质不同,改名前先想清楚是否还要记这笔。
|
||
- 真要恢复全库校验,先读 `docs/编号规范.md` §8.5 再决定,别直接把它塞回钩子。
|