← 回导航

回填记录 · 第 3 轮(针对 终验-第2轮.md)

终验结论:有条件通过。唯一 P0 硬伤 = N3「同源」是空声明(说明书 vs 元素台账 v2 在 268 个字段上不同值,而页头把旧的那份指为权威)。 本轮把 P0 全部处理,并用脚本给出可复现的比对证据。

一、P0 · 逐条

① N3 根因找到并修掉:台账 v2 从未吃到新规则

  1. build_ledger.py / build_ledger_xlsx.py 一律改为 DIC.writer_of(src, el) / DIC.empty_rule(src, el),并删掉台账脚本里的本地重复实现(避免两套规则)。
  2. 模块说明书.html 的字段表也改为按元素 ID 从字典取「数据来源 + 元素名」再调同一函数(_std()),不再用模块里手写的来源。
  3. §4.1 的 P227 示例注明「由脚本从台账取真值」,并核对为:金额(USD)|千分位 + 2 位小数 / 系统/链上 / 不可空(无数据时走空态)/ 无数据显示「—(待接入)」。
指标第 2 轮终验本轮
谁写入不一致870
空态不一致1810

② M13 数字改为可逐行复算

新增 「附录 · 逐模块状态明细(53 行)」:每行列出 页面 / 模块 / 模块名 / 状态字段原文 / 是否含待拍板 / 是否含冲突,并把口径写成一句话 + 恒等式:

```

口径:状态字段里出现「待拍板」计待拍板项,出现「有冲突」计冲突项;同一模块可两项都出现。

复算:已定稿(两项都没有)29 · 含待拍板项 21 · 含冲突项 7 · 两项都有 4

恒等式:21 + 7 − 4 + 29 = 53 ✓

```

页头也改成同一口径(并注明「另有按页面徽章口径会得到另一组数,两个口径都对,但混用就算不出来」)。

③ P01–P15 的内部双值收敛

同一元素 ID 在说明书里出现多套「谁写入/空态」的问题 —— 因为改走「按 ID 取字典来源 + 同一函数」后按构造就不可能不一致。

证据:渲染后全库扫描,同一 ID 出现两套值的数量 = 0(终验前是 12 个)。

二、P1 · 逐条

ID问题处理
N4 残留 2 处C3 业务指标卡组、R5 Top Holders 的「次」动作也算交互,但 Q9 写纯展示C3 Q8 注明「一旦保留就必须有成功/失败反馈」;R5 补 Q9「复制成功:toast「已复制」;跳浏览器:新窗口;失败:toast 提示原因」
2 个顶栏模块 Q8 = 「—」持仓页·模块1、验证页·模块1 内嵌线框里明明有 Launch / Connect两处 act 改为「点 Launch → 发币向导;点 Connect → 钱包弹窗;点地址 → 复制」
空态列仍是占位终验实测可执行比例 28%,— 是最大桶(165 行)空态规则扩展到 12 类并全部显式化:列头 / 动作装饰 / 徽章标签 / 图表 / 钱包地址 / 状态倒计时 / 条件性提示 / 静态文案 / 占位骨架 / 空态文案 / 项目方未填 / 数据未接入。— 与 待补 全部归零
谁写入两套词汇 + 拼接系统/链上 + 系统、系统 + 外部行情…加受控词表 WRITER_VOCAB(项目方 / 系统 / 系统/链上 / 设计/运营 / 外部行情),去重合并(同时有「系统」与「系统/链上」只留后者),拼接值从 8 类降到 3 类

三、本轮自检(脚本实测)

检查项结果
说明书 ↔ 元素台账 v2:谁写入差异0(501 条同 ID 比对)
说明书 ↔ 元素台账 v2:空态差异0
同一 ID 在说明书内有 2 套值0
空态取值12 类,全部显式;待补 0 条、裸 — 0 条
「谁写入」取值7 类(受控词表),拼接值仅剩 3 类
M13 恒等式21 + 7 − 4 + 29 = 53 ✓
页头/附录口径一致,且逐行可复算
HTML0 pageerror、53 模块
xlsx ↔ md 一致性P227 / P417 抽查一致

四、仍留给下一轮(不阻塞交付)

  1. 谁写入拼接值 3 类(系统 + 外部行情 8 条、项目方 + 系统/链上 2 条、其余)—— 需产品判断是否允许双写入方。
  2. 「含待拍板 21 / 两项都有 4」与终验口径(22 / 6)的差异:终验按"模块正文里出现待拍板字样"计,我按"状态字段"计。附录已把 53 行明细摊开,两种口径都能复算;若要统一,请指定以哪个为准。
  3. 简版 Q10 的逐模块真值(分页条数 / 刷新频率 / 字数上限)仍需产品决策。
  4. 台账 v2 的 409 行默认空态虽已按性质分流,但具体文案仍需过表时确认(说明页已标注)。

---

附 · 第 4 轮聚焦确认后的收尾(2026-10-15 00:3x)

终验-第4轮.md 结论 通过(0 严重 / 0 中等),剩 2 条【轻微】,已一并处理:

轻微项处理
「外部行情」在词表说明里存在、实际取值 0 次(7 行行情类落到 系统,丢了"依赖第三方行情"这层)writer() 恢复受控组合 系统 + 外部行情(仅当同时有「第三方 API」与「系统计算/链上直读」时)→ 词表 7 类,与说明一致;P228 实测 = 系统 + 外部行情
P239 快捷金额 实为按钮组,被归为「静态文案」空态动作规则补 快捷金额 → 归为 不适用(动作/装饰元素)

最终验收(脚本实测):模块 53 · 字段表 61 张 / 491 行 · 同一 ID 两套值 0 · 谁写入 7 类 · 空态 14 类(待补/裸 — = 0)· 口径复算 30 / 22 / 7 / 6(恒等式 = 53)· Q7 重复 0 · 0 · 0 pageerror · 说明书 ↔ 元素台账 v2 谁写入 0 / 空态 0**。