221f9d241062a649eb54567998f2f5f6b126ccd9
背景:`AppendRow()`(提交 85aaed5)已经成为新增面板行的唯一入口, 18 个平行数组由它一次补齐。因此旧的宽松判据("13 个必须等长 + 4 个重采样专属列允许为空")不再需要 —— 任何一列短于行数, 就是"有人绕过 AppendRow 手写 push"的直接证据。 改动: * `panels` 检查:改为断言 18 个数组长度**全部**等于 `rowRefs.size()`, 失败时打印全部 18 列的长度便于定位。 * `panelscroll` 检查:同样收紧(大文件 566 行时才会暴露的问题)。 * `Tools/README.md`:同步不变式描述。 文档: * `Documents/Code_Review_Plan.md` 新增 §八(第 36 轮节点与硬约束)。 * `Documents/Code_Review_Progress.md` 新增第 36 轮(两次重构 + 三个搬移陷阱)。 * `Documents/Code_Review_Report.md` 新增 §13(拆分职责表、为何不做完整合并、 失败可见性对比、后续建议)。 * `Documents/agent_mem.md` 新增第 36 轮规则。 验证: * `make release` 全量零 error / 零 warning,产物 **785,408 B**。 * `UnitTests` → checks=260 failed=0;`OffscreenChecks -all` → 6/6 PASS,checks=101 failed=0。 * `panels -mode compare` → 7 个面板像素哈希与几何逐项不变。 * `panelscroll`(MF4 566 行)→ 18 个行数组全部 = 566。
Languages
C++
99.5%
Makefile
0.5%