Files
STM32F4-Base/docs/任务规划
wandering1 09d6195906
CI / L0 静态门禁 (pre-commit) (push) Failing after 1m12s
CI / L0.5 主机侧单测 (MSVC) (push) Successful in 17s
chore: 收口已结束会话遗留的本地改动(RAM 台账/AGENTS/SOE 日志)
提交此前已结束会话在主工作区遗留、未提交的改动:
- docs/任务规划/ 与 RAM 占用台账、快照的同步更新
- AGENTS.md 索引与 scripts/ram_baseline.tsv 更新
- docs/测试说明/boot_log_data/ 新增 B9 IEC104/SOE 台架日志与解码产物
- .pre-commit-config.yaml 微调

来源为该会话结束时的未提交快照,整体收口便于并入 master。
2026-10-12 20:10:12 +08:00
..

任务规划(统一待办登记簿 · 索引与排序权威)

这个文件夹是什么:全项目唯一的未闭环事项清单 + 全项目唯一权威的工作先后顺序。 2026-10-12 按「变更频率 + 职责」解耦成多文件——并行任务写范围互不相交,各改各的文件。

文件地图(谁改哪个):

文件 内容 变更频率 / 写者
README.md(本文件) 编号空间(§0)· 未闭环一览(§1)· 推进顺序权威(§2) · 维护约定(§3) 低频;仅主工作树
W1-采集保护收尾.md 当前波次:里程碑 / 并行道 / 任务卡(DoD·依赖·资源·写范围·状态) 高频——状态流转只改它;Lead 在 claim/完成时更新
排期详述.md W4 结构债 / W5 验证常态 波内详表 低频
暂缓-RS485.md B2 RS-485 整簇冻结清单(用户决定) 极少
登记簿.md N-x / S-x / T-x 长期登记(网络 / 存储 / 硬件 / 测试 / 报告并轨) 中频——新发现进对应表
测试与架构专项.md P1-10 收尾 + S1x / A-x 专项 低频
基线与待确认.md 待确认 · 设计基线(pending 二期 / 错误码四要素)· 诊断基线 · 内存预算 参考,少改

怎么用:想知道"现在该做什么、按什么顺序" → 本文件 §2;想知道"当前波次任务卡状态 / 验收判据 / 并行道" → W1-采集保护收尾.md; 想知道"某条待办的来龙去脉" → 按编号查 登记簿.md / 测试与架构专项.md;想知道"还差哪些验证" → 排期详述.md §2。

只保留待办:已完成条目直接删除,不留变更记录(历史见 git log 与各模块文档); 已闭环项的结论与证据沉淀进对应模块文档/问题记录,本文件夹不再重复。 消化即销项:事项修复/关闭后,直接删除对应条目,并同步清理其它文档对本编号的引用。

不在本文件夹范围:../问题记录/错误码传播审计.md(E-xx,审计报告,非待办池)、 ../问题记录/项目审查与优化建议报告.md(体系层评审报告)、../测试说明/实机测试实施指南.md(执行流程)。

修订:2026-10-04 四档合并;2026-10-11 统一排序 + 审查报告并轨; 2026-10-12 按用户决定 RS-485(B2)整簇暂缓,波次重排为 W1~W7,清除已销项残留; 2026-10-12 W1-0 台账三件套落地(N-27 前半闭环,mem-budget 钩子),N-23 钩子落地残余并入 C5; 2026-10-12 B4/B5 销项——W1 功能主线代码侧全部完成; 2026-10-12 用户决定:新 W1 = ADC 采集 + 保护相关功能收尾闭环(B6B10 + N-33),W2W7 顺延, 波次切换为「里程碑 × 并行道 × 任务卡(五字段)」模式(方法论 → ../环境与部署/并行任务工作树方案.md §7.3); 2026-10-12 解耦为 docs/任务规划/ 文件夹(README 索引 + 6 个职责单一文件;编号空间与 §2 排序权威不变)。


0. 编号空间与来源

