Files
STM32F4-Base/scripts/rename_maps/batch3-trap.json
T
wandering1 52976bdec3 refactor(编号): 批 4 陷阱号统一为 TRAP-<模块码>-<nn>
本批是 ② 形态迁移清的第一族(用户裁定顺序:② 里的 Trap 一族先做)

统一了什么(数字不变、只补模块码,§7.1)——改名工具 23 处 / 11 文件
- Trap 01~07 → TRAP-GD5F-01~07:属主文档 7 个标题行从此成为定义位
- 陷阱 1 → TRAP-RTC-01(SD2506 属 RTC 域,§4.2)、见陷阱 01 → TRAP-GD5F-01
- Trap 21 / Trap 19 → TRAP-NET-21 / TRAP-NET-19(引用的是活登记处
  CH395F_Trap_Records.md,号本身不变)
- 波及 Drivers/BSP/GD5F2GQ5UE/*(4 处注释)与 test/board/*(2 处)→ 已重编

三处判读后**刻意不改**(写进 §8.3,不让人当成漏网)
- docs/环境与部署/并行任务工作树方案.md 的 wip/trap22-fix 是 git 分支名,不是编号;
  这类非编号字面量要靠类型处理,与位号 T1、IEEE 负序 S2、gitlint 规则 ID 同一批
- docs/UI设计/菜单页面设计.md 变更记录行的「陷阱 3」按 §8.1 冻结不改写
- docs/硬件平台/V0.0、V0.1 网表报告里 6 处 Trap05 语义确指 TRAP-NET-05,但该目录
  是门禁与改名工具共同的排除语料 → 不越界动笔,盲区登记进注册表 TRAP 族 cursor_note

两处不是改名、是改错话(映射表类工具的典型失效:字面对了、意思错了)
- scripts/README.md 原写「Trap 19 从未存在」;改名后字面变成 TRAP-NET-19,而它是
  **真实条目**(SET_MAC 必须在 INIT_CH395 之前)→ 那句话成了假话,改用站得住的例子
- docs/编号规范.md 同一处事故叙述补准确说法:当年裸形不在册 ≠ 这个坑不存在
- 菜单页面设计.md 的「见 §8.2 陷阱 1」本就不是 TRAP-* 族的号(指本文小节第 1 条),
  改写成「见本文 §8.2 第 1 条(lv_text_get_width 的 length=0 陷阱)」

关闸第一次真拦人:咬的是自己家的审计表
- scripts/rename_maps/batch3-trap.json 里必然写着 Trap 21 / 陷阱 1 等旧形态,
  被当成 6 类「台账外新账」→ 提交被拦(拦得对,但表不是语料)
- 第 4 次同一类自循环(前三次:别名表、注册表、债务台账)→ 整个 rename_maps/
  目录入 excluded_paths;这条规律写进 §8.4:**登记号的表一律不得当引用语料**

实测变化
- 错误级 659 → 632(−27);② 空格/中文形 Trap 残余 2 处(都是上面刻意保留的)
- ③ 悬空错误 44 → 42:TRAP-GD5F-01/05/06 三处历史悬空引用自动落地为已定义
- 编号字面量 8277 → 8312(识别面没有缩水,这是改名最容易踩的坑);
  可判定比例 82.92% → 82.99%(基线 82.6%);⑦ 定义无引用 100 → 103(如 TRAP-GD5F-02
  只有定义位无人引用,如实挂 warn 不压掉)
- 台账 --prune-backlog 收掉已还清 42 条,剩 298 条(只减不增);--strict 通过

另修:core.autocrlf=true 把 SD2506_Trap_Records.md 检出成 CRLF(41 处)→ 还原 LF,
该文件 diff 只剩 1 行实质改动(仓库权威行尾是 LF,见 .gitattributes)

验证(全绿)
- @build:0 错误 0 警告(Program Size Code=213356 RO=18580 RW=1184 ZI=131480)
- ci_local.py:L0 + L0.5 全过(16 runner / 1104 断言)
- check_doc_links.py --all:143 篇文档 0 失效、0 待确认
- 改动文件字节卫生逐项与 HEAD 对比:BOM / CR / U+FFFD 异常 0

审计轨迹与文档
- 映射表 scripts/rename_maps/batch3-trap.json(含作用域切分理由与刻意不改清单)
- 别名 11 条全部带 scope;docs/编号规范.md §7.1 行状态、§8.3 批 4 行 + 说明段、
  §8.4 自循环第 4 条、变更记录
2026-10-21 12:32:13 +08:00

54 lines
2.4 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"schema": 1,
"batch": "批 3-Trap(2026-10-21)",
"applied_by": "scripts/rename_ids.py",
"record": "docs/编号规范.md §8.3 / §7.1",
"note": "陷阱号统一为 TRAP-<模块码>-<nn>:数字不变、只补模块码(§7.1)。作用域按文件切分,因为同一空格形在不同文件里指向不同族的属主文档——GD5F 的属主是 GD5F2GQ5UE_Trap_Records.md,README.txt/scripts/README.md 里的 Trap 21/19 指向 CH395F_Trap_Records.md(NET 域),SD2506 的中文形按 §4.2 归 RTC 域。刻意不改:docs/环境与部署/并行任务工作树方案.md:39 的 wip/trap22-fix 是分支名不是编号;docs/UI设计/菜单页面设计.md:501 的「§8.2 陷阱 1」是本文小节内第 1 条(另走平实语言改写);:896 是变更记录行(§8.1 冻结不改写)。",
"batches": [
{
"family": "TRAP",
"old": "\\bTrap (?P<n>\\d{2})\\b",
"new": "TRAP-GD5F-{n:02d}",
"files": [
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
"docs/问题记录/项目审查与优化建议报告.md",
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
"Drivers/BSP/GD5F2GQ5UE/nand_ftl.c",
"test/board/gd5f_test_task.c",
"test/board/storage_test_task.c"
],
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)"
},
{
"family": "TRAP",
"old": "陷阱 (?P<n>\\d{2})\\b",
"new": "TRAP-GD5F-{n:02d}",
"files": [
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md"
],
"note": "同一属主的中文形「见陷阱 01」→ 与空格形合并成同一个号"
},
{
"family": "TRAP",
"old": "陷阱 (?P<n>\\d{1,2})\\b",
"new": "TRAP-RTC-{n:02d}",
"files": [
"docs/问题记录/SD2506_Trap_Records.md"
],
"note": "SD2506(RTC 芯片)域:陷阱 1 → TRAP-RTC-01(§4.2 该域按 RTC 编号)"
},
{
"family": "TRAP",
"old": "\\bTrap (?P<n>\\d{1,2})\\b",
"new": "TRAP-NET-{n:02d}",
"files": [
"MDK-ARM/retracted_bench_20260922/README.txt",
"scripts/README.md"
],
"note": "NET(CH395F)域:Trap 21 → TRAP-NET-21、Trap 19 → TRAP-NET-19;两处引用的都是 CH395F_Trap_Records.md 这个活登记处,号本身不变"
}
]
}