Files
STM32F4-Base/scripts/id_aliases.json
T
wandering1 301c3e5183 feat(门禁): 编号门禁 id-check 落地(36→37 钩子)+ 批 1 编号单词化改名
新增门禁本体
- scripts/check_ids.py:实现 docs/编号规范.md §8 八项校验;默认 warn-only,
  唯一硬拦项是「可判定比例跌破基线」(防回退的本体)
- scripts/id_registry.json:66 个前缀族,逐项来自 §4 总表 + 全库实测游标,
  偏差一律写进 cursor_note,不凭记忆编造
- scripts/id_aliases.json:旧号 → 新号 / 作废标记(照搬 section_aliases.json 范式)
- 顺带收编 check_test_traceability.py:正则补齐大写后缀与无模块码形态,
  比对范围扩到 test/host 与 7 篇「单元测试说明.md」,另加 --board-only 回退旧口径

批 1 改名(用户授权解禁「不改写存量号」)
- 代码规范条款 S1~S19 → CODE-RULE-nn:78 处 / 2 文件
- UI 像素回归状态 S0~S7 → MENU-STATE-nn:61 处 / 3 文件(冻结在 07)
- 两族属主登记处 = 脚本自身的规则表 / STATES 表,文档只作引用方
- 新增 scripts/rename_ids.py(§7.3 规划脚本):映射表驱动、显式 scope、默认干跑、
  自动写 scoped 别名,跳过 [示例]/[计划] 行与变更记录表,按原字节读写保 BOM 行尾
- 已应用映射表存档 scripts/rename_maps/batch1.json 作审计轨迹

有牙实测(证明门禁不是空转)
- 注入 Z-99 / 裸形 / 悬空 / 越游标 / 未紧邻 / 跨文档重复定义 六例,
  分别被校验 1/2/3/5/6/4 点名,--strict 退出码 1;临时档删除后工作树干净

验证与同步
- 可判定比例基线 82.3% → 82.7%(已 --update-baseline 入档);错误级 1312 → 1291
- ci_local.py 全绿(L0 + L0.5 共 1104 断言);ui-golden Passed;
  check_doc_links.py --all 无法判定 0
- 未改任何 C/H 源文件,故本次不需 @build
- 文档:AGENTS.md 与 pre-commit使用说明.md 计数 36→37 并新增 §2.25 详解;
  编号规范 §4.1 补两行、§8.1 落地记录、§8.2 规范与仓库偏差、§8.3 迁移批次记录
2026-10-21 09:33:54 +08:00

300 lines
14 KiB
JSON

