{
  "subjectSha": "6ac56de2",
  "modelId": "claude-opus-5",
  "promptTemplateVersion": "jt-v1",
  "rung": "R2",
  "templateHash": "6a9de5b79d3d5cf3877970a22c0b4dbb5bcba17b7be11fb64eb00d6d244b82b0",
  "docHash": "075f98b785e3a1828ab0c130cd713d797e259abee258eb00b6fa12062153fcc4",
  "sampleId": "observe/oneshot-plan",
  "iteration": 2,
  "appendCost": 5,
  "unitsToModify": [
    "✅ 执行状态（2026-08-31 收尾回填）",
    "File Structure",
    "🔴 预注册（Task 1 里写死进源码，先 commit 再跑）",
    "Task 5: status 登记 + 收尾",
    "Self-Review（写完计划后自查，已执行）"
  ],
  "wallMs": 52005,
  "exitCode": 0,
  "raw": "## 事实：新增一个同类条目（一个新 Task）需要改动的已有部分\n\n这份文档正在组织/登记的条目单位是 **Task**（Task 1–5，各含 Files / Interfaces / Steps）。加一个 Task 6，以下已写好的部分必须改：\n\n1. **「✅ 执行状态（2026-08-31 收尾回填）」**\n   - 表格必须加一行（Task / 状态 / 实际产出）；\n   - 表上方那句「**全部 Task 已执行完毕。**」是对全集的断言，加了未执行的 Task 后必须改。\n\n2. **「File Structure」**\n   - 新 Task 涉及的文件不在 Task 内单独声明就生效——集中清单在此；\n   - 其中「**Create** `metrics/f4-denominator-branches.mjs` —— **唯一新文件**」是排他措辞，新 Task 若产出文件必须改这句。\n\n3. **「🔴 预注册（Task 1 里写死进源码，先 commit 再跑）」**\n   - `PREREG` 常量块是全局唯一的一处；新 Task 若带任何阈值/期望值，只能改这个块（Task 1 Step 1 明写「照上面『预注册』原文抄」）。\n\n4. **「Task 5: status 登记 + 收尾」**\n   - Task 5 是收尾单元（`git status` 干净 + push + work-log），排在序列末尾；新 Task 插在它之前会改动 Task 5 的编号与其被引用处，追加在它之后则 Task 5 的「收尾」语义与 Step 1 登记内容（写明 N81 应包含什么）需要改。\n\n5. **「Self-Review（写完计划后自查，已执行）」** —— 三小节都按现有 Task 全集写死：\n   - §1 Spec 覆盖：`§5 第 2 项 → Task 3/4`、`N80.4 → Task 1 Step 4 + Task 4 Step 1`，结论「✅ 无缺口」；\n   - §2 占位扫描：「每个代码步骤都给了可直接粘的实现。✅」；\n   - §3 类型一致性：逐个点名 `Task 1 Step 3/4 与 Task 2 Step 3/5/6` 的字段一致性。\n\n### 另外两条相关事实\n\n- **跨引用编号**：`预注册` 块与 `Self-Review` 用「Task N Step M」硬编码互指（如「Task 2 Step 1」「Task 2 Step 3 的三态合成探针」）。新 Task 若不是追加在末尾，这些引用全部要改。\n- **若把「条目」取更细一层（Task 2 里的一条控制）**，需改的已有部分是：「✅ 执行状态」表 Task 2 行（现写「13 条控制 + 1 条 skip」）、Task 2 Step 8 的 commit message（现写「9 条控制」）、`🔴 预注册`（若该控制带期望值）、Self-Review §3。\n\n```json\n{\"unitsToModify\": [\"✅ 执行状态（2026-08-31 收尾回填）\", \"File Structure\", \"🔴 预注册（Task 1 里写死进源码，先 commit 再跑）\", \"Task 5: status 登记 + 收尾\", \"Self-Review（写完计划后自查，已执行）\"], \"appendCost\": 5}\n```"
}