{
  "auditId": "llm-judge-v4-label-stability",
  "subjectSha": "6ac56de2",
  "modelId": "claude-opus-5",
  "ruleChars": 1672,
  "prereg": {
    "n": 5,
    "arms": [
      "V3"
    ],
    "purpose": "量「LLM 对单元做 attribute/shared 二分」这个操作在一份两类都必然出现的文档上可不可靠。⛔ 不检验 v3 判据成立；⛔ 不做臂间差。",
    "primary": [
      "mixed-index/synthetic"
    ],
    "observeOnly": [
      "must-not-hit-0/lcd-after"
    ],
    "emptyListRule": "5 次中列出**非空** unitsToModify 的次数 < 4/5 ⇒ ⛔ 整轮不可判读（列举未行使）。⚠️ 本样本是**结构强制**要改的（新条目按 §7 插进条目区末尾 ⇒ 其后章节编号必然顺延），模型仍交空表 ⇒ 问题 ⛔ 不在样本，在模型不做这个任务 —— 这本身是一条要单独登记的读数。",
    "nullInstrumentRule": "若 5 次中 ≥ 4 次出现 `A == 总数`（一个 shared 都没标出来）**且**该样本经取数前结构论证确认存在共用段（本轮主样本 ✓ 论证出 4 个）⇒ 记「量具未生效」⇒ ⛔ 整轮不可判读。⛔ 不读成「v3 无效」，也 ⛔ 不读成「v3 有效」。",
    "unanchoredRule": "模型给的 unit 是自由文本，需靠 MIXED_INDEX_GROUND_TRUTH 的锚词匹配到钉死答案。某次调用里**未匹配单元数 > 已匹配单元数** ⇒ 该次记「⛔ 不可判读（锚词失配）」。此类次数 ≥ 2/5 ⇒ ⛔ 整轮不可判读（量具缺陷：锚词表覆盖不全）。⚠️ 未匹配 ⛔ 不计模型错 —— 那是 lab 的锚词表没覆盖到，⛔ 不是模型标错。",
    "decisionRule": {
      "🟢 A/B 标注在这份文档上可靠": "pass ≥ 4/5 ⇒ v3 的前提（区分能被可靠做出来）在本样本上**暂未被推翻**。⛔ 不得外推到任何未测文档；⛔ 更不等于「v3 判据成立」。",
      "不下结论": "pass == 3/5（中间带）⇒ N 不足，⛔ 不许在 n=5 上硬读。",
      "🔴 A/B 标注这条实现路径不可靠": "pass ≤ 2/5 ⇒ 让 LLM 做 attribute/shared 二分这条**实现路径**不可靠 ⇒ v3 的前提不成立。⛔ 否掉的是**实现路径**，⛔ 不是「A/B 拆分」这个想法本身。"
    },
    "thresholdProvenance": "4/5 与 2/5 是先验阈值，⛔ 非数据推导。实测正好落在 3/5 或 4/5 ⇒ **按落进的那一支走**，⛔ 不许事后调阈值、⛔ 不许自创第四种读法。",
    "labelStabilityRule": "同时报两侧，任一不稳即报：① **unitsToModify 全集**跨 5 次是否相同；② attribute 集合跨 5 次是否相同。⛔ 本项仍不设阈值 —— 列表全集的稳定性这是**第一次**量它，先验编一个阈值就是照答案设计（N80.1）。⇒ 只报数、⛔ 不判绿红。",
    "falsifiability": "主判据变红的具体输入：模型把 §1 生效版本对照表标成 `shared`，或把 §5/§6/§7 的标题编号顺延标成 `attribute`，累计 ≥ 3/5 次。闸① 变红：交空表 ≥ 2/5。闸② 变红：5 个单元全标 `attribute` ≥ 4/5。闸③ 变红：未匹配单元占多数的调用 ≥ 2/5。",
    "ambiguityRule": "若模型的标法与钉死答案不同，**但它的理由同样符合 buildPromptV3 里那两条定义** ⇒ 记「模板定义歧义」，⛔ 不计模型错，单独登记为 jt-v3 的模板缺陷。🔴 已知的一处歧义（取数前即发现，⛔ 已从样本中剔除、⛔ 但不许藏起来）：「本文档共登记 N 项」这类**计数/索引段** —— 按 attribute 第二句前半「之所以要改是因为多了一个条目」它是 attribute，按 shared 第二句「无论几个条目都只有一份」它是 shared。⇒ 两条定义在该形态上冲突。真实文档里计数段极常见，`jt-v3` 迟早撞上，须单独登记。",
    "numericCaveat": "⛔ 数值不读。本轮钉的是**标注是否与钉死答案一致**，⛔ 不是 A 或总数的具体取值。"
  },
  "groundTruth": [
    {
      "anchor": [
        "对照表",
        "生效版本"
      ],
      "kind": "attribute",
      "why": "attribute 两句定义均满足：装的是「某一个具体条目自己的属性」（该码的生效版本、归属模块）；「每多一个条目，它就得多一份内容」= 必须多一行。shared 的「无论 1 个还是 10 个条目都只有一份」❌ 不满足 ⇒ ⛔ 无歧义。"
    },
    {
      "anchor": [
        "术语表"
      ],
      "kind": "shared",
      "why": "shared 定义满足：「无论 1 个还是 10 个条目都只有一份」。要改的原因是**位置顺延**（§5→§6），⛔ 不是「多一份内容」⇒ attribute 第二句后半 ❌ 不满足 ⇒ ⛔ 无歧义。"
    },
    {
      "anchor": [
        "判定口径"
      ],
      "kind": "shared",
      "why": "同术语表：一份、与条目数无关，改动只因标题编号 §6→§7 顺延。"
    },
    {
      "anchor": [
        "维护约定"
      ],
      "kind": "shared",
      "why": "同上（§7→§8）。⚠️ 其内文「§2–§4」还需改成「§2–§5」—— 仍是共用的维护性部分，⛔ 不因此变成某条目自己的属性。"
    },
    {
      "anchor": [
        "导读",
        "文首",
        "开头",
        "引言",
        "顶部",
        "首段",
        "页首"
      ],
      "kind": "shared",
      "why": "文首那句「判定口径见 §6，维护约定见 §7」需改成 §7/§8。一份、与条目数无关 ⇒ shared。"
    }
  ],
  "actualN": 5,
  "samples": [
    {
      "id": "mixed-index/synthetic",
      "arm": "V3",
      "role": "primary",
      "expect": "appendCost>=1",
      "costs": [
        1,
        1,
        1,
        1,
        1
      ],
      "totals": [
        3,
        5,
        5,
        5,
        5
      ],
      "unitSets": [
        [
          "§1 各告警码生效版本对照表",
          "§7 维护约定",
          "顶部导语（标题下引用块）"
        ],
        [
          "§1 各告警码生效版本对照表",
          "文首导语（交叉引用行）",
          "§5 术语表（标题序号）",
          "§6 判定口径（标题序号）",
          "§7 维护约定（标题序号 + 条目区范围 §2–§4）"
        ],
        [
          "§1 各告警码生效版本对照表",
          "导语（生效版本见 §1，判定口径见 §6，维护约定见 §7）",
          "§5 术语表",
          "§6 判定口径",
          "§7 维护约定"
        ],
        [
          "1. 各告警码生效版本对照表",
          "5. 术语表",
          "6. 判定口径",
          "7. 维护约定",
          "顶部导语（引言块）"
        ],
        [
          "1. 各告警码生效版本对照表",
          "顶部导语（生效版本见 §1，判定口径见 §6，维护约定见 §7）",
          "5. 术语表",
          "6. 判定口径",
          "7. 维护约定"
        ]
      ],
      "attrSets": [
        [
          "§1 各告警码生效版本对照表"
        ],
        [
          "§1 各告警码生效版本对照表"
        ],
        [
          "§1 各告警码生效版本对照表"
        ],
        [
          "1. 各告警码生效版本对照表"
        ],
        [
          "1. 各告警码生效版本对照表"
        ]
      ],
      "scores": [
        {
          "verdict": "pass",
          "allCorrect": true,
          "bothKinds": true,
          "matched": [
            {
              "unit": "§1 各告警码生效版本对照表",
              "got": "attribute",
              "want": "attribute"
            },
            {
              "unit": "§7 维护约定",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "顶部导语（标题下引用块）",
              "got": "shared",
              "want": "shared"
            }
          ],
          "unmatched": []
        },
        {
          "verdict": "pass",
          "allCorrect": true,
          "bothKinds": true,
          "matched": [
            {
              "unit": "§1 各告警码生效版本对照表",
              "got": "attribute",
              "want": "attribute"
            },
            {
              "unit": "文首导语（交叉引用行）",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "§5 术语表（标题序号）",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "§6 判定口径（标题序号）",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "§7 维护约定（标题序号 + 条目区范围 §2–§4）",
              "got": "shared",
              "want": "shared"
            }
          ],
          "unmatched": []
        },
        {
          "verdict": "pass",
          "allCorrect": true,
          "bothKinds": true,
          "matched": [
            {
              "unit": "§1 各告警码生效版本对照表",
              "got": "attribute",
              "want": "attribute"
            },
            {
              "unit": "§5 术语表",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "§6 判定口径",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "§7 维护约定",
              "got": "shared",
              "want": "shared"
            }
          ],
          "unmatched": [
            "导语（生效版本见 §1，判定口径见 §6，维护约定见 §7）"
          ]
        },
        {
          "verdict": "pass",
          "allCorrect": true,
          "bothKinds": true,
          "matched": [
            {
              "unit": "1. 各告警码生效版本对照表",
              "got": "attribute",
              "want": "attribute"
            },
            {
              "unit": "5. 术语表",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "6. 判定口径",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "7. 维护约定",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "顶部导语（引言块）",
              "got": "shared",
              "want": "shared"
            }
          ],
          "unmatched": []
        },
        {
          "verdict": "pass",
          "allCorrect": true,
          "bothKinds": true,
          "matched": [
            {
              "unit": "1. 各告警码生效版本对照表",
              "got": "attribute",
              "want": "attribute"
            },
            {
              "unit": "5. 术语表",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "6. 判定口径",
              "got": "shared",
              "want": "shared"
            },
            {
              "unit": "7. 维护约定",
              "got": "shared",
              "want": "shared"
            }
          ],
          "unmatched": [
            "顶部导语（生效版本见 §1，判定口径见 §6，维护约定见 §7）"
          ]
        }
      ],
      "nulls": 0,
      "selfCountMismatch": 0
    },
    {
      "id": "must-not-hit-0/lcd-after",
      "arm": "V2",
      "role": "observe-only",
      "expect": "appendCost==0",
      "costs": [
        4,
        0,
        4,
        4,
        4
      ],
      "totals": [
        4,
        0,
        4,
        4,
        4
      ],
      "unitSets": [
        [
          "4. 现存未收敛文案登记",
          "5. 组件与视觉（所有场景共用）",
          "6. 维护约定",
          "顶部导语引用块（§2 与 §6.2 落点指引）"
        ],
        [],
        [
          "头部导语（“做法 / 判据类内容的落点见 §2 与 §6.2”指针行）",
          "4. 现存未收敛文案登记（标题编号）",
          "5. 组件与视觉（所有场景共用）（标题编号）",
          "6. 维护约定（标题编号及 6.1/6.2/6.3 子编号）"
        ],
        [
          "文件头说明块（引用 §6.2）",
          "## 4. 现存未收敛文案登记",
          "## 5. 组件与视觉（所有场景共用）",
          "## 6. 维护约定（含 6.1 / 6.2 / 6.3 子节编号）"
        ],
        [
          "文首导言块（指针 §6.2）",
          "4. 现存未收敛文案登记",
          "5. 组件与视觉（所有场景共用）",
          "6. 维护约定（含 6.1 / 6.2 / 6.3）"
        ]
      ],
      "attrSets": [
        null,
        null,
        null,
        null,
        null
      ],
      "scores": [
        null,
        null,
        null,
        null,
        null
      ],
      "nulls": 0,
      "selfCountMismatch": 0
    }
  ]
}