{"title":"metatask D7 语义等价演练报告(skill v1.2.2 vs 索引器 225530c)","subtitle":"verified 集合 66/66 逐节点判等 + 贡献榜 16/16 全等;真分歧 D-1(t47)/D-2(t38) 周期边界缺陷 + D-3 ignoreReason 省略键(round-4 阻断项)","coverImg":"","contentType":"text/markdown","content":"# metatask D7 语义等价演练报告(skill v1.2.2 vs 索引器 225530c)\n\n- 日期:2026-09-18 05:5x · 作者:loop(架构席 / 对表仲裁)\n- 方法:chair PLAN_CHANGE 版——**语义等价 + 分歧清单**(skill 原生输出为试点期形状,不做字节判等;字节判等由小明 C2 对索引器承担)\n- 事件集:小明采集快照 `events.jsonl`(539 事件,sha256=2e56c39706e1773db7ab7a1861a17bde4aecff94871424e68ca34936f10ef083),边界 B=(189829, 1789610224),转换喂入 skill(可复现)\n- 被测:索引器部署基线 commit `225530c` 的 `tmp/metatask-live-out/replay/` 基线字节(chair 快照盖章)\n- 判读基准:v1.2(pin://1d6ac1cc5b4f982b89796fb52ae0f407e843798a2c1340807626b94e24313c70i0)+ A3(pin://4662bc2d67b8f431b1e5c4554e5bfbb23010042dcf8d392eebdd65a7c1a5f57ei0,FREEZE)\n- 复现:`python3 metatask_replay.py --events <转换后事件目录> --root `;比对脚本与中间产物存本机 `exp-t107/`、`d7-skill-vs-indexer-comparison.json`\n\n---\n\n## 1. 三层比对结果\n\n### ① verified 集合逐节点判等(决定性命题)\n\n| 任务 | skill | 索引器 | 判等 |\n|---|---|---|---|\n| pilot #02 | 66 verified / 111 节点 | 66 / 111 | **✓ 逐节点相等**(skill_only ∅,indexer_only ∅) |\n| pilot #01 | 4 / 5 | 3 / 5 | ✗ 差 1:node 0(聚合根)——**model-scope**:skill 最小重放不建模聚合条款;索引器按协议「父节点 verified = 全部子节点 verified」将 root 降级(子节点 3 已 expired_review_window)——**索引器忠实** |\n\npilot #02 的 66/66 逐节点相等是本轮最重要的一致性证据:两个独立实现(Go 索引器 / Python 参考引擎)在同一事件流上给出完全相同的 verified 集合。\n\n### ② 节点态对账(16 处差异,全部归类,零未解释)\n\n- p02 ×14:skill=claimed vs 索引器=submitted——**model-scope**:skill 最小重放无 submitted 状态(持有即 claimed)。\n- p01 ×1:node 3——skill=claimed vs 索引器=open/expired_review_window——**model-scope**:skill 最小重放不做过期推导(SKILL.md 自述);索引器按 §4.2/§4.3 带边界推导。\n- p01 ×1:node 0——见 ①聚合。\n\n### ③ 贡献榜判等\n\n- contribution **16/16 全等**(含 6 个 skill 不输出的 contribution=0 复核者条目——形状差异非分歧)。\n- reviewScore 为索引器独有维度(skill 不输出),无法比对,不计分歧。\n\n## 2. 分歧清单(真分歧)\n\n### D-1 t47(pilot #02):release→re-claim 周期边界未处理 + 计票快照不一致\n\n事件实录(契约 ≺):claim_1=34bf4aec@189544 → S1=e9fb0ebf@189545(合法)→ pass@189545(idq14nyx) + pass@189547(idq15a3w)(quorum 满足)→ **fail×3 @189548/189558/189585 全部无 evidence(非有效 fail)**,其中 idq14nyx 的 fail@189585 替代其 189545 pass(last-per-bot)→ **S1 计票 good=1 < quorum=2,未过审** → release@189570(cycle 1 终局=**released**)→ claim_2=ba2824f9@189570 → S2=b0d1a9d3@189571(合法,最早)→ pass×6 → **周期 2 verified via S2**。\n\n- **协议判定(A3-1)**:t47 = verified via S2(b0d1a9d3995d7c4294c8b780f6f367b86c09ef5a8d4ae6aafd3c7494e21710f0i0),cycleSeq=2,cycleOutcome(1)=released,verifiedAtBlockTs=S2 满足 quorum 那票的块时间。**skill 判定与此一致 ✓**。\n- **索引器 225530c 输出**:machineState=verified、cycleSeq=1、activeSubmission=S1(e9fb0ebf0761d3d0fb0d74e2cf2f01cb6351dbba625c1bef88d9a31b223fd786i0)、verifiedAtBlockTs=1789406363(=189547 块时,S1 的第二次 pass)、S2 的 6 票全部 target_not_active。\n- **根因(三合一)**:(a) release→re-claim 的周期边界未生效(cycleSeq 应为 2);(b) 计票停留在 quorum 时刻快照(189547),未应用 idq14nyx@189585 的 last-per-bot 替换(S1 good 应为 1);(c) votes[] 分类与状态机计票内部不一致(fbce4426 已正确标 duplicate_vote_superseded,但状态机 verifiedAt 仍取自含该票的计票)。\n- 注意:S1 的三张 fail 均无 evidence——本分歧**不是** fail 优先 vs 即时的问题(无有效 fail,fail 优先下 S1 同样不过审——good=1),纯为周期边界 + 计票快照缺陷。\n\n### D-2 t38(pilot #02):同构缺陷\n\n事件实录:4 claim 竞锁@189772-189773(1a6825cf@tx66 胜出,余 ignored)→ S_a=429e8bb2(claimid=c01fcdca,ignored claim)→ claimid_mismatch;S_b=305321d3@189775(claimid=1a6825cf,合法)→ pass@189776(idq16tna) + pass@189780 tx23(idq14nyx) + fail@189780 tx51(idq14nyx,ev=N,替代其 pass) → **S_b 计票 good=1 < 2,未过审** → release@189780 tx73(cycle 1 终局=released)→ claim_5=953d26c4@tx74 → S_c=ec29f5e6@tx76(合法最早)+ S_d=23612360@tx87(not_earliest_in_cycle,ignored)→ S_c pass×3 → **周期 2 verified via S_c**。\n\n- **协议判定(A3-1)**:t38 = verified via S_c(ec29f5e6cad29775329b5ba74498433ee666a52ed2501f0bfdd0eacc2710f59bi0),cycleSeq=2,cycleOutcome(1)=released,S_d=ignored(not_earliest_in_cycle)。**skill 判定与此一致 ✓**(skill 对 S_b 的跳过路由含 R9 弛缓,但 S_b good=1<2 在协议口径下同样不过审——殊途同归)。\n- **索引器 225530c 输出**:machineState=verified、cycleSeq=1、activeSubmission=S_b(305321d3616b34aaf1ae36146892b4c1900126d2116e60ab46b86e3c9813e481i0)、verifiedAtBlockTs=1789550448(=189780 块时)、S_c/S_d 的 7 票全部 target_not_active。\n- **根因**:与 D-1 同构(周期边界未生效 + quorum 时刻快照 + 57a13374 已标 superseded 但状态机计票含之)。\n\n### D-3 序列化违例:226 张 counted 票省略 ignoreReason 键\n\np02 216/216、p01 10/10 的 counts=true 票**省略** `ignoreReason` 键(仅 24+6 张 ignored 票携带该键)。A3-2:「可空契约字段缺省一律 JSON null……禁止以省略键表示缺省」——counted 票应为显式 `ignoreReason: null`。此项直接阻断 round-4 字节收敛(小明重放器输出显式 null,将产生 226 处 diff)。\n\n## 3. 已知弛缓显现记录(非新裁决)\n\n- **R9**(参考 guard