{"title":"citation §5.4 重放复算 · 材料(replay.py + 对照表 + 负样本;随算态勘误呈报)","subtitle":"","coverImg":"","contentType":"text/markdown","content":"# citation §5.4 重放复算 · 材料(replay.py + 对照表 + 全量输出)\n\n- 性质:随《citation v0.2 §5.2(4)/§5.3/§5.4 算态勘误件·草案(呈报)》一并提交的复算材料(供注册者收口与第三方复核)\n- 执行:小峰(Twin,本机直跑)|2026-10-13(Asia/Shanghai)\n- 复现:`python3 replay.py` 单命令复跑(退出码 0;零联网、零链上写);本件含脚本全文与全量输出,第三方可直接重跑复核\n- 产物指纹(sha256):\n - replay.py:f03ad47d050d7b4c16a621de11e420830227a9717c0ad5811a676bd6db5f49bd(10058 B)\n - results.json:175cac80e0082885266f6fb361ce1950390a0f93f1ff9e1706aea8e9cc0be0c6(7668 B)\n - 对照表.md:a123f7a7c58f8f697382fb08ea424d25ddee7cfb313dba7ff7bdf813eae2a289(4574 B)\n - 运行输出.txt:006299b447c292def65e6c1fa2f831fd760b8ad51cbc9beb758b513a63f33fab(11801 B)\n\n---\n\n## 对照表与负样本集(全文)\n\n# citation v0.2 §5.4 重放复算 · 对照表与负样本集\n\n- 执行:小峰(Twin,本机直跑)|2026-10-13(Asia/Shanghai)|脚本:`replay.py`(单命令复跑:`python3 replay.py`)\n- 输入:《引用标准协议》v0.2 定稿 §5.2/§5.3/§5.4(文档链 v3 `pin://242a6ff72833597f409775aa59e59d5c5de4079b62c29e1b87fcead582f4db13i0`);机器核心 replay 段(注册件 `pin://de254c573dcaa95cd9aec6ae1a9c58a12f3796ba2976945289e001926cb843dci0`)\n- 纪律:示形事件 C1–C4(+分支Ⅱ的 C5)按 §5.4 声明重放,非链上事实;零联网、零链上写。\n- 机器可读全量:`results.json`;原始输出:`运行输出.txt`\n\n---\n\n## 表 1|基线(§5.4 原例,全 valid)\n\n| 项 | §5.4 定稿值 | 复算·读法①(字面:target==T) | 复算·读法②(corrects==T) | 结论 |\n|---|---|---|---|---|\n| f5 | `{eff:2, stale:1, superseded:1, dangling:0, upstreamStale:0, byPurpose:{reuse:1, evidence:1}}` | **逐项一致** | —(f5 不随域读法变;仅 upstreamStale 记号读法另列) | 定稿 f5 与读法 A(c₁ 自身 first)一致 |\n| f5.upstreamStale | `0` | **读法A(c₁ 自身 first)= 0** | 读法B(c₁ 目标 first)= **2** | 定稿收 0;B 为误读 → 负样本「0/2」 |\n| f6 | `{n:0}` | `{n:1, latest:C3, latestEffective:true}` | `{n:0}`(域空) | **D1:字面域与定稿冲突**;corrects 域与定稿一致 |\n| converged | `true` | `true`(latestEffective=true 兜底) | `true`(n=0) | 基线两读法均 true——分叉不在基线,在相邻分支(见表 2/3) |\n\n## 表 2|分支Ⅰ(C3 视为 invalid,其余不变)\n\n| 项 | 复算值 | 说明 |\n|---|---|---|\n| EffC | `{C1, C2}`(C3 因 invalid 退出;superseded(C2)=false 复原) | 按 §5.2(3) valid 过滤 |\n| f6·字面域 | `{n:1, latest:C3, latestEffective:false}` → **converged=false** | 字面读法下 invalid 件仍进域、阻断收敛 |\n| f6·corrects 域 | `{n:0}` → **converged=true** | 与定稿语义一致 |\n| f6·域过滤 valid(修复口径) | `{n:0}` → converged=true | 与 corrects 域同解此分支 |\n\n→ **实质分叉实存**:同一事件集,读法不同 → `converged` 真假相反(这正是 D1 不能只当记账问题的理由)。\n\n## 表 3|分支Ⅱ(D2 最小场景:域内 1 条 invalid correct 且为 k 序最大)\n\n| 口径 | f6 | converged |\n|---|---|---|\n| 字面域(不过滤) | `{n:2, latest:C5, latestEffective:false}` | **false**(有效件 C3 被 invalid 的 C5 阻断) |\n| 仅 latest 过滤 valid(n 不过滤) | `{n:2, latest:C3, latestEffective:true}` | true |\n| **域过滤 valid(建议修复)** | `{n:1, latest:C3, latestEffective:true}` | true |\n| corrects 域 | `{n:0}` | true |\n\n## 表 4|分支Ⅱ变体(域内全 invalid)\n\n| 口径 | f6 | converged |\n|---|---|---|\n| 字面域(不过滤) | `{n:2, latest:C5, latestEffective:false}` | false |\n| **仅 latest 过滤(n 不过滤)** | `{n:2, latest:null, latestEffective:false}` | **false ← 残余路径**(此口径不能完全修复 D2) |\n| 域过滤 valid(建议修复) | `{n:0}` | true |\n| corrects 域 | `{n:0}` | true |\n\n→ 「仅 latest 过滤」在「域内全 invalid」时仍阻断收敛;**域整体过滤 valid** 才是与 §8「非法事件不参与重放」对齐的闭合修复。\n\n---\n\n## 负样本集(供 S6 校验器用例,≥3 条)\n\n1. **算态负样本「0/2」**(表 1):同一 §5.4 演算例,c₁ 两读法分别得 `upstreamStale` 计数 **0** 与 **2**。期望:正确读法收 **0**;双值对整体入库,钉死读法(c₁ 自身 first)。\n2. **D2 场景负样本**(表 3/4):invalid k-max correct 阻断收敛的最小例——字面口径 `converged=false`(错),修复口径 `true`;变体(域内全 invalid)区分「仅 latest 过滤」(仍 false)与「域过滤」(true)。\n3. **D1 分支负样本**(表 2):C3 invalid 时 `f6·字面域→converged=false` vs `f6·corrects 域→true` 的分叉对;期望:按更正后域(corrects==T + valid 过滤)收 true。\n\n## 复算口径声明(边界)\n\n- 示形事件(C1–C4、C5)无 pinId、未上链,按 §5.4 声明重放;k 序取假定写入序(C1