取值依据是实测水位,不是预估:菜单根框 5,368 B、开页-关页往返
5,448 B、最重页面峰值 6,568 B(占 16 KB 的 40%)、真机开机
used=3,192 B。注意 16,384 B 建池后 lv_mem_monitor 报的 total 是
15,020 B(TLSF 控制块与对齐元数据 ≈1,364 B),核算余量用后者。
两端 lv_conf.h 同步改值(lv-conf-sync 生效值比对 163 项 PASS),
Lib/lv_conf.h 的 UTF-8 BOM 已按原样补回(Edit 会静默剥掉)。
验证:
- @build 0 错 0 警;ZI 154,456 → 129,880,精确 −24,576 B
- SRAM1 98,144/74.9% → 73,568/56.1%(余 57,504 B);CCM 不变 87.9%
- 模拟器菜单回归 PASS(8 状态像素 + 池基线 5,368 B 未变);11 页
黄金参考逐字节 10/11 一致,往返池水位 5,448 B 分毫未变
- 唯一差异 netcfg_save 保存态:用 40 KB 旧池做 A/B 复测同样失败,
确认与本改动无关(属 506eccc 的 cfg_file 行为变化),未刷黄金
参考掩盖,留给该改动属主处置
- @test PASS:fw build Oct 15 2026 07:31:34,无 [ERR]/Fault,
开机 622 ms 到 net init: OK,menu build done: used=3192
- 本地 CI 全绿(L0 + L0.5,15 runner / 955 断言)
- 台账受管区与内存快照区已 --write 回填,mem-budget / mem-numbers
由红转绿
连带结论:R-2 后半待迁体量 54,146 → 29,570 B,瓶颈由 SRAM1 换到
CCM(只剩 7,904 B);解锁链第 ① 步完成,下一步只差缩堆 56→32 KB
(B5 是反向扩容,缩回前须重跑 stack_report.py + 上板 min_ever)。
文档同步 20 处:本报告按修复即销项删除 R-9 行,并改写 §0.2/§0.3/
§0.4/§5.1/§5.2/§5.3/§6.4 与变更记录、去处表;RAM使用分析 §2.6.2
新增实测水位表、阶段 1.1 标已执行;台账 §3 解锁链、登记簿 N-27、
任务规划 README W3 行与链路图;UI 四篇、产品需求、内存内容分配
策略、运行与自检记录、项目部署环境要求、测试开发标准流程、
simulator/README、ui-verify skill 常量。顺带订正三处与脚本不符的
旧值:池水位常量 4784/4864 → 5368/5448、FreeRTOS 堆 48 → 56 KB。
任务规划(统一待办登记簿 · 索引与排序权威)
这个文件夹是什么:全项目唯一的未闭环事项清单 + 全项目唯一权威的工作先后顺序。 2026-10-12 按「变更频率 + 职责」解耦成多文件——并行任务写范围互不相交,各改各的文件。
文件地图(谁改哪个):
文件 内容 变更频率 / 写者 README.md(本文件)编号空间(§0)· 未闭环一览(§1)· 推进顺序权威(§2) · 维护约定(§3) 低频;仅主工作树 W1-采集保护收尾.md当前波次:里程碑 / 并行道 / 任务卡(DoD·依赖·资源·写范围·状态) 高频——状态流转只改它;Lead 在 claim/完成时更新 排期详述.mdW4 结构债 / W5 验证常态 波内详表 低频 暂缓-RS485.mdB2 RS-485 整簇冻结清单(用户决定) 极少 登记簿.mdN-x / S-x / T-x 长期登记(网络 / 存储 / 硬件 / 测试 / 报告并轨) 中频——新发现进对应表 测试与架构专项.mdP1-10 收尾 + S1x / A-x 专项 低频 基线与待确认.md待确认 · 设计基线(ACCEPT pending 化 / 错误码四要素)· 诊断基线 · 内存预算 参考,少改 怎么用:想知道"现在该做什么、按什么顺序" → 本文件 §2;想知道"当前波次任务卡状态 / 验收判据 / 并行道" →
W1-采集保护收尾.md; 想知道"某条待办的来龙去脉" → 按编号查登记簿.md/测试与架构专项.md;想知道"还差哪些验证" →排期详述.md§2。只保留待办:已完成条目直接删除,不留变更记录(历史见
git log与各模块文档); 已闭环项的结论与证据沉淀进对应模块文档/问题记录,本文件夹不再重复。 消化即销项:事项修复/关闭后,直接删除对应条目,并同步清理其它文档对本编号的引用。不在本文件夹范围:
../问题记录/项目审查与优化建议报告.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. 编号空间与来源
| 编号 | 含义 | 备注 |
|---|---|---|
| 语义标识(2026-10-14 起新条目唯一形式) | # 列填一行短语直接说清是什么事,如 沉降窗 800ms 上限只留痕、RS485 采集接线 |
新条目一律用它,不再新增字母+数字编号;同一表内语义天然不重复 → 结构上防号;引用时带文档名 |
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 |
错误码传播审计发现(历史族) | 属主文档已于 2026-10-15 删除;编号冻结(docs/编号规范.md §4.1 / §4.3),存量引用仅作历史指称,新发现一律 DEF |
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 簇,出处列保留报告编号) |
⚠ 为什么 2026-10-14 改用语义标识(一条实测失效案例):原规则写着"编号不回收",但 销项 = 删行,删完仓库里就不留任何痕迹——登记簿
N-31(2026-10-11 的 Phase 7 复跑项) 销项后,2026-10-14 新建条目按"现存最大值 +1"又取了N-31,与CH395F_Test_Guide.md、自动化测试流程.md里那两处历史引用撞号。"不回收"要靠人先想起去翻git log= 不可执行的规则。语义标识自带唯一性(重名一眼可见);已随销项消失的字母+数字号一律作废, 不得作为新条目候选,历史引用(如上述两处N-31)指向的是当年的旧条目。
严重度定义(沿用审计口径):P0 = 确认功能 bug|P1 = 疑似 bug 或健壮性风险|P2 = 改进|P3 = 卫生。 置信度:high = 代码级确证|medium = 依赖外部条件(手册/硬件/产品定义)。
1. 未闭环一览(按类别)
| 类别 | 数量 | 条目 |
|---|---|---|
| P1 收尾 | 1 | P1-10 测试固件构建实测(测试与架构专项.md §1) |
| 网络 | 4 | N-2(49s 日志静默,低风险观察项)· N-3(L5 基线重验)· N-16(A2/A4 负向台架)· N-17(探针窗口心跳缺口) |
| 存储 / 日志 | 3 | S-3(USART1 TX-only 根治) · S-4(dhara 重试自旋)· S-5(可选全序列卷锁) |
| 数据正确性 | 1 | N-21(dhara is_free/copy,全簿最高风险) |
| 结构 / 健壮性 | 7 | N-22(写回 flush)· N-23(注册校验残余白名单)· N-24(日志逐条开关)· N-25(性能/语义簇)· N-27(内存优化簇,三件套 ✅ 前半落地)· N-28(Flash 死代码簇)· N-33(栈余量收口,W1) |
| 仓库 | 1 | N-29(.git 235 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 存量项(历史编号族,属主文档已于 2026-10-15 删除,编号冻结见
docs/编号规范.md§4.3):E-25 / E-27 / E-28 挂 C1(net 层跨上下文收口,见排期详述.md§1); E-47 待 CH395F 驱动侧定案;E-12 为FF_FS_LOCK/ 单写者纪律记录项;E-31 后续与 E-62 为回归监督项(纪律已固化于AGENTS.md,无需改动)。 UI 标准化簇与覆盖率缺口(lftpd/dhara 移植层无主机测试)为整簇排期项,见 §2 W6 / N-21。
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),主线不再等它。 - 数据正确性最高风险 = N-21(dhara
is_free只查页首 64 B /copy不处理哨兵):低概率、后果重(数据丢失),且至今只能靠人工读代码发现——修复须配主机侧移植层测试(一并补报告"覆盖率"缺口)。 - 内存预算红线已机械化(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)。 - 验证债仅剩窗口性事项(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 后半:登记簿.md) |
R-9 已落地:SRAM1 由 74.9% 降到 56.1%,待迁体量 54,146 → 29,570 B;瓶颈换到 CCM——只剩 7,904 B(56 KB 堆),⚠ B5 是反向扩容,缩回 32 KB 前必须重跑 stack_report.py + 上板 min_ever 复测(解锁链见 docs/内存管理/RAM预算台账.md §3) |
| W4 结构债 | C6(S-3)→ C3(N-2+N-24)→ C1 net 层跨上下文收口 → C5(含 N-23 残余)→ N-22/N-25/N-28(详表 排期详述.md §1) |
无紧急,按性价比排:C6 灭 IWDG 误复位机制根源;C1 消化 E-25/E-27/E-28(原 ACCEPT+SEND pending 化已收口),体量大、验证重,放后(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 235 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 池瘦身 ✅ → 缩堆 56→32KB → R-2 后半(29.5KB→CCM)→ R-3/R-4/R-6 评估
↓
W4 结构 C6(S-3) → C3(N-2/N-24) → C1 net 层跨上下文收口 → C5(含 N-23 残余) → N-22/25/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与各模块文档。 - 已闭环条目的结论与证据沉淀进模块文档,本文件夹不再重复。
- 2026-10-14 起新条目用「语义标识」:
#列填一行短语(如沉降窗 800ms 上限只留痕), 不再新增字母+数字编号(规则见docs/任务规划/README.md§0 表首行);存量编号 (P-x / N-x / S-x / T-x / S1x / A-x / B·C·D 前缀)冻结沿用,而已随销项消失的号永久作废、 不得作为新条目候选——"不回收"在只写规则、不留痕迹的情况下不可执行(撞号实测见docs/任务规划/README.md§0 注);E-xx(历史编号族)冻结于docs/编号规范.md§4.3。 - 引用审查报告编号一律带文档名(报告 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(执行流程)——两者均不在本文件夹合并范围。