编号 含义 备注
P0-x~P3-x 审计缺陷/改进项(2026-09-15/09-21 审计) P0=功能 bug、P1=疑似 bug/健壮性、P2=改进、P3=卫生
N-x / S-x / T-x 台架/审计观察登记项 / 存储·日志管线 / 测试与工具链 编号不回收;N-x 含硬件改版项(需下一版硬件,固件侧只记口径,如 N-18)
S1~S14 / A-1~A-7 2026-10-02 复审的测试充分性与架构专项 编号不回收
E-xx 错误码传播审计发现 独立维护于 错误码传播审计.md,不并入本文件夹,只交叉引用
B/C/D 前缀 §2 排序条目编号:B=功能主线、C=结构债、D=验证窗口 编号不回收,见 §2
报告 N-x/R-x/F-x/S-x/U-x/D-x 项目审查与优化建议报告.md 自有编号 ⚠ 与本登记簿同名不同义(报告 N-16 = 日志逐条开关,登记簿 N-16 = A2/A4 负向台架)→ 引用一律带文档名。其未闭环项 2026-10-11 并入本登记簿(新编 N-19~N-29 + U 簇,出处列保留报告编号)

严重度定义(沿用审计口径):P0 = 确认功能 bug|P1 = 疑似 bug 或健壮性风险|P2 = 改进|P3 = 卫生。 置信度:high = 代码级确证|medium = 依赖外部条件(手册/硬件/产品定义)。


1. 未闭环一览(按类别)

类别 数量 条目
P1 收尾 1 P1-10 测试固件构建实测(测试与架构专项.md §1)
网络 5 N-2(49s 日志静默,低风险观察项)· N-3(L5 基线重验)· N-4(pending 二期)· N-16(A2/A4 负向台架)· N-17(探针窗口心跳缺口)
存储 / 日志 3 S-3(USART1 TX-only 根治) · S-4(dhara 重试自旋)· S-5(可选全序列卷锁)
数据正确性 1 N-21(dhara is_free/copy,全簿最高风险)
结构 / 健壮性 9 N-20(Error_Handler 死循环)· N-22(写回 flush)· N-23(注册校验残余白名单)· N-24(日志逐条开关)· N-25(性能/语义簇)· N-26(NAND DMA 断言)· N-27(内存优化簇,三件套 ✅ 前半落地)· N-28(Flash 死代码簇)· N-33(栈余量收口,W1)
仓库 1 N-29(.git 149 MB,已决策暂不处理、登记观察)
硬件 1 N-18(V0.2 改版项)
测试 / 基础设施 6 T-7(CI runner + 推送闭环 + 第二机交叉验证)· S12(断言宏)· S1-c(可选单测)· A-4(采集链路测试约束,RS485 侧随 B2 暂缓)· A-5 残余(CI 体积门禁盲区)· D7(串口助手 A6/A7 待 CH340)
UI 1 簇 U 簇(27 页标准化,本轮不排期)
暂缓 1 簇 B2 RS-485 整簇(2026-10-12 用户决定,暂缓-RS485.md)

网络侧另有 E-xx 未闭环项(E-12/15/16/23/24/25/26/27/28/30/47/48/49/50/58/59/61,共 17 项) 与 1 项回归监督(E-62),详见 ../问题记录/错误码传播审计.md §3——其中 E-49/E-50 随 RS-485 暂缓。 本文件夹不重复登记。UI 标准化簇与覆盖率缺口(lftpd/dhara 移植层无主机测试)为整簇排期项,见 §2 W6 / N-21。

