Files
wandering1 20617a33f7 docs(编号规范): 编号一律停发——§4.1 五族也不再发新号,只读存量
用户裁定(2026-10-29):「啥号都不发」= 任何族都不再新增编号,
含 §4.1 那五个原本"有脚本按字面量匹配"的存量族;既有号只读引用,
族里新增内容一律写语义行名。

规范本体:
- §1 由「先问三句」改成「默认答案:不发号」,三问表换成场景对照表;
- §4.1 由「允许用号的族」改成「存量族」,第四列改「既有号被谁读 /
  新写怎么办」,逐行写明新写怎么做(TRAP 写语义行名、FR 用 §5 行名、
  CODE-RULE / MENU-STATE 先问用户、P-n 只读存量页号);
- 末框四条对照 + 唯一例外入口(确需机器按字面量匹配 → 先问用户);
- 新增族 = 一律不许;批准后顺序:本文 §4.1 → 属主文档 → 才动 registry。

跨文件同步(12 份):门禁说明 id-check-new / id-check / host-unit-tests
(把"校验 5/3 拦新号"这类现状叙述历史化)、两份 TRAP 记录的编号口径、
开机账本用例号说明、AGENTS 两处、id-family 技能与其 steps-alpha 模板、
归档 README 与两份归档脚本 docstring。

AGENTS 主题表那行原写「允许用号的 7 个族」,与规范的 5 行本就对不上,
旧计数一并消掉。

未做:pre-commit 的 default_stages 一行——用户对该项未置可否。

验证:py_compile 与 check_ids_new.py --self-test 均 rc=0;逐篇
check_doc_links.py --sections-strict rc=0(编号规范 70 处引用 /
68 可判定 / 无法判定 0);13 份改动文件表列数与字节体检相对基线零新增。
2026-10-29 21:31:42 +08:00

2.8 KiB
Raw Permalink Blame History

编号门禁归档(两道都已退役:全库语料审计 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 §1 的默认答案(2026-10-29 起一律停发)+ §4.1 存量族表 + 评审; 留档 docs/门禁说明/id-check-new.md(拦下过什么、为什么退、手工怎么再跑)。
  • 手工普查与恢复机器面:docs/编号规范.md §8.5(退役流水在 编号治理历史.md)。
  • 规范正文(仍然有效,只是不再全库机械校验):docs/编号规范.md §1 默认答案、§4.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 写条目(改名工具没退役)—— 那是它自己的账,与本目录的"冻结快照"性质不同,改名前先想清楚是否还要记这笔。
  • 真要恢复全库校验,先读 docs/编号规范.md §8.5 再决定,别直接把它塞回钩子。