docs(问题记录): 删除项目审查与优化建议报告,结论并入模块文档与编号规范

用户裁定:该报告大部分内容已闭环,可删除;仍有价值的迁到合适文档。删前逐条核对,
确认绝大多数结论在仓内早已有权威副本(LV_DRAW_SW_COMPLEX / osFlagsNoClear / SPI 分频 8
/ 分层反向依赖存量基线等),只迁真正独有的四类内容:

1. 暂缓理由与重开条件(三条量化门槛)→ RAM 使用分析与优化方案 §4,并明确「本节是唯一
   权威」,其它文档只留指针;同时把 10 处指向报告 §5.3 的重开条件引用改指该节。
2. 2026-10-22「常驻 vs 动态」三项诊断(静态前五块 43,462 B = 58%;动态面只有 heap_4,
   故栈余量=CCM 余量;栈深主因是日志/配置写链)→ 同文档 §2.5。
3. `_fp_digits` 1,018 B 删不掉的机理与 F-6 根因修法(Q10 宏改单精度,−332 B,4.49e6 例
   逐位等价)→ §2.6.4。
4. 「UI 侧缓冲进 CCM」要按 DMA 可达性二分(LVGL 池可进,帧缓冲/推流缓冲不可)→ 暂缓清单。

编号侧(报告曾是 6 个族的属主登记处):
- 原报告 §9 的 26 行「号 → 现在详述于」对照表迁到 docs/编号规范.md 新增 §4.5,6 族
  owner_docs 改指该节。规范正文含大量写法示例,直接当定义集会误伤,故 check_ids.py
  新增 `_def_owners`:snapshot_only 族剔除规范正文,只恢复可判定、不参与悬空/撞号/裸形
  /紧邻判定(实测若不分,裸形 S1 误报 238 条、S-3 与登记簿 S-3 误判重复定义)。
- 11 个已死号(N-03b/N-10~N-13/N-20/N-21/N-24/N-26/S-1/S-2)在 id_aliases.json 登记
  status=void 并写明去处——它们被约 110 处代码注释与文档引用,原先只靠「报告里顺带提过
  一句」才算有定义,报告一删就集体悬空。N-21/S-1/S-2 一号两义,注记已分别标明。
- 顺带修 id_aliases.json 的 note 被脚本累积重复 26 次;修 registry 里 3 处仍指向改名前的
  任务卡文件名(W1-采集保护收尾.md / W8-数据可信.md),以及 iec104_master.py 两处同类注释。