1.1 结构性判断(排序依据)

  1. 用户决定(2026-10-12):先把 ADC 采集、保护等相关功能完成——"转发 + 保护"两环代码已落地(B4/B5,2026-10-12),但尚未台架闭环、功能面不完整(定值不落盘、无频率保护、无动作记录/SOE、栈安全线两处 FAIL)。新 W1 = 采集→相量→保护→上送链路的收尾与闭环(B6~B10 + N-33,见 W1-采集保护收尾.md),其余波次顺延。RS-485 对下采集(B2)按用户决定暂缓(2026-10-12,暂缓-RS485.md),主线不再等它。
  2. 数据正确性最高风险 = N-21(dhara is_free 只查页首 64 B / copy 不处理哨兵):低概率、后果重(数据丢失),且至今只能靠人工读代码发现——修复须配主机侧移植层测试(一并补报告"覆盖率"缺口)。
  3. 内存预算红线已机械化(2026-10-12,W1-0):mem-budget 钩子拦 RW_IRAM1/RW_CCM >92%,子系统配额 / CCM 台账 / 趋势基线 → docs/内存管理/RAM预算台账.md;实际优化 R-9→R-2 排 W3(B5 堆扩容 48→56 KB 后 CCM 只剩 ≈8,160 B,解锁链见 docs/内存管理/RAM预算台账.md §3)。
  4. 验证债仅剩窗口性事项(D2/D5/D6/D7 + P1-10 收尾),不单独排期、逢窗口顺手做。

2. 统一推进顺序(全项目唯一权威)

本节是全项目所有工作流唯一的权威顺序:产品需求设计文档.md §9.2、../算法/继电保护功能复现规划.md、 项目审查与优化建议报告.md §0.3 中的路线图均为局部视图,顺序变更只改本节,其它文档只留指针。 排序原则:安全风险 > 产品功能主线 > 数据正确性 > 预算/结构债 > 验证常态 > UI 扩展 > 仓库决策(当前无未闭环安全项)。 波内详表在挂接文件里(W1-采集保护收尾.md / 排期详述.md / 暂缓-RS485.md),但波次增删与先后只改 §2.0。

2.0 波次总览

波次 内容 为什么在这
W1 采集+保护收尾 里程碑制 + 并行道:M1 台架闭环 ✅ 达成(B6 ✅→N-33 ✅)∥ M2 功能面(代码道 B7 ✅→{B8∥B9})→ M3 送检(B10,Fixed Date)——任务卡/判据/写范围见 W1-采集保护收尾.md 用户决定(2026-10-12):先把 ADC 采集、保护等相关功能完成。B4/B5 代码已落地但未台架闭环、功能面不完整(定值不落盘 / 无频率保护 / 无动作记录 / 栈两处 FAIL)——本波收口到"可用 + 可验收";真约束只有台架与送检窗口两个稀缺资源,其余任务按写范围切分并行
W2 数据正确性 N-21 dhara is_free/copy(报告 N-12/13) 低概率、后果重(数据丢失);修复须配主机侧移植层测试,一并补报告"覆盖率"缺口
W3 预算与内存 N-27 后半:R-9 池 40→16 KB → R-2 后半(54 KB→CCM)→ R-3~R-6 逐项评估 依赖 W1 三件套产出的台账数据;B5 堆扩容后 CCM 只剩 ≈8 KB(56 KB 堆),R-2 后半更被堵死(解锁链见 docs/内存管理/RAM预算台账.md §3)
W4 结构债 N-20 → C6(S-3)→ C3(N-2+N-24)→ C1 pending 二期 → C5(含 N-23 残余)→ N-22/N-25/N-26/N-28(详表 排期详述.md §1) 无紧急,按性价比排:C6 灭 IWDG 误复位机制根源;C1 体量大、验证重,放后(N-23 钩子已落地 2026-10-12,残余并入 C5)
W5 验证常态 P1-10 收尾 · T-7 CI · D2 N-3 · D5 N-16 · D6 N-17 · D7 串口助手 · S12 · S1-c · A-5(详表 排期详述.md §2) 窗口性,逢机顺带,不单独排期
W6 UI 扩展 U4 残余(golden + 字符集差集挂门禁)→ U1 令牌层 → U2/U3 → 27 页落地 产品驱动、体量大,需单独立项(顺序按 docs/问题记录/项目审查与优化建议报告.md §6.5);本轮不排期(2026-10-11 已确认)
W7 仓库决策 N-29 .git 149 MB + 图片 36.3 MB 已决策(2026-10-11):暂不处理、登记观察——推送/协作前重评(git filter-repo 历史重写影响未推送提交与协作者)
暂缓 B2 RS-485 整簇(暂缓-RS485.md) 用户决定(2026-10-12):当前不处理 RS-485
硬件改版 N-18 8 路电气量全接 TPAFE(V0.2) 下一版硬件;固件侧已用语义映射隔离,改版只动映射表

