{
  "subjectSha": "6ac56de2",
  "modelId": "claude-opus-5",
  "promptTemplateVersion": "jt-v1",
  "rung": "R1",
  "templateHash": "7f974b9ad9f6955462b4da1586cd3ebd8f6e47b371b48483fc3906609d0160bf",
  "docHash": "075f98b785e3a1828ab0c130cd713d797e259abee258eb00b6fa12062153fcc4",
  "sampleId": "observe/oneshot-plan",
  "iteration": 4,
  "appendCost": 4,
  "unitsToModify": [
    "✅ 执行状态（2026-08-31 收尾回填）",
    "File Structure",
    "Self-Review（写完计划后自查，已执行）",
    "Task 5: status 登记 + 收尾"
  ],
  "wallMs": 44059,
  "exitCode": 0,
  "raw": "按「新增一个同类条目 = 追加一个 Task」来数（Task 是本文档的顶层登记单元），下列已写好的部分必须改动：\n\n1. **✅ 执行状态（2026-08-31 收尾回填）** —— 表格逐 Task 一行（Task 1 / 2 / 2′ / 3 / 4 / 5），新 Task 不在表里就没有状态与产出记录。\n2. **File Structure** —— 全文件的 Create / Modify 清单集中在此一处，新 Task 涉及的文件要在这里登记。\n3. **Self-Review** —— 第 1 项「Spec 覆盖」是 spec 条目 → Task 编号的映射并写了「✅ 无缺口」；第 3 项「类型一致性」逐字点名了字段出现在「Task 1 Step 3/4 与 Task 2 Step 3/5/6」。新增 Task 后两处都要改。\n4. **Task 5: status 登记 + 收尾** —— Step 1 规定 status 里登记什么（k 值 / 三态分布 / 跨 pin 比对），Step 3 是全局 commit + push 收尾；新 Task 的产出要进 status 与收尾就得改这一步。\n\n附带（条件性，非必然）：若新 Task 引入新的预注册常量，则 **🔴 预注册（Task 1 里写死进源码，先 commit 再跑）** 的 `PREREG` 块也要改；若新 Task 插在中间而非追加在末尾，Task 编号及上述所有引用编号的地方一并要改。\n\n另：若把「同类条目」取成 Task 2 里的**控制项**（`must-hit-*` / `must-not-hit-*`），则除上述 1、3 外，还需改 **Task 2 Step 8** 的 commit message（写死「9 条控制」）与 **Task 3 Step 1/Step 3** 的期望说明。\n\n```json\n{\"unitsToModify\": [\"✅ 执行状态（2026-08-31 收尾回填）\", \"File Structure\", \"Self-Review（写完计划后自查，已执行）\", \"Task 5: status 登记 + 收尾\"], \"appendCost\": 4}\n```"
}