{
  "auditId": "llm-judge-v3-ab-split",
  "subjectSha": "6ac56de2",
  "modelId": "claude-opus-5",
  "ruleChars": 1672,
  "prereg": {
    "n": 5,
    "arms": [
      "V2",
      "V3"
    ],
    "purpose": "测「LLM 对单元做 A/B 标注」这一操作的稳定性与它能否消掉 lcd-after 的方向反转。⛔ 不检验 v3 判据成立（同一批样本读数已被逐条看过 ⇒ 过拟合）。",
    "discriminator": [
      "must-not-hit-0/lcd-after"
    ],
    "regressionGuard": [
      "must-hit-0/lcd-before",
      "must-hit-1/synthetic-attribute-split"
    ],
    "observeOnly": [
      "observe/oneshot-plan"
    ],
    "decisionRule": {
      "⛔ 不可判读（基线异常）": "V2 ≥ 1/5 ⇒ 基线臂上 lcd-after 竟然有次判对了。跨两轮 25 次里它 23 次输出 4、从未判对 ⇒ 本轮基线与既有读数不一致，臂间差失去参照，⛔ 本轮不可判读。⚠️ 此时那件事本身要单独登记（读数稳定性），⛔ 不得当作 v3 的证据",
      "v3 还没死（A/B 标注在这一格上做对了）": "V2 == 0/5 且 V3 ≥ 4/5 ⇒ 换成只数 A 之后，lcd-after 的方向反转被消掉。⛔ 这**不是**「v3 判据成立」—— 该格正是 v3 照着设计的那个病灶，变绿接近构造保证；本条真正买到的是「LLM 的 A/B 标注在这份文档上能稳定做对」这个**可行性**读数。⛔ 仍不得外推到任何未测样本",
      "v3 当场死": "V2 == 0/5 且 V3 ≤ 2/5 ⇒ 连**训练集**上的方向反转都消不掉 ⇒ v3 这条路当场否掉，⛔ 不必再等 A 路样本。⚠️ 但须先看 labelStability：若标注本身就不稳（见下），则否掉的是「让 LLM 做 A/B 标注」这个实现路径，⛔ 不是「A/B 拆分」这个想法",
      "不下结论": "V2 == 0/5 且 V3 == 3/5（中间带）⇒ N 不足，⛔ 不许在 n=5 上硬读"
    },
    "regressionRule": "两条 regressionGuard 在 V3 上必须各自 ≥ 4/5。任一 ≤ 3/5 ⇒ ⛔ 整体不得判「v3 还没死」，无论 discriminator 多绿 —— 一个把 must-hit 弄坏的判据不算修好。该情形逐条登记。",
    "labelStabilityRule": "对每份样本，跨 n=5 次收集 V3 的 attribute 单元集合。报三个数：① 五次集合完全相同的样本数；② 每份样本 attribute 单元数的取值分布；③ 被标成 shared 的单元里，是否出现过 T 原文点名过的条目属性词（内容/规则/出处）—— 出现即为**误标**，逐条登记。⛔ 不设通过阈值：本轮是第一次量它，事先编一个阈值就是照答案设计（N80.1）。⇒ 本项只报数、⛔ 不判绿红，阈值留给看到分布之后的**下一份**预注册。",
    "nullInstrumentRule": "若 V3 臂上某样本五次的 attribute 集合恒等于其 unitsToModify 全集（即一个 shared 都没标出来），则 A/B 拆分在该样本上**实际没有发生**，v3 退化成 v2 ⇒ 该样本记「量具未生效」，⛔ 不读成「v3 无效」，也 ⛔ 不读成「v3 有效」。若 discriminator 那一格落入此支 ⇒ 整体判「⛔ 不可判读（量具未生效）」。",
    "crossArmCaveat": "⚠️ V3 的 JSON 同时带回 appendCostTotal，但它 ⛔ 不可与 V2 臂的 appendCost 相比 —— 两臂 prompt 不同，分布不可比。它只用于 V3 臂**内部**算 A/总 的比例。",
    "numericCaveat": "⛔ 数值不读。预注册钉的是**方向正确率**（N85.3：R1 跨 session 方向可复现、数值不可复现）。"
  },
  "actualN": 5,
  "arms": {
    "V2": {
      "promptTemplateVersion": "jt-v1",
      "templateHash": "7f974b9ad9f6955462b4da1586cd3ebd8f6e47b371b48483fc3906609d0160bf",
      "samples": [
        {
          "id": "must-hit-0/lcd-before",
          "expect": "appendCost>=1",
          "costs": [
            2,
            3,
            3,
            4,
            2
          ],
          "totals": [
            2,
            3,
            3,
            4,
            2
          ],
          "attrSets": [
            null,
            null,
            null,
            null,
            null
          ],
          "sharedSets": [
            null,
            null,
            null,
            null,
            null
          ],
          "nulls": 0,
          "selfCountMismatch": 0,
          "agreement": 1
        },
        {
          "id": "must-not-hit-0/lcd-after",
          "expect": "appendCost==0",
          "costs": [
            0,
            4,
            4,
            4,
            4
          ],
          "totals": [
            0,
            4,
            4,
            4,
            4
          ],
          "attrSets": [
            null,
            null,
            null,
            null,
            null
          ],
          "sharedSets": [
            null,
            null,
            null,
            null,
            null
          ],
          "nulls": 0,
          "selfCountMismatch": 0,
          "agreement": 0.2
        },
        {
          "id": "must-hit-1/synthetic-attribute-split",
          "expect": "appendCost>=1",
          "costs": [
            3,
            3,
            3,
            3,
            3
          ],
          "totals": [
            3,
            3,
            3,
            3,
            3
          ],
          "attrSets": [
            null,
            null,
            null,
            null,
            null
          ],
          "sharedSets": [
            null,
            null,
            null,
            null,
            null
          ],
          "nulls": 0,
          "selfCountMismatch": 0,
          "agreement": 1
        },
        {
          "id": "observe/oneshot-plan",
          "expect": null,
          "costs": [
            4,
            3,
            5,
            5,
            3
          ],
          "totals": [
            4,
            3,
            5,
            5,
            3
          ],
          "attrSets": [
            null,
            null,
            null,
            null,
            null
          ],
          "sharedSets": [
            null,
            null,
            null,
            null,
            null
          ],
          "nulls": 0,
          "selfCountMismatch": 0,
          "agreement": null
        }
      ]
    },
    "V3": {
      "promptTemplateVersion": "jt-v3",
      "templateHash": "c6a057f960ebc584d4aded47fbdff2120d179c11f29ee2d5588186d717edee0a",
      "samples": [
        {
          "id": "must-hit-0/lcd-before",
          "expect": "appendCost>=1",
          "costs": [
            2,
            2,
            2,
            2,
            2
          ],
          "totals": [
            2,
            2,
            2,
            2,
            2
          ],
          "attrSets": [
            [
              "3. 通用规则",
              "6. 出处"
            ],
            [
              "3. 通用规则",
              "6. 出处"
            ],
            [
              "3. 通用规则",
              "6. 出处"
            ],
            [
              "3. 通用规则",
              "6. 出处"
            ],
            [
              "3. 通用规则",
              "6. 出处"
            ]
          ],
          "sharedSets": [
            [],
            [],
            [],
            [],
            []
          ],
          "nulls": 0,
          "selfCountMismatch": 0,
          "agreement": 1
        },
        {
          "id": "must-not-hit-0/lcd-after",
          "expect": "appendCost==0",
          "costs": [
            0,
            0,
            0,
            0,
            0
          ],
          "totals": [
            4,
            0,
            0,
            0,
            0
          ],
          "attrSets": [
            [],
            [],
            [],
            [],
            []
          ],
          "sharedSets": [
            [
              "文首导读段（引用 §2 与 §6.2 的那行）",
              "4. 现存未收敛文案登记（标题编号）",
              "5. 组件与视觉（所有场景共用）（标题编号）",
              "6. 维护约定（标题编号及 6.1/6.2/6.3 子编号）"
            ],
            [],
            [],
            [],
            []
          ],
          "nulls": 0,
          "selfCountMismatch": 0,
          "agreement": 1
        },
        {
          "id": "must-hit-1/synthetic-attribute-split",
          "expect": "appendCost>=1",
          "costs": [
            3,
            3,
            3,
            3,
            3
          ],
          "totals": [
            3,
            3,
            3,
            3,
            3
          ],
          "attrSets": [
            [
              "1. 文案",
              "2. 通用规则",
              "3. 出处"
            ],
            [
              "1. 文案",
              "2. 通用规则",
              "3. 出处"
            ],
            [
              "1. 文案",
              "2. 通用规则",
              "3. 出处"
            ],
            [
              "1. 文案",
              "2. 通用规则",
              "3. 出处"
            ],
            [
              "1. 文案",
              "2. 通用规则",
              "3. 出处"
            ]
          ],
          "sharedSets": [
            [],
            [],
            [],
            [],
            []
          ],
          "nulls": 0,
          "selfCountMismatch": 0,
          "agreement": 1
        },
        {
          "id": "observe/oneshot-plan",
          "expect": null,
          "costs": [
            3,
            3,
            3,
            3,
            3
          ],
          "totals": [
            3,
            3,
            3,
            3,
            3
          ],
          "attrSets": [
            [
              "✅ 执行状态（2026-08-31 收尾回填）表格",
              "File Structure",
              "Self-Review（写完计划后自查，已执行）"
            ],
            [
              "✅ 执行状态（2026-08-31 收尾回填）状态表",
              "File Structure",
              "Self-Review（第 1 项 Spec 覆盖 / 第 3 项 类型一致性）"
            ],
            [
              "✅ 执行状态（2026-08-31 收尾回填）",
              "File Structure",
              "Self-Review（写完计划后自查，已执行）"
            ],
            [
              "✅ 执行状态（2026-08-31 收尾回填）表格",
              "File Structure",
              "Self-Review"
            ],
            [
              "✅ 执行状态（2026-08-31 收尾回填）表格",
              "File Structure",
              "Self-Review（§1 Spec 覆盖 / §3 类型一致性）"
            ]
          ],
          "sharedSets": [
            [],
            [],
            [],
            [],
            []
          ],
          "nulls": 0,
          "selfCountMismatch": 0,
          "agreement": null
        }
      ]
    }
  }
}