{
  "meta": {
    "dsTree": "/private/tmp/claude-501/-Users-nancy-Documents-AICoding-VS-Code-ai-ds-lab/bb78a302-bd1f-4caa-b91c-5c0563e9c1a9/scratchpad/ds-f15c8500",
    "gate": "scripts/audit-mockup-geometry-consistency.mjs",
    "probeKeys": [
      "G1",
      "G2",
      "G3"
    ],
    "baseline": {
      "G1": 0,
      "G2": 0,
      "G3": 0,
      "R1": 0,
      "R2": 0,
      "R3": 0
    },
    "widthTolerance": 1,
    "ranCli": false,
    "note": "probe 判定与 exit code 为 lab 逐行复刻，⛔ 未跑 CLI（需 live Figma token）"
  },
  "fixtureSingleVariable": {
    "diffCount": 1,
    "diff": [
      {
        "path": "$.children.1.absoluteBoundingBox.height",
        "y": 1077,
        "x": 900
      }
    ],
    "ok": true
  },
  "arms": {
    "Y": {
      "label": "Y (等高 1228x1077 / 1228x1077 · 组件集不同)",
      "n_grp": 1,
      "groupSizes": [
        "1228x1077"
      ],
      "groupFrameIds": [
        [
          "sf:1",
          "sf:2"
        ]
      ],
      "scanned": {
        "controls": 2,
        "buttons": 0
      },
      "counts": {
        "G1": 0,
        "G2": 1,
        "G3": 0
      },
      "g2findings": [
        {
          "probe": "G2",
          "parent": "Feature P",
          "stateFrameSize": "1228x1077",
          "control": "Ctrl",
          "widths": [
            418,
            480
          ],
          "nodes": [
            {
              "id": "c:1",
              "frame": "State A",
              "width": 418
            },
            {
              "id": "c:2",
              "frame": "State B",
              "width": 480
            }
          ]
        }
      ],
      "g1findings": [],
      "inScopeIds": [
        "c:1",
        "c:2"
      ],
      "has": {
        "c:1": true,
        "c:2": true,
        "sf:1": false,
        "sf:2": false,
        "P": false
      },
      "cli": {
        "noProbe": {
          "counts": {
            "G1": 0,
            "G2": 1,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [
            "G2 1>0"
          ],
          "exit": 1,
          "printsPass": false
        },
        "probe_c1": {
          "counts": {
            "G1": 0,
            "G2": 1,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [
            "G2 1>0"
          ],
          "exit": 1,
          "printsPass": false
        },
        "probe_sf2": {
          "counts": {
            "G1": 0,
            "G2": 1,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [
            "G2 1>0"
          ],
          "exit": 2,
          "printsPass": false
        },
        "probe_sf1": {
          "counts": {
            "G1": 0,
            "G2": 1,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [
            "G2 1>0"
          ],
          "exit": 2,
          "printsPass": false
        }
      }
    },
    "X": {
      "label": "X (同宽不等高 1228x1077 / 1228x900 · 组件集不同)",
      "n_grp": 0,
      "groupSizes": [],
      "groupFrameIds": [],
      "scanned": {
        "controls": 2,
        "buttons": 0
      },
      "counts": {
        "G1": 0,
        "G2": 0,
        "G3": 0
      },
      "g2findings": [],
      "g1findings": [],
      "inScopeIds": [
        "c:1",
        "c:2"
      ],
      "has": {
        "c:1": true,
        "c:2": true,
        "sf:1": false,
        "sf:2": false,
        "P": false
      },
      "cli": {
        "noProbe": {
          "counts": {
            "G1": 0,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [],
          "exit": 0,
          "printsPass": true
        },
        "probe_c1": {
          "counts": {
            "G1": 0,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [],
          "exit": 0,
          "printsPass": true
        },
        "probe_sf2": {
          "counts": {
            "G1": 0,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [],
          "exit": 2,
          "printsPass": false
        },
        "probe_sf1": {
          "counts": {
            "G1": 0,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [],
          "exit": 2,
          "printsPass": false
        }
      }
    },
    "W": {
      "label": "W [事后追加] (等高 · 组件集【相同】)",
      "n_grp": 1,
      "groupSizes": [
        "1228x1077"
      ],
      "groupFrameIds": [
        [
          "sf:1",
          "sf:2"
        ]
      ],
      "scanned": {
        "controls": 2,
        "buttons": 0
      },
      "counts": {
        "G1": 1,
        "G2": 1,
        "G3": 0
      },
      "g2findings": [
        {
          "probe": "G2",
          "parent": "Feature P",
          "stateFrameSize": "1228x1077",
          "control": "Ctrl",
          "widths": [
            418,
            480
          ],
          "nodes": [
            {
              "id": "c:1",
              "frame": "State A",
              "width": 418
            },
            {
              "id": "c:2",
              "frame": "State B",
              "width": 480
            }
          ]
        }
      ],
      "g1findings": [
        {
          "probe": "G1",
          "label": "select box/filled",
          "widths": [
            418,
            480
          ],
          "count": 2,
          "nodes": [
            {
              "id": "c:1",
              "name": "Ctrl",
              "width": 418,
              "frame": "State A"
            },
            {
              "id": "c:2",
              "name": "Ctrl",
              "width": 480,
              "frame": "State B"
            }
          ]
        }
      ],
      "inScopeIds": [
        "c:1",
        "c:2"
      ],
      "has": {
        "c:1": true,
        "c:2": true,
        "sf:1": false,
        "sf:2": false,
        "P": false
      },
      "cli": {
        "noProbe": {
          "counts": {
            "G1": 1,
            "G2": 1,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [
            "G1 1>0",
            "G2 1>0"
          ],
          "exit": 1,
          "printsPass": false
        },
        "probe_c1": {
          "counts": {
            "G1": 1,
            "G2": 1,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [
            "G1 1>0",
            "G2 1>0"
          ],
          "exit": 1,
          "printsPass": false
        },
        "probe_sf2": {
          "counts": {
            "G1": 1,
            "G2": 1,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [
            "G1 1>0",
            "G2 1>0"
          ],
          "exit": 2,
          "printsPass": false
        },
        "probe_sf1": {
          "counts": {
            "G1": 1,
            "G2": 1,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [
            "G1 1>0",
            "G2 1>0"
          ],
          "exit": 2,
          "printsPass": false
        }
      }
    },
    "Z": {
      "label": "Z [事后追加] (同宽不等高 · 组件集【相同】)",
      "n_grp": 0,
      "groupSizes": [],
      "groupFrameIds": [],
      "scanned": {
        "controls": 2,
        "buttons": 0
      },
      "counts": {
        "G1": 1,
        "G2": 0,
        "G3": 0
      },
      "g2findings": [],
      "g1findings": [
        {
          "probe": "G1",
          "label": "select box/filled",
          "widths": [
            418,
            480
          ],
          "count": 2,
          "nodes": [
            {
              "id": "c:1",
              "name": "Ctrl",
              "width": 418,
              "frame": "State A"
            },
            {
              "id": "c:2",
              "name": "Ctrl",
              "width": 480,
              "frame": "State B"
            }
          ]
        }
      ],
      "inScopeIds": [
        "c:1",
        "c:2"
      ],
      "has": {
        "c:1": true,
        "c:2": true,
        "sf:1": false,
        "sf:2": false,
        "P": false
      },
      "cli": {
        "noProbe": {
          "counts": {
            "G1": 1,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [
            "G1 1>0"
          ],
          "exit": 1,
          "printsPass": false
        },
        "probe_c1": {
          "counts": {
            "G1": 1,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [
            "G1 1>0"
          ],
          "exit": 1,
          "printsPass": false
        },
        "probe_sf2": {
          "counts": {
            "G1": 1,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [
            "G1 1>0"
          ],
          "exit": 2,
          "printsPass": false
        },
        "probe_sf1": {
          "counts": {
            "G1": 1,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [
            "G1 1>0"
          ],
          "exit": 2,
          "printsPass": false
        }
      }
    },
    "V": {
      "label": "V [事后追加] (同宽不等高 · 组件集相同 · 但 baseline.G1=1)",
      "n_grp": 0,
      "groupSizes": [],
      "groupFrameIds": [],
      "scanned": {
        "controls": 2,
        "buttons": 0
      },
      "counts": {
        "G1": 1,
        "G2": 0,
        "G3": 0
      },
      "g2findings": [],
      "g1findings": [
        {
          "probe": "G1",
          "label": "select box/filled",
          "widths": [
            418,
            480
          ],
          "count": 2,
          "nodes": [
            {
              "id": "c:1",
              "name": "Ctrl",
              "width": 418,
              "frame": "State A"
            },
            {
              "id": "c:2",
              "name": "Ctrl",
              "width": 480,
              "frame": "State B"
            }
          ]
        }
      ],
      "inScopeIds": [
        "c:1",
        "c:2"
      ],
      "has": {
        "c:1": true,
        "c:2": true,
        "sf:1": false,
        "sf:2": false,
        "P": false
      },
      "cli": {
        "noProbe": {
          "counts": {
            "G1": 1,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [],
          "exit": 0,
          "printsPass": true
        },
        "probe_c1": {
          "counts": {
            "G1": 1,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": false,
          "rowDenominatorEmpty": false,
          "over": [],
          "exit": 0,
          "printsPass": true
        },
        "probe_sf2": {
          "counts": {
            "G1": 1,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [],
          "exit": 2,
          "printsPass": false
        },
        "probe_sf1": {
          "counts": {
            "G1": 1,
            "G2": 0,
            "G3": 0
          },
          "probeFailed": true,
          "rowDenominatorEmpty": false,
          "over": [],
          "exit": 2,
          "printsPass": false
        }
      }
    }
  },
  "armVcfg": {
    "baseline": {
      "G1": 1,
      "G2": 0,
      "G3": 0,
      "R1": 0,
      "R2": 0,
      "R3": 0
    }
  },
  "postHoc": {
    "why": "§18.7 先证自己的计数器：断言「G1 没接住」前必须先证 G1 在本 fixture 形态上有能力命中；并定出假绿的边界条件（同组件集时 G1 是否仍接住）。⛔ 不改任何既有档。",
    "fixtureZvsX_diff": [
      {
        "path": "$.children.1.children.0.componentId",
        "y": "comp:B",
        "x": "comp:A"
      }
    ],
    "fixtureWvsY_diff": [
      {
        "path": "$.children.1.children.0.componentId",
        "y": "comp:B",
        "x": "comp:A"
      }
    ]
  }
}