{
  "probe": "detect-frame-theme",
  "generatedAt": "2026-09-02T03:14:11.932Z",
  "node": "v24.15.0",
  "subjectSha": "n/a (T1 确定性判据；被测对象是本仓文件)",
  "modelId": "n/a",
  "promptTemplateVersion": "n/a",
  "nailCount": 26,
  "baseline": {
    "exit": 0,
    "red": 0,
    "green": 26
  },
  "arms": [
    {
      "arm": "ctrl-copy-pristine",
      "kind": "control-green",
      "why": "未改一字的副本 ⇒ 「跑副本」本身不制造红条",
      "injection": null,
      "selfProof": [],
      "nailExit": 0,
      "redCount": 0,
      "greenCount": 26,
      "red": [],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "ctrl-noop-comment",
      "kind": "control-green",
      "why": "只改一行注释 ⇒ 钉子不是见改就红",
      "injection": {
        "from": "/** @typedef {'light'|'dark'|'unknown'} FrameTheme */",
        "to": "/** @typedef {'light'|'dark'|'unknown'} FrameTheme */ // [ctrl-noop 注入的无害注释]",
        "anchorHits": 1
      },
      "selfProof": [],
      "nailExit": 0,
      "redCount": 0,
      "greenCount": 26,
      "red": [],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "ctrl-positive",
      "kind": "control-red",
      "why": "正对照：函数恒回 light ⇒ 这套钉子确实能大面积红",
      "injection": {
        "from": "export function detectFrameTheme(node) {\n  const bg",
        "to": "export function detectFrameTheme(node) {\n  return 'light' // [ctrl-positive 注入]\n  const bg",
        "anchorHits": 1
      },
      "selfProof": [
        {
          "fixture": "dark-frame-141414",
          "pristineExpect": "dark",
          "afterInjection": "light",
          "matchesPredicted": true
        },
        {
          "fixture": "empty-node-null",
          "pristineExpect": "unknown",
          "afterInjection": "light",
          "matchesPredicted": true
        }
      ],
      "nailExit": 1,
      "redCount": 17,
      "greenCount": 9,
      "red": [
        "dark-frame-141414 → dark",
        "mid-gray-0.50 → unknown",
        "luma-exactly-0.85 → unknown",
        "luma-exactly-0.25 → unknown",
        "luma-just-below-0.25 → dark",
        "luma-just-above-0.25 → unknown",
        "gray-0.30-inside-unknown-band → unknown",
        "gray-0.80-inside-unknown-band → unknown",
        "pure-blue → dark",
        "fills-key-missing → unknown",
        "fills-empty-array → unknown",
        "fill-gradient-linear → unknown",
        "fill-image → unknown",
        "fills-not-an-array-mixed → unknown",
        "empty-node-null → unknown",
        "empty-node-undefined → unknown",
        "empty-node-bare-object → unknown"
      ],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "t1-light-threshold-gte",
      "kind": "mutation",
      "why": "上阈值由严格 `>` 放宽成 `>=` ⇒ 恰好 0.85 会被误判成 light",
      "injection": {
        "from": "if (luma > LIGHT_THRESHOLD) return 'light'",
        "to": "if (luma >= LIGHT_THRESHOLD) return 'light'",
        "anchorHits": 1
      },
      "selfProof": [
        {
          "fixture": "luma-exactly-0.85",
          "pristineExpect": "unknown",
          "afterInjection": "light",
          "matchesPredicted": true
        }
      ],
      "nailExit": 1,
      "redCount": 1,
      "greenCount": 25,
      "red": [
        "luma-exactly-0.85 → unknown"
      ],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "t2-dark-threshold-lte",
      "kind": "mutation",
      "why": "下阈值由严格 `<` 放宽成 `<=` ⇒ 恰好 0.25 会被误判成 dark",
      "injection": {
        "from": "if (luma < DARK_THRESHOLD) return 'dark'",
        "to": "if (luma <= DARK_THRESHOLD) return 'dark'",
        "anchorHits": 1
      },
      "selfProof": [
        {
          "fixture": "luma-exactly-0.25",
          "pristineExpect": "unknown",
          "afterInjection": "dark",
          "matchesPredicted": true
        }
      ],
      "nailExit": 1,
      "redCount": 1,
      "greenCount": 25,
      "red": [
        "luma-exactly-0.25 → unknown"
      ],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "t3-light-threshold-value",
      "kind": "mutation",
      "why": "上阈值 0.85 → 0.75 ⇒ unknown 带上段被吃掉",
      "injection": {
        "from": "export const LIGHT_THRESHOLD = 0.85",
        "to": "export const LIGHT_THRESHOLD = 0.75",
        "anchorHits": 1
      },
      "selfProof": [
        {
          "fixture": "gray-0.80-inside-unknown-band",
          "pristineExpect": "unknown",
          "afterInjection": "light",
          "matchesPredicted": true
        }
      ],
      "nailExit": 1,
      "redCount": 2,
      "greenCount": 24,
      "red": [
        "luma-exactly-0.85 → unknown",
        "gray-0.80-inside-unknown-band → unknown"
      ],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "t4-dark-threshold-value",
      "kind": "mutation",
      "why": "下阈值 0.25 → 0.35 ⇒ unknown 带下段被吃掉",
      "injection": {
        "from": "export const DARK_THRESHOLD = 0.25",
        "to": "export const DARK_THRESHOLD = 0.35",
        "anchorHits": 1
      },
      "selfProof": [
        {
          "fixture": "gray-0.30-inside-unknown-band",
          "pristineExpect": "unknown",
          "afterInjection": "dark",
          "matchesPredicted": true
        }
      ],
      "nailExit": 1,
      "redCount": 3,
      "greenCount": 23,
      "red": [
        "luma-exactly-0.25 → unknown",
        "luma-just-above-0.25 → unknown",
        "gray-0.30-inside-unknown-band → unknown"
      ],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "c1-coef-rg-swap",
      "kind": "mutation",
      "why": "luma 系数 r↔g 对调（0.299/0.587）⇒ 绿主导的近白 frame 掉出 light",
      "injection": {
        "from": "const luma = 0.299 * bg.r + 0.587 * bg.g + 0.114 * bg.b",
        "to": "const luma = 0.587 * bg.r + 0.299 * bg.g + 0.114 * bg.b",
        "anchorHits": 1
      },
      "selfProof": [
        {
          "fixture": "green-dominant-near-white",
          "pristineExpect": "light",
          "afterInjection": "unknown",
          "matchesPredicted": true
        }
      ],
      "nailExit": 1,
      "redCount": 4,
      "greenCount": 22,
      "red": [
        "luma-just-above-0.85 → light",
        "luma-exactly-0.25 → unknown",
        "luma-just-above-0.25 → unknown",
        "green-dominant-near-white → light"
      ],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "c2-coef-gb-swap",
      "kind": "mutation",
      "why": "luma 系数 g↔b 对调（0.587/0.114）⇒ 纯蓝不再是 dark",
      "injection": {
        "from": "const luma = 0.299 * bg.r + 0.587 * bg.g + 0.114 * bg.b",
        "to": "const luma = 0.299 * bg.r + 0.114 * bg.g + 0.587 * bg.b",
        "anchorHits": 1
      },
      "selfProof": [
        {
          "fixture": "pure-blue",
          "pristineExpect": "dark",
          "afterInjection": "unknown",
          "matchesPredicted": true
        }
      ],
      "nailExit": 1,
      "redCount": 3,
      "greenCount": 23,
      "red": [
        "luma-just-above-0.85 → light",
        "luma-just-below-0.25 → dark",
        "pure-blue → dark"
      ],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "f1-fallback-not-unknown",
      "kind": "mutation",
      "why": "取不到 fill 时的兜底由 unknown 改成 dark ⇒ fills 缺失 / 非 SOLID / 空节点那一族全塌",
      "injection": {
        "from": "if (!bg) return 'unknown'",
        "to": "if (!bg) return 'dark'",
        "anchorHits": 1
      },
      "selfProof": [
        {
          "fixture": "fill-gradient-linear",
          "pristineExpect": "unknown",
          "afterInjection": "dark",
          "matchesPredicted": true
        },
        {
          "fixture": "empty-node-bare-object",
          "pristineExpect": "unknown",
          "afterInjection": "dark",
          "matchesPredicted": true
        }
      ],
      "nailExit": 1,
      "redCount": 8,
      "greenCount": 18,
      "red": [
        "fills-key-missing → unknown",
        "fills-empty-array → unknown",
        "fill-gradient-linear → unknown",
        "fill-image → unknown",
        "fills-not-an-array-mixed → unknown",
        "empty-node-null → unknown",
        "empty-node-undefined → unknown",
        "empty-node-bare-object → unknown"
      ],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    },
    {
      "arm": "f2-drop-node-optional-chain",
      "kind": "mutation",
      "why": "把 `node?.fills` 退回真源伪代码的 `node.fills` ⇒ 空节点改为抛 TypeError（本实现那处显式偏离的判别力）",
      "injection": {
        "from": "const bg = node?.fills?.[0]?.color",
        "to": "const bg = node.fills?.[0]?.color",
        "anchorHits": 1
      },
      "selfProof": [
        {
          "fixture": "empty-node-null",
          "pristineExpect": "unknown",
          "afterInjection": "<throws>",
          "matchesPredicted": true
        }
      ],
      "nailExit": 1,
      "redCount": 4,
      "greenCount": 22,
      "red": [
        "empty-node-null → unknown",
        "empty-node-undefined → unknown",
        "全表只回 light|dark|unknown 三值之一",
        "同一入参重复调用读数一致"
      ],
      "expectedRedMissing": [],
      "expectedGreenWentRed": [],
      "verdict": "PASS"
    }
  ],
  "restore": {
    "exit": 0,
    "red": 0,
    "green": 26,
    "sourceByteIdentical": true,
    "gitPorcelainForSource": "?? probes/detect-frame-theme/detect-frame-theme.mjs"
  },
  "hardFailArms": 0
}
