docs(测试说明): 按用途分六个子目录并同步全库引用
分层:流程与规范/ 单元测试/ 板级测试/ 专项验证/ 测试工具/ 测试数据/, 顶层只留新增的目录导航 README.md(归层判据 + 硬约束 + 本次处置记录)。 - 搬迁 28 个路径:测试数据三个目录 58 个文件为纯改名(R100,内容逐字节不变) - 全库引用同步 124 个文件:AGENTS / docs 索引 / skills / 门禁注释 / scripts - 门禁面:scripts/check_test_traceability.py 的 glob 改 rglob (分层后不递归扫描=追溯门禁直接瞎掉) - scripts/rename_ref.py:收尾的 ℹ 提示在 GBK 代码页抛 UnicodeEncodeError, 让进程以退出码 1 收场而改写其实已落盘(RC 与真实结果相反);改为把 stdout/stderr reconfigure 成 UTF-8,与 check_doc_links.py 等同法 - docs/文档规范.md §1.1 补「子目录文件过多时再分一层」;§3.6 补 rename_ref 搬整目录的两个实测坑:① 会改写目录内部文件的内容 ② 内部文件的 ../ 出链 不补层级(本次 23 个被误改的证据文件已按 HEAD 原始字节逐字节还原) - docs/README.md §6 改为与六个子目录一一对应,并补登原先漏登记的 「启动日志原子性复验流程」一行 - .cubemx_survival_baseline.json:App/util/task_watchdog.c 的注释路径也随分层更新, 该文件是存活审计的 watchdog-module 漂移锚点,按脚本自己的提示跑 --write 重建基线 (实测重建后仅 watchdog-module 一条哈希变化) - 铁律 4 例外(本次在任务树里改了单写者文件):AGENTS.md 与 .pre-commit-config.yaml 只被 rename_ref 改写路径字面量(后者全在注释行), 任务表块与钩子声明一字未动 验证:check_doc_links.py --sections-strict 覆盖全部 88 个改动 .md 全绿; check_test_traceability.py 输出与主树逐行一致;196 个文本文件无 BOM、无新增 CR、无 U+FFFD、无行尾空白;陈旧引用面由主树 25 处降到 6 处(无新增断链)。
This commit is contained in:
@@ -174,7 +174,7 @@
|
||||
{
|
||||
"to": null,
|
||||
"status": "void",
|
||||
"note": "从未存在的陷阱号被 docs/测试说明/CH395F_Test_Guide.md 引用(§1.2 / §7.2:删除或改指实际条目)"
|
||||
"note": "从未存在的陷阱号被 docs/测试说明/板级测试/CH395F_Test_Guide.md 引用(§1.2 / §7.2:删除或改指实际条目)"
|
||||
},
|
||||
{
|
||||
"to": "TRAP-NET-19",
|
||||
@@ -2853,7 +2853,7 @@
|
||||
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
|
||||
"scope": [
|
||||
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
|
||||
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
|
||||
"docs/测试说明/板级测试/GD5F2GQ5UE_Test_Guide.md",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
|
||||
"Drivers/BSP/GD5F2GQ5UE/nand_ftl.c",
|
||||
@@ -2867,7 +2867,7 @@
|
||||
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
|
||||
"scope": [
|
||||
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
|
||||
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
|
||||
"docs/测试说明/板级测试/GD5F2GQ5UE_Test_Guide.md",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
|
||||
"Drivers/BSP/GD5F2GQ5UE/nand_ftl.c",
|
||||
@@ -2881,7 +2881,7 @@
|
||||
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
|
||||
"scope": [
|
||||
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
|
||||
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
|
||||
"docs/测试说明/板级测试/GD5F2GQ5UE_Test_Guide.md",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
|
||||
"Drivers/BSP/GD5F2GQ5UE/nand_ftl.c",
|
||||
@@ -2895,7 +2895,7 @@
|
||||
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
|
||||
"scope": [
|
||||
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
|
||||
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
|
||||
"docs/测试说明/板级测试/GD5F2GQ5UE_Test_Guide.md",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
|
||||
"Drivers/BSP/GD5F2GQ5UE/nand_ftl.c",
|
||||
@@ -2909,7 +2909,7 @@
|
||||
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
|
||||
"scope": [
|
||||
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
|
||||
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
|
||||
"docs/测试说明/板级测试/GD5F2GQ5UE_Test_Guide.md",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
|
||||
"Drivers/BSP/GD5F2GQ5UE/nand_ftl.c",
|
||||
@@ -2923,7 +2923,7 @@
|
||||
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
|
||||
"scope": [
|
||||
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
|
||||
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
|
||||
"docs/测试说明/板级测试/GD5F2GQ5UE_Test_Guide.md",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
|
||||
"Drivers/BSP/GD5F2GQ5UE/nand_ftl.c",
|
||||
@@ -2937,7 +2937,7 @@
|
||||
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
|
||||
"scope": [
|
||||
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
|
||||
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
|
||||
"docs/测试说明/板级测试/GD5F2GQ5UE_Test_Guide.md",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
|
||||
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
|
||||
"Drivers/BSP/GD5F2GQ5UE/nand_ftl.c",
|
||||
@@ -2950,7 +2950,7 @@
|
||||
"status": "renamed",
|
||||
"note": "同一属主的中文形「见陷阱 01」→ 与空格形合并成同一个号(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
|
||||
"scope": [
|
||||
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md"
|
||||
"docs/测试说明/板级测试/GD5F2GQ5UE_Test_Guide.md"
|
||||
]
|
||||
},
|
||||
"陷阱 1": {
|
||||
@@ -3296,7 +3296,7 @@
|
||||
"S-2": {
|
||||
"to": null,
|
||||
"status": "void",
|
||||
"note": "本号两义,均已死:① 登记簿 S-2(启动日志固化流程,2026-09-22 提出、2026-10-05 固化后销项)→ docs/测试说明/boot_log_data/README.md;② 报告 S-2(跨模块裸 `extern`,2026-10-22 已闭环)→ 契约见 App/task/task_handles.h、gd5f_spi1_notify_*、net_msg_queue_adopt"
|
||||
"note": "本号两义,均已死:① 登记簿 S-2(启动日志固化流程,2026-09-22 提出、2026-10-05 固化后销项)→ docs/测试说明/测试数据/boot_log_data/README.md;② 报告 S-2(跨模块裸 `extern`,2026-10-22 已闭环)→ 契约见 App/task/task_handles.h、gd5f_spi1_notify_*、net_msg_queue_adopt"
|
||||
},
|
||||
"N-2": {
|
||||
"to": null,
|
||||
|
||||
@@ -389,10 +389,10 @@
|
||||
"owner_docs_glob": [
|
||||
"docs/测试说明/*_Test_Guide.md",
|
||||
"docs/测试说明/*单元测试说明.md",
|
||||
"docs/测试说明/实机测试实施指南.md",
|
||||
"docs/测试说明/链路延迟测试说明.md",
|
||||
"docs/测试说明/自动化测试流程.md",
|
||||
"docs/测试说明/存储维护与容量恢复.md"
|
||||
"docs/测试说明/板级测试/实机测试实施指南.md",
|
||||
"docs/测试说明/专项验证/链路延迟测试说明.md",
|
||||
"docs/测试说明/流程与规范/自动化测试流程.md",
|
||||
"docs/测试说明/专项验证/存储维护与容量恢复.md"
|
||||
],
|
||||
"scope": "global",
|
||||
"frozen": true,
|
||||
@@ -612,7 +612,7 @@
|
||||
"title": "台架日志代次(§4.2 目标形态,数字不变仅改字面)",
|
||||
"pattern": "\\bGEN-[0-9]{1,3}\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/串口助手设计说明.md"
|
||||
"docs/测试说明/测试工具/串口助手设计说明.md"
|
||||
],
|
||||
"scope": "global",
|
||||
"frozen": false,
|
||||
@@ -626,7 +626,7 @@
|
||||
"title": "台架轮次(§4.2 目标形态,日期制)",
|
||||
"pattern": "\\bRUN-[0-9]{8}-[0-9]{1,2}\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/实机测试实施指南.md"
|
||||
"docs/测试说明/板级测试/实机测试实施指南.md"
|
||||
],
|
||||
"scope": "global",
|
||||
"frozen": false,
|
||||
@@ -795,7 +795,7 @@
|
||||
"title": "模拟器差距(§4.2;§7.1 收编 H-x / L-x / 差距 N-x)",
|
||||
"pattern": "\\bGAP-[0-9]{1,3}\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/模拟器差距清单.md"
|
||||
"docs/测试说明/专项验证/模拟器差距清单.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": false,
|
||||
@@ -813,7 +813,7 @@
|
||||
"title": "实机验证场景(§4.2;§7.1 收编实机预检 A1~A8、看门狗 V2/V4/V5)",
|
||||
"pattern": "\\bSC-[0-9]{1,3}\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/实机测试实施指南.md"
|
||||
"docs/测试说明/板级测试/实机测试实施指南.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": false,
|
||||
@@ -878,7 +878,7 @@
|
||||
"title": "链路延迟分段 LAT-<nn>(§4.2 文档内编号;存量 L1~L11)",
|
||||
"pattern": "\\bLAT-[0-9]{1,2}\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/链路延迟测试说明.md"
|
||||
"docs/测试说明/专项验证/链路延迟测试说明.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": false,
|
||||
@@ -1178,7 +1178,7 @@
|
||||
"title": "模拟器差距清单 H-1~H-7(§7.1 → GAP-01~07)",
|
||||
"pattern": "\\bH-[0-9]\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/模拟器差距清单.md"
|
||||
"docs/测试说明/专项验证/模拟器差距清单.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": true,
|
||||
@@ -1195,7 +1195,7 @@
|
||||
"title": "模拟器差距清单 L-1~L-4(§7.1 → GAP-08~11)",
|
||||
"pattern": "\\bL-[0-9]\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/模拟器差距清单.md"
|
||||
"docs/测试说明/专项验证/模拟器差距清单.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": true,
|
||||
@@ -1212,7 +1212,7 @@
|
||||
"title": "模拟器差距清单 N-1~N-6(§7.1 → GAP-12~17;与登记簿 N-x 同名不同义)",
|
||||
"pattern": "\\bN-[0-9]\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/模拟器差距清单.md"
|
||||
"docs/测试说明/专项验证/模拟器差距清单.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": true,
|
||||
@@ -1292,7 +1292,7 @@
|
||||
"pattern": "\\bV[2-9]\\b",
|
||||
"owner_docs": [
|
||||
"docs/子系统设计/看门狗设计说明.md",
|
||||
"docs/测试说明/实机测试实施指南.md"
|
||||
"docs/测试说明/板级测试/实机测试实施指南.md"
|
||||
],
|
||||
"scope": "doc-scoped",
|
||||
"frozen": true,
|
||||
@@ -1335,7 +1335,7 @@
|
||||
"title": "测试分层五档 T0/T0.5/T1/T2/T3(§4.2 目标形态;现存写 L0~L3)",
|
||||
"pattern": "\\bT[0-3](?:\\.5)?\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/测试开发标准流程.md"
|
||||
"docs/测试说明/流程与规范/测试开发标准流程.md"
|
||||
],
|
||||
"scope": "global",
|
||||
"frozen": false,
|
||||
@@ -1351,7 +1351,7 @@
|
||||
"title": "门禁档位 G0~G3(§4.2,与测试分层两套不合并)",
|
||||
"pattern": "\\bG[0-3](?:\\.5)?\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/测试开发标准流程.md"
|
||||
"docs/测试说明/流程与规范/测试开发标准流程.md"
|
||||
],
|
||||
"scope": "global",
|
||||
"frozen": true,
|
||||
@@ -1365,7 +1365,7 @@
|
||||
"title": "测试分层 / 算法层现存裸形 L0~L3(§4.2 目标 → T0~T3;§1.2 记四义)",
|
||||
"pattern": "\\bL[0-3](?:\\.5)?\\b",
|
||||
"owner_docs": [
|
||||
"docs/测试说明/测试开发标准流程.md",
|
||||
"docs/测试说明/流程与规范/测试开发标准流程.md",
|
||||
"App/algo/README.md"
|
||||
],
|
||||
"scope": "global",
|
||||
@@ -2155,7 +2155,7 @@
|
||||
]
|
||||
},
|
||||
"owner_docs_exclude": [
|
||||
"docs/测试说明/测试文档模板规范.md"
|
||||
"docs/测试说明/流程与规范/测试文档模板规范.md"
|
||||
],
|
||||
"designator_rule": "硬件语料位号识别:docs/硬件平台/ 与 docs/芯片手册/ 里匹配 ^[RCDJXUT][0-9]{1,3}$(无连字符)的字面量判为**位号**,不产生任何编号结论;不含 B(V0.0 网表报告的 B1 是真专项条目),带连字符的 D-7/N-18/TC-206 不受影响。机制在 check_ids.py 的 add() 里落地(统计键 designator_skipped)。**本目录仍未纳入扫描语料**:纳入前必须先把位号从可判定比例的 refs_total 里减掉,否则约 4200 处位号会把比例分母灌水、掩盖真实变化。 【批 9 扩展】同一规则再覆盖**引脚名/总线名/网名/区间**:^[A-Z]{2,3}[0-9]{1,2}(-[0-9]{1,2})?(如 PB12-15、PG0-15、PF13-15、DB0-15、OS0-2、KEY1-3、AIN1),同样不进 refs_total。带连字符的一字母形态(C-10 / A-9 / N-18 / D-7)与 TC-206 / TC1003 一律不受影响,仍照旧判。器件料号(FOC-817SC-F 被切成 FOC-817)**不做形状规则**:[A-Z]{3}-\\d{3} 与真家族 DEF-* 撞形,代价远大于收益,故留在台账 reason 里记账。",
|
||||
"excluded_paths_note": [
|
||||
|
||||
@@ -168,7 +168,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
2. **本文自述形态化**:把本文里 4 处「字母 T 紧跟数字」与 2 处 DRV 段孤儿号的**字面量写法**改成形态描述(lesson 不丢),使这四个族的门禁命中数真正归零,而不是停在「只有规范自己在引用」。
|
||||
3. **登记机器面还空着的那一面**:`scripts/archive/id_gate/id_registry.json` 给 `L-PROT`/`FEAT` 补 `retired` 字段;给 `T-TEST` 补 `cursor_note` 写明——它的 pattern 最高只到数字 3,**即使 `frozen: true` 校验 5 也碰不到任何新写法**(探针实测写 4 不响),所以该族停发今天只有 `docs/编号规范.md` §3.3 禁令 + 评审两道兜底,**别把「存量已清零」读成「机器已关闭」**。
|
||||
|
||||
> ⚠ 本轮执行期间另有一道并行改动落地:`docs/测试说明/boot_log_data/README.md`(登记簿旧号「启动日志固化流程」)与 `docs/测试说明/m2_data/README.md`(审计发现 E 族一处死号)已由该道改为语义短语——**本笔不重复改这两处、也不替它收口**;复测两处死号引用均为 0。
|
||||
> ⚠ 本轮执行期间另有一道并行改动落地:`docs/测试说明/测试数据/boot_log_data/README.md`(登记簿旧号「启动日志固化流程」)与 `docs/测试说明/测试数据/m2_data/README.md`(审计发现 E 族一处死号)已由该道改为语义短语——**本笔不重复改这两处、也不替它收口**;复测两处死号引用均为 0。
|
||||
|
||||
§8.1 的 7,828 是当日更早时点值;本轮 14:1x 复测 **791 文件 / 7,931 字面量 / 不可判定 982(上限 1,166,余量 184)/ 可判定 87.61%**——增量全部来自别道在飞的新代码与新文档,本笔净效果是**只减不增**。
|
||||
### 9.1 三批计划(按「值不值得动门禁」排序)
|
||||
@@ -243,7 +243,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
上一笔曾特意标 ✅ 保留,理由是该行被 `App/task/adc_task.c` 的 v3.3 修订行按卡号当口径出处引用;
|
||||
引用侧改成语义短语后该理由不再成立 → **例外撤销**。判据与实测记录的属主 =
|
||||
`docs/硬件平台/ADC通道映射说明.md` §8.1(六项判据全 PASS、斜率 6544.2 码/V、偏差 −0.14 %),
|
||||
执行侧 = `docs/测试说明/ADC前端注入验证流程.md`(含两项残留口径与残差表)。
|
||||
执行侧 = `docs/测试说明/专项验证/ADC前端注入验证流程.md`(含两项残留口径与残差表)。
|
||||
2. **整族清退**:「卡」+ 数字 1~11 那 11 行早在 2026-10-25 就删完了,代码注释里剩下的这种形态今天
|
||||
**查无此行**——按 `docs/编号规范.md` §4.1.1 末句,正确动作是**删号留事实**(换成语义短语),不是回去补一个定义。
|
||||
|
||||
@@ -333,7 +333,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
|
||||
1. **peer 的 JSON 键不改(本族清退到 schema 边界为止)**:`test/host/latency_peer.py` 的
|
||||
`l5_recv` / `l5_send` / `l3_drain` / `l7_crc` / `seg_l6` / `seg_l7_first_byte` / `seg_l7_total` /
|
||||
`frames_l7` 与内部字典键 `l3`/`l6`/`l7`(共 48 token)是 `docs/测试说明/m2_data/*.json` 五份
|
||||
`frames_l7` 与内部字典键 `l3`/`l6`/`l7`(共 48 token)是 `docs/测试说明/测试数据/m2_data/*.json` 五份
|
||||
**冻结实测证据**的 schema。改名要么让代码与归档数据漂移,要么得回头改证据文件(等于篡改
|
||||
测量产物)——两条都不接受。这是**有记录的刻意例外**,不是漏网。
|
||||
2. **`REQ2FIRST` / `FULLFRAME` 不并入 `ECHO_RT` / `FRAME_RT`**:它们是「整帧往返」段内两个不同
|
||||
@@ -362,7 +362,7 @@ P-6 号必须能反查到定义(属主登记处得存在)· P-7 编号不语
|
||||
| 2026-10-27 | **批次四:`L-PROT` / `FEAT` 发号口关闭(`docs/编号规范.md` §4.1 七行→五行)+ 本文自述形态化 + 登记 `T-TEST` 机器面空白** | 用户指令「语义标识已定为默认形态,看看还有哪些编号族仍被引用、各自还剩多少,把能清的族清掉一批」。按门禁 `Checker` 实测三口径重打 §9 存量表:**真编号活引用只剩 `TC-*`(保留、水位 497/81 未涨)、`TRAP-*`、`CODE-RULE-*`、`MENU-STATE-*` 四族**,批次一/二涉及的 `N-*`/`TM-*`/`T-TEST`/`L-PROT`/`FEAT` 活引用均已归零。本笔:① `docs/编号规范.md` §4.1 把 `L<n>-<nn>`、`F-<MOD>-<nn>` 从『允许继续发号』整行移出并在『已停发』栏各写一行(含探针证据:新形态号 → 校验 3 错误级);② 本文 6 处形态自述改「字母+数字」描述,使四个族门禁命中归零、lesson 不丢;③ registry 给 `L-PROT`/`FEAT` 补 `retired`、给 `T-TEST` 补 cursor_note(pattern 上限即 3 → 冻结游标是空操作,停发今天只有规范效力);④ 分类登记 `docs/编号规范.md` §4.4 误判面(版本记号 / 活表代号 / 状态组合 / 位号)与 `docs/编号规范.md` §4.3 冻结波次号两类**不清**的理由。未改门禁判定逻辑、未动冻结历史与原始串口日志、未新增任何号。 |
|
||||
| 2026-10-27 | **批次一 `F-*` 收口:网络设计 12 个条目号转「条目名」语义短语,§7 表加「条目名」列为权威对照** | 用户指令「把网络设计里的 `F-*` 条目号换成语义短语,别改坏硬件资料的 T1/T2/T3 位号和 Mermaid 节点名」。走 `scripts/rename_ids.py`(映射 `scripts/rename_maps/batch7-f-net-semantic.json`,`--no-alias` 后手工写别名),10 处定点改写=属主文档正文 9 处(含 1 处孤儿号删号留事实)+ `test/host/net_socket/net_socket_test.c` 注释 1 处;孤儿号(F 前缀 + 模块码段 + 数字序号的三段形态;§7 从无定义行)删号留事实、不补定义;13 个旧号标 `retired-to-phrase`。刻意不动:§7 编号列(历史对照)、`BSD_Socket_API_使用指南.md` 变更记录行、`docs/硬件平台/` 位号、Mermaid 节点名。`scripts/archive/id_gate/id_registry.json` FEAT `cursor_note` 改记停发口径(三模块各有最高号 → 不冻结游标的理由写在里面)。零代码语义变更。 |
|
||||
| 2026-10-27 | **停发机械化落地:34 个 `TC-HOST-*` 子族游标冻结,`docs/编号规范.md` §8 校验 5 开始咬新配的 TC 号** | 上一笔把缺口登记为「停发今天只有规范效力」并写明机械化怎么做;本笔照它落地、把话兑现:`scripts/archive/id_gate/id_registry.json` 37 个 TC 类族全部 `frozen: true`,34 个子族的 `cursor` 冻结在裁定日存量最高号(字符串形态——整型比较静默不生效;5 个低于存量的已抬:`TC-PROTELEM-013→015`、`TC-SYSLOG-108→137`、`TC-ADCHEALTH-011→023`、`TC-ADCCAL-017→023`、`TC-I104SRV-041→053`),理由记在顶层 `tc_freeze_2026_10_27`。探针(Checker `_check_frozen`):在 `TC-PROTSET-` 段存量最高号之上再加一号 → 命中 1 条校验 5,写存量最高号本身 → 零误伤;`check_ids.py --only 5` = 0 处;plain 与 `--strict` 的错误级 findings 与本笔前逐条相同(**12 条 `TC-TIMESYNC-0xx` 悬空引用属另一道在飞的 time_sync 改动,不在本笔写域,也没替它改**);台账 0 条、可判定 87.67%、不可判定 979 / 上限 1,166,不动 §8.1。**没有把主族 `TC` 说成已冻结**:它 `cursor` 仍为 `null`,`docs/编号规范.md` §4.1 框内第三条与 §9.1 末段把这块空白及其兜底(校验 3 + 冻结水位 564/474/79 只减不增 + 评审)写明,并规定「给这些模块补号即使在文档里补了定义行也算违令」。§9.1 末段由「效力边界」改写为「机器口径已落地」,当日实测留作历史不抹。零代码、零编号增删。 |
|
||||
| 2026-10-27 | **停发口径收口:`TC-*` 从『允许继续发号』表整行移出,并登记「机器面还没冻结」这个缺口** | 裁定上一笔已入档,但效力写在了会被扫表读过的地方:`TC-*` 仍占着「允许继续发号」表第一行、用途列还写着「要进 C 断言标签」,那句"注意它已停发"只是表前的脚注;而那张表连表头行都在早先瘦身时丢了(GFM 里表格不能紧跟段落,整张塌成正文)。本笔:① 移出该行、补回表头与空行,『允许继续发号』写成**恰好 7 行**;② 表下加防误读框,把「不做了」的两条误读各钉一次——「维持原状所以还能发」与「停发所以顺手清掉/复用号」,并写明唯一重启入口 = 先裁定再回本节改表;③ 实测登记效力边界:registry 37 个 TC 类族仍有 35 个 `frozen: false` 带活游标,`docs/编号规范.md` §8 第 5 项碰不到它们(且 `cursor` 为空时该校验直接跳过),所以停发今天只有规范效力,机械化单独开卡走 §7.3;④ `docs/编号规范.md` §5.1 补「不在 7 行内第 ① 步就走不通」、§9.1 两条硬口径扩成三条(新增「停发 ≠ 待清」)并补效力边界段、§9.2 计数 8 → 7。同步:`AGENTS.md` 索引行、`docs/测试说明/测试文档模板规范.md` §6.3、`docs/门禁说明/host-unit-tests.md` §7 号段行(那里原文写着「新增用例要带号」,是最直接的误读源头)。零代码、零编号增删。 |
|
||||
| 2026-10-27 | **停发口径收口:`TC-*` 从『允许继续发号』表整行移出,并登记「机器面还没冻结」这个缺口** | 裁定上一笔已入档,但效力写在了会被扫表读过的地方:`TC-*` 仍占着「允许继续发号」表第一行、用途列还写着「要进 C 断言标签」,那句"注意它已停发"只是表前的脚注;而那张表连表头行都在早先瘦身时丢了(GFM 里表格不能紧跟段落,整张塌成正文)。本笔:① 移出该行、补回表头与空行,『允许继续发号』写成**恰好 7 行**;② 表下加防误读框,把「不做了」的两条误读各钉一次——「维持原状所以还能发」与「停发所以顺手清掉/复用号」,并写明唯一重启入口 = 先裁定再回本节改表;③ 实测登记效力边界:registry 37 个 TC 类族仍有 35 个 `frozen: false` 带活游标,`docs/编号规范.md` §8 第 5 项碰不到它们(且 `cursor` 为空时该校验直接跳过),所以停发今天只有规范效力,机械化单独开卡走 §7.3;④ `docs/编号规范.md` §5.1 补「不在 7 行内第 ① 步就走不通」、§9.1 两条硬口径扩成三条(新增「停发 ≠ 待清」)并补效力边界段、§9.2 计数 8 → 7。同步:`AGENTS.md` 索引行、`docs/测试说明/流程与规范/测试文档模板规范.md` §6.3、`docs/门禁说明/host-unit-tests.md` §7 号段行(那里原文写着「新增用例要带号」,是最直接的误读源头)。零代码、零编号增删。 |
|
||||
| 2026-10-27 | **批次三裁定「不做」:`TC-*` 保留现状但即日停发** | 用户原话「批次三,不坐」(即不做)。裁定写进 §9.1 批次三(含理由与两条硬口径)、`docs/编号规范.md` §4.1『已停发』栏加一行、§9 结果表同步。停发的硬口径:游标冻结、现存号只减不增、**新用例一律用语义化测试函数名 + 文档表格行名,不再配 `TC-` 号**;真要清则先让追溯器同时认新旧两种形态、核对通过后单独开卡,不许先改文档再改代码(会造悬空号)。留着的判据依据:`TC-*` 是 `docs/编号规范.md` §4.1 那条判据(有脚本按字面量匹配)唯一真满足的族,字母号的痛在「人读」侧,解法是不再造给人读的号,而不是拆掉机器面的把手。 |
|
||||
| 2026-10-27 | **语义标识定为唯一默认形态;编号收窄为「机器按字面量匹配」的例外,并首次给出现量清点与三批计划** | 用户原话:「不要用字母加数字的编号,简直太难以理解了,语义标识是最好的」。本笔:① 标题下的一句话从「允许用号的族只有 8 个」改成「语义标识是唯一默认、编号是例外」,并把 `docs/编号规范.md` §4.1 拆成『允许继续发号』8 族与『已停发、存量待清』4 族(`N-*` / `TM-*` / 台架阶段裸形 / `F-*`)——原表自称穷举,实际漏登记了这三类在用族,属真缺陷。② 新增 §9 存量清点(用门禁自身接口实测:26 族仍有引用、565 个字面量、1,108 个引用站点)与三批计划:批次一 62 站点不碰门禁即可清、批次二保护功能号 184 站点转功能名、批次三 `TC-*` 561 站点需先换追溯机制(等用户裁定)。③ §8.1 基线按 2026-10-27 复测重打:784 文件 / 7,828 字面量、护栏 2 实跑 1,161 / 上限 1,166。 |
|
||||
| 2026-10-26 | **编号治理收口:清死号 → 停发活号 → 本文重写为短版(用户三次裁定)** | 全仓字母+数字编号 10,956 → 8,230 处。① **清死号**:属主登记处已删或从未启用的号一律就地删号留事实、禁补号(文本实删约 1,557 处)。② **停发活号**:登记簿 `N-x`/`S-x`/`T-x`、专项(A 前缀 + 数字)、已删报告的 UI 簇(字母 U 紧跟一位数字,区间两端即该簇首尾两枚)共 20 个号转成语义短语(约 418 处)——登记簿表首格就是短语,旧号进 `scripts/archive/id_gate/id_aliases.json` 标 `retired-to-phrase`;已销项的死号**故意不进别名表**,让门禁继续咬残留引用。③ **本文瘦身**:619 行 → 229 行,删掉八原则长表、迁移映射表、模块码表与门禁细节(那些各有事实源:registry / 别名表 / `docs/门禁说明/id-check.md`),改成「先问三句再决定要不要发号」+ `docs/编号规范.md` §4.1 允许用号的族**穷举 = 8 个**。④ **门禁配套**:`check_ids.py` 加变更记录行豁免与第二根护栏 `undecidable_total_ceiling`(比值会被清号动作稀释,绝对数不会),债务台账还清到 0 条 → `--strict` 实为全量拦截,比例基线重打为 86.0%。**本表按用户 2026-10-26 的明确指示只保留最近一条**,更早沿革看 `git log` 与 `docs/门禁说明/id-check.md` §7.5(含其后的方案 B 一节);这是**本文档的例外**,不改变 `docs/编号规范.md` §5.5对其他文档「冻结历史不回改」的约束。 |
|
||||
|
||||
Reference in New Issue
Block a user