2.1 顺序一图

W1 收尾     台架道: B6✅→N-33✅(M1 ✅ 2026-10-12) ∥ 代码道: B7✅→B8✅→B9✅(M2 ✅ 2026-10-12) → B10 送检(M3, Fixed Date)   详表 W1-采集保护收尾.md
            (B4 IEC104 ✅ / B5 protectTask ✅ / B6 台架复测 ✅ / B7 定值持久化+软压板 ✅ / N-33 栈收口 ✅ / B8 频率保护 ✅ / B9 SOE 动作记录 ✅ 2026-10-12 均已销项;台账三件套 ✅)
   ↓
W2 数据     N-21 dhara is_free/copy(配主机侧移植层测试)
   ↓
W3 预算     R-9 池瘦身 → R-2 后半(54KB→CCM)→ R-3~R-6 评估
   ↓
W4 结构     N-20 → C6(S-3) → C3(N-2/N-24) → C1 pending 二期 → C5(含 N-23 残余) → N-22/25/26/28
   ↓
W5 验证     P1-10 · T-7 CI · D2/D5/D6/D7 · S12 · S1-c · A-5
   ↓
W6 UI       U4 残余 → U1 令牌层 → U2/U3 → 27 页(单独立项,本轮不排期)
W7 仓库     N-29 .git 149MB(已决策暂不处理)      硬件:N-18 V0.2
暂缓        B2 RS-485 整簇(2026-10-12 用户决定,见 暂缓-RS485.md)

3. 维护约定

  • 本文件夹是全项目唯一的未闭环事项登记簿——"盘点 + 排序 + 明细"三合一,明细按职责拆进本文件夹各文件(2026-10-12 解耦),不再分散到其它文档。
  • 并行写纪律:任务分支(worktree)不改本文件夹任何文件;任务卡状态列(⬜/🟦)与销项一律由 Lead 在主工作树更新。解耦的收益 = 不同波次 / 不同登记之间互不冲突,不是任务分支可以写。
  • 任一项完成后直接删除对应条目(先销本文件夹条目,再清理其它文档对本编号的引用);不留变更记录,历史见 git log 与各模块文档。
  • 已闭环条目的结论与证据沉淀进模块文档,本文件夹不再重复。
  • 编号一律沿用且不回收(P-x / N-x / S-x / T-x / S1x / A-x / B·C·D 前缀);错误码传播审计.md 的 E-xx 独立维护。
  • 引用审查报告编号一律带文档名(报告 N-16 ≠ 登记簿 N-16、报告 S-3 ≠ 登记簿 S-3); 报告并轨项用本登记簿新编号(N-19~N-29 + U 簇),出处列保留报告编号。
  • §2 是全项目唯一的推进顺序权威:产品需求设计文档.md 等文档中的路线图只留指针,顺序变更只改 §2.0(详表文件跟着挪,不改顺序)。
  • 暂缓块(暂缓-RS485.md)不是销项:条目仍在簿,只是不占波次;重启或关闭时更新该文件与 §1/§2.0。
  • 新增发现按既有惯例分流:能立即修的进 §2 波次(W4 C5);需排期的进 登记簿.md / 测试与架构专项.md 对应编号空间;跨版本观察的进 登记簿.md。
  • 上游引用关系:问题记录/项目审查与优化建议报告.md(体系层评审)、问题记录/错误码传播审计.md(E-xx)、 测试说明/实机测试实施指南.md(执行流程)——三者均不在本文件夹合并范围。