{
"schema": 1,
"generated_from": "docs/编号规范.md §7 迁移映射 + §4.3 冻结前缀;本表只登记**仓库里已实际出现**的旧字面量 → 现行字面量,不做尚未落地的批量改写(§7.2 阶段 1 一律保留存量)",
"note": "旧号引用不因本表而改写:本表只让门禁把「旧号引用」判成可解析(校验 3 悬空引用 / 校验 4 重复定义)。批量改写属 §9 阶段 1,须逐批 dry-run + 三重复核(§7.3)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。",
"aliases": {
"N-31": {
"to": null,
"status": "void",
"note": "2026-10-11 的 Phase 7 复跑项已随销项消失;2026-10-14 同号被新条目复用造成撞号(docs/任务规划/README.md §0 注)→ 历史引用指向旧条目,新含义一律改语义标识"
},
"N-32": {
"to": null,
"status": "void",
"note": "监听生命周期模块化条目已销项,但被 docs/网络/ 三篇与多处代码注释引用(docs/编号规范.md §1.2 列为悬空引用实锤)→ §7.2 待处置:改指 docs/网络/网络自愈架构设计.md §9.3 或就地展开"
},
"N-33": {
"to": null,
"status": "void",
"note": "栈余量收口条目已随 M1 台架闭环销项(2026-10-12),登记簿行已删,结论在 docs/内存管理/RAM使用分析与优化方案.md §1.4"
},
"N-30": {
"to": null,
"status": "resolved-in-place",
"note": "sock_reset 原语收口受阻项:登记簿行仍在(2026-10-14 建档),编号规范 §4.1 误记为已销项 → 以登记簿为准"
},
"Trap 19": {
"to": null,
"status": "void",
"note": "从未存在的陷阱号被 docs/测试说明/CH395F_Test_Guide.md 引用(§1.2 / §7.2:删除或改指实际条目)"
},
"PHY": {
"to": "NET",
"status": "module-code",
"note": "§6 废止模块码:TM-PHY-01~11 → TM-NET-01~11(历史文档不回改,新文档按 §6 表)"
},
"NAND": {
"to": "GD5F",
"status": "module-code",
"note": "§6 废止模块码:TC-NAND-* / TM-NAND-* → GD5F"
},
"S0": {
"to": "MENU-STATE-00",
"status": "renamed",
"scope": [
"simulator/tests/check_menu_rows.py",
"docs/UI设计/UI_自动化测试流程.md",
"simulator/README.md"
],
"note": "批 1:UI 菜单像素回归状态号单词化(S0~S7 = 按键序列状态 → MENU-STATE-nn)(scripts/rename_ids.py 批:族 MENU-STATE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S1": [
{
"to": "MENU-STATE-01",
"status": "renamed",
"scope": [
"simulator/tests/check_menu_rows.py",
"docs/UI设计/UI_自动化测试流程.md",
"simulator/README.md"
],
"note": "批 1:UI 菜单像素回归状态号单词化(S0~S7 = 按键序列状态 → MENU-STATE-nn)(scripts/rename_ids.py 批:族 MENU-STATE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
{
"to": "CODE-RULE-01",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
}
],
"S2": [
{
"to": "MENU-STATE-02",
"status": "renamed",
"scope": [
"simulator/tests/check_menu_rows.py",
"docs/UI设计/UI_自动化测试流程.md",
"simulator/README.md"
],
"note": "批 1:UI 菜单像素回归状态号单词化(S0~S7 = 按键序列状态 → MENU-STATE-nn)(scripts/rename_ids.py 批:族 MENU-STATE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
{
"to": "CODE-RULE-02",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
}
],
"S3": [
{
"to": "MENU-STATE-03",
"status": "renamed",
"scope": [
"simulator/tests/check_menu_rows.py",
"docs/UI设计/UI_自动化测试流程.md",
"simulator/README.md"
],
"note": "批 1:UI 菜单像素回归状态号单词化(S0~S7 = 按键序列状态 → MENU-STATE-nn)(scripts/rename_ids.py 批:族 MENU-STATE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
{
"to": "CODE-RULE-03",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
}
],
"S4": [
{
"to": "MENU-STATE-04",
"status": "renamed",
"scope": [
"simulator/tests/check_menu_rows.py",
"docs/UI设计/UI_自动化测试流程.md",
"simulator/README.md"
],
"note": "批 1:UI 菜单像素回归状态号单词化(S0~S7 = 按键序列状态 → MENU-STATE-nn)(scripts/rename_ids.py 批:族 MENU-STATE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
{
"to": "CODE-RULE-04",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
}
],
"S5": [
{
"to": "MENU-STATE-05",
"status": "renamed",
"scope": [
"simulator/tests/check_menu_rows.py",
"docs/UI设计/UI_自动化测试流程.md",
"simulator/README.md"
],
"note": "批 1:UI 菜单像素回归状态号单词化(S0~S7 = 按键序列状态 → MENU-STATE-nn)(scripts/rename_ids.py 批:族 MENU-STATE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
{
"to": "CODE-RULE-05",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
}
],
"S6": [
{
"to": "MENU-STATE-06",
"status": "renamed",
"scope": [
"simulator/tests/check_menu_rows.py",
"docs/UI设计/UI_自动化测试流程.md",
"simulator/README.md"
],
"note": "批 1:UI 菜单像素回归状态号单词化(S0~S7 = 按键序列状态 → MENU-STATE-nn)(scripts/rename_ids.py 批:族 MENU-STATE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
{
"to": "CODE-RULE-06",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
}
],
"S7": [
{
"to": "MENU-STATE-07",
"status": "renamed",
"scope": [
"simulator/tests/check_menu_rows.py",
"docs/UI设计/UI_自动化测试流程.md",
"simulator/README.md"
],
"note": "批 1:UI 菜单像素回归状态号单词化(S0~S7 = 按键序列状态 → MENU-STATE-nn)(scripts/rename_ids.py 批:族 MENU-STATE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
{
"to": "CODE-RULE-07",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
}
],
"S10": {
"to": "CODE-RULE-10",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S11": {
"to": "CODE-RULE-11",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S12": {
"to": "CODE-RULE-12",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S13": {
"to": "CODE-RULE-13",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S15": {
"to": "CODE-RULE-15",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S16": {
"to": "CODE-RULE-16",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S17": {
"to": "CODE-RULE-17",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S18": {
"to": "CODE-RULE-18",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S19": {
"to": "CODE-RULE-19",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S8": {
"to": "CODE-RULE-08",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
},
"S9": {
"to": "CODE-RULE-09",
"status": "renamed",
"scope": [
"scripts/check_coding_standard.py",
"docs/代码规范/pre-commit使用说明.md"
],
"note": "批 1:代码规范条款号单词化(S1~S19 → CODE-RULE-nn)(scripts/rename_ids.py 批:族 CODE-RULE)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响"
}
},
"id_aliases": {}
}