门禁:check_ids --strict 通过(可判定 8747/10410 = 84.02%,基线由 82.6% 抬到 84.0%);
check_doc_links --all --sections-strict 通过(177 文档);pre-commit 相关钩子全过。
This commit is contained in:
2026-10-25 02:08:58 +08:00
parent 1e6996ecd0
commit 15aa08552c
28 changed files with 258 additions and 874 deletions
+56 -8
View File
@@ -1,7 +1,7 @@
{
"schema": 1,
"generated_from": "docs/编号规范.md §7 迁移映射 + §4.3 冻结前缀;本表只登记**仓库里已实际出现**的旧字面量 → 现行字面量,不做尚未落地的批量改写(§7.2 阶段 1 一律保留存量)",
"note": "旧号引用不因本表而改写:本表只让门禁把「旧号引用」判成可解析(校验 3 悬空引用 / 校验 4 重复定义)。批量改写属 §9 阶段 1,须逐批 dry-run + 三重复核(§7.3)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。",
"note": "旧号引用不因本表而改写:本表只让门禁把「旧号引用」判成可解析(校验 3 悬空引用 / 校验 4 重复定义)。批量改写属 §9 阶段 1,须逐批 dry-run + 三重复核(§7.3)。 带 scope 的条目只在所列文件内生效(同一裸形字面量可能属多族,全局别名会把真撞号洗成已解析)。",
"aliases": {
"N-31": {
"to": null,
@@ -2706,7 +2706,6 @@
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
"scope": [
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
"docs/问题记录/项目审查与优化建议报告.md",
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
@@ -2721,7 +2720,6 @@
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
"scope": [
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
"docs/问题记录/项目审查与优化建议报告.md",
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
@@ -2736,7 +2734,6 @@
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
"scope": [
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
"docs/问题记录/项目审查与优化建议报告.md",
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
@@ -2751,7 +2748,6 @@
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
"scope": [
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
"docs/问题记录/项目审查与优化建议报告.md",
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
@@ -2766,7 +2762,6 @@
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
"scope": [
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
"docs/问题记录/项目审查与优化建议报告.md",
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
@@ -2781,7 +2776,6 @@
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
"scope": [
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
"docs/问题记录/项目审查与优化建议报告.md",
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
@@ -2796,7 +2790,6 @@
"note": "GD5F 存储域:Trap 01~07 → TRAP-GD5F-01~07(属主文档 7 个标题行为定义位,其余为引用)(scripts/rename_ids.py 批:族 TRAP)|旧号仅在本批 scope 内指向新号;scope 外同字面量属其它族,不受本条影响",
"scope": [
"docs/问题记录/GD5F2GQ5UE_Trap_Records.md",
"docs/问题记录/项目审查与优化建议报告.md",
"docs/测试说明/GD5F2GQ5UE_Test_Guide.md",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.c",
"Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h",
@@ -3102,6 +3095,61 @@
"docs/硬件平台/V0.1_网表详细分析报告.md"
],
"note": "批 7:硬件网表报告里的裸形 Trap05 统一成 TRAP-NET-05(属主条目 docs/问题记录/CH395F_Trap_Records.md,语义 = CH395F 与 RTL8305 自动协商不兼容)。该目录仍不在门禁扫描语料内(约 4200 处位号噪声,位号类型识别未做前不纳入)。"
},
"N-03b": {
"to": null,
"status": "void",
"note": "报告 N-03b(IWDG / `configASSERT` / 两个钩子 / 4 个 Fault 现场)——属主文档 docs/问题记录/项目审查与优化建议报告.md 已于 2026-10-25 删除。现行去处:docs/子系统设计/看门狗设计说明.md §4.4、§10.1/§10.2 + AGENTS.md「平台约束」"
},
"N-10": {
"to": null,
"status": "void",
"note": "报告 N-10(UI accept 门控)——属主文档 2026-10-25 已删除。现行去处:docs/UI设计/RemoDispBus协议与接收设计说明.md §3、docs/子系统设计/看门狗设计说明.md §11.4;实施代码 Drivers/BSP/UI/ui_net_sink.c"
},
"N-11": {
"to": null,
"status": "void",
"note": "报告 N-11(NAND 直 DMA 调用方缓冲 / CCM 迁移硬边界,登记簿曾用 N-26)——属主文档 2026-10-25 已删除。现行去处:docs/内存管理/内存内容分配策略.md §3 + §4 规则 R1~R4 + §8;代码三层 = gd5f2gq5ue.h 编译期窗口断言 → nand_ftl.c 启动期自检 → gd5f_dma_buf_ok() 运行时强制"
},
"N-12": {
"to": null,
"status": "void",
"note": "报告 N-12(dhara 移植层 `is_free` 整页精度,登记簿曾用 N-21)——属主文档 2026-10-25 已删除。现行去处:docs/架构设计/STM32F4-Base存储架构说明.md §5.3 + 主机侧单测 test/host/nand_port/(含「旧算法只看页首 64 B」的对照用例)"
},
"N-13": {
"to": null,
"status": "void",
"note": "报告 N-13(移植层 HAL 越界守卫 + `DHARA_E_CORRUPT_MAP`,登记簿曾用 N-21)——属主文档 2026-10-25 已删除。现行去处:docs/架构设计/STM32F4-Base存储架构说明.md §5.3 + Drivers/BSP/GD5F2GQ5UE/nand_ftl.c 的 `ftl_page_in_range` / `ftl_block_in_range` 注释"
},
"N-20": {
"to": null,
"status": "void",
"note": "登记簿 N-20 = 报告 N-03c(`Error_Handler` 死循环统一降级),2026-10-15 销项删行。结论去处:docs/子系统设计/看门狗设计说明.md §4.4(含 `__builtin_return_address` 不可用的实证)+ Src/main.c 的 `USER CODE Error_Handler_Debug` 区注释"
},
"N-21": {
"to": null,
"status": "void",
"note": "本号两义,均已死:① 登记簿 N-21 = 报告 N-12/N-13(dhara 移植层两条硬约束),2026-10-15 销项删行 → docs/架构设计/STM32F4-Base存储架构说明.md §5.3;② 报告 N-21(时钟/对时,已闭环)→ docs/编号规范.md §4.5。存量引用几乎都是①"
},
"N-24": {
"to": null,
"status": "void",
"note": "登记簿 N-24 = 报告 N-16(日志读写放大:写侧合并 open/write/close + 读侧 8 条滑动窗口),2026-10-15 销项删行。结论去处:docs/子系统设计/运行与自检记录设计说明.md §4.4/§4.5 + App/log/sys_log_mcu.c 的 `s_format_rec` / `s_append_rec` / `s_append_many` / `s_read_raw` 注释"
},
"N-26": {
"to": null,
"status": "void",
"note": "登记簿 N-26 = 报告 N-11(DMA 可达性三层防线 + 规则族 R1~R4),2026-10-15 销项删行。结论去处:docs/内存管理/内存内容分配策略.md §3/§4/§8 + Drivers/BSP/GD5F2GQ5UE/gd5f2gq5ue.h 的窗口断言块;负路径用例 TC-GD5F-704/705"
},
"S-1": {
"to": null,
"status": "void",
"note": "本号两义,均已死:① 登记簿 S-1(defaultTask 栈余量 3664B/4096 ≈10%,2026-10-04 登记),2026-10-10 削链销项 → 复测见 docs/内存管理/RAM使用分析与优化方案.md §4 阶段 0「不抬栈」小节;② 报告 S-1(分层反向依赖 BSP include App 的头)→ docs/门禁说明/layer-deps.md 与 docs/编号规范.md §4.5。存量引用几乎都是①"
},
"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"
}
},
"id_aliases": {}