Files
STM32F4-Base/scripts/archive/id_gate
wandering1 8f8d97b3d8
CI / 静态门禁 (pre-commit) (push) Failing after 8m4s
CI / 主机侧单测 (MSVC) (push) Successful in 27s
docs(编号): 批次六余账文档面——CubeMX 层号、双写疤、采集链旧层名共 61 站点
- CubeMX 防丢失三层优先级 L1/L2/L3(批次 3c 漏网 30 处):看门狗设计说明 25、
  门禁说明/cubemx-survival 3(含「优先 L1/L2」→「优先写进 .ioc 与搬进 USER CODE
  区」)、ADC通道映射 2。
- 改名遗留的中文重叠双写 14 处:菜单页面设计「一级菜单菜单」×6、「二级菜单菜单」
  ×2;README「语义取数与有效性」重复;存储架构「3字节字节地址」;链路延迟
  「队列往返队列往返」;继电保护「出口出口与记录层」;产品需求「全周傅氏相量」重复。
- 采集链旧层名 5 处:「L2 相量层」→ 全周傅氏相量、「L0 采样驱动」→ 采样驱动层、
  「L2-x 前缀」→ 相量输出标签前缀、「L1 层 v2.3」→ 语义取数与有效性层 v2.3。
- UI 菜单层级 2 处:产品需求「4 级(L0~L3)」→「4 级(主界面 / 一级 / 二级 /
  三级菜单)」、「主界面 (L0)」→「主界面」。
- 登记簿条目改名「L5 队列往返基线待重验」→「队列往返基线待重验」+ 引用侧 5 处
  同步(登记簿 §1/§7、实机测试实施指南 §7.3 与步骤表、编号规范 §1 好例子清单——
  那个混在短语里的 L5 恰恰是个坏例子)。归档里的历史 note 原文不动。
- 归档 §10.3:四族收口记录 + 边界与裁定(peer JSON 键属冻结证据 schema 不改;
  REQ2FIRST / FULLFRAME 不并入 FRAME_RT;L1-3/L1-4 属不可还原死号,就地删号留
  事实;「原 L2 基线 3/10」按上下文读作主机侧回归的早期基线)。
- 判族保留(永久):硬件位号与封装尺寸 27 处(网表 L1~L3 磁珠电感、
  SOT-23_L2.9-W1.3、CRYSTAL-L3.2)、芯片手册原文 3 处双写;伪命中 4 条没删
  (「遥测量 测量值」「已登记登记簿」「谁来监视监视者」×2)——那些是正常词组。
- 门禁:check_doc_links --all --sections-strict 通过(195 篇、章节引用 3292 处);
  git diff --check 干净;逐文件 BOM / U+FFFD / CRLF 与 HEAD 一致。
2026-10-28 18:57:03 +08:00
..

编号门禁·全库语料审计(已退役,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 族总表。

怎么手工跑一次

& '.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 再决定,别直接把它塞回钩子。