{
  "edition": "FULL-balance-2",
  "date": "2026-10-20",
  "selection": {
    "edition": "FULL-balance-2",
    "date": "2026-10-20",
    "selected": "finesse3",
    "baseline": "current2",
    "selectedBeforeIndependentConfirmation": true,
    "screening": [
      {
        "name": "current2",
        "games": 2448
      },
      {
        "name": "hourbody2",
        "games": 2448
      },
      {
        "name": "hourtime2",
        "games": 2448
      },
      {
        "name": "hourlean2",
        "games": 2448
      },
      {
        "name": "hourclock2",
        "games": 2448
      },
      {
        "name": "concord2",
        "games": 2448
      },
      {
        "name": "clockguard2",
        "games": 2448
      },
      {
        "name": "precision2",
        "games": 2448
      },
      {
        "name": "precisionglobal2",
        "games": 2448
      },
      {
        "name": "ensemble2",
        "games": 2448
      },
      {
        "name": "ensemble2",
        "stage": "screen3",
        "games": 2448
      },
      {
        "name": "pace3",
        "stage": "screen3",
        "games": 2448
      },
      {
        "name": "finesse3",
        "stage": "screen3",
        "games": 2448
      },
      {
        "name": "light3",
        "stage": "screen3",
        "games": 2448
      }
    ],
    "sourceHashes": {
      "balance-spec.json": "3fe415cd94fb10ca2efd08b0dab17e20e1844a94c45ecca71c5ee9b8a12173ef",
      "candidate.json": "59650a923f103e47fffde7ec4024d87dae5ced9f2b7c67940324cbe48b6c1258",
      "full-balance-candidate.json": "573047df0a3034d2bbc819ebe5ac539ba29c0d20d7b9706d91429b84d3bed5cf",
      "hourglass-data.json": "80b70e82e5bfc8a4c267c8d5152afdf5a3c85498c1158eba386efce2ccd33910",
      "nine-data.json": "b763b402e1d9de15715e65a0825bcf1d2bb579a14f079ef5f278b31f7c9473e3",
      "nine.js": "0ede8e4805b542c4a92824de37d0f321acb6f7fccdf264e125cf8e33022d3052",
      "prismforge-ascensions-base.json": "355f8ce3ff4ed1e7f600c28125c8e39a126bf2cdcfc0273e6be79f6ececdfef1",
      "prismforge-data.json": "f8d69783fbaf393ee8f43fcec24eda61b4977aa220631a338f1ee959d2442755",
      "prismforge-engine.js": "d1dde4f3878a5a482088dd8bf60f0b88c61b896f8ecfb308c37779e10b48bc58",
      "prismforge-expansion-base.json": "f11a6f96e399757ef29b6c686f19f54782078fbcd8507c24d31854948d8171b8",
      "prismforge-four-factions.js": "594889a25121f39c122b720e89eeda71a968f6922d91b01c5da3cd61974cb88a",
      "prismforge-hourglass.js": "528491abe5f3bc3e1d9ec42a02f5b72147a69804b00562673ec5438e17a99f57",
      "prismforge-revelwild.js": "9402394e467482fbab3ddb842f946652a3ea98c12302bb8e6a93fcd1c06e2093",
      "prismforge.js": "b612bb74b49360a2618b09105e1140f9740c3525be3f53b64a6ee5c54509fcbe",
      "revelwild-data.json": "c2626cd3e2742c2bf87d23e82f9f7e927c93734f260d4c27554b3ea827287ca7"
    },
    "baselineHashes": {
      "balance-spec.json": "3fe415cd94fb10ca2efd08b0dab17e20e1844a94c45ecca71c5ee9b8a12173ef",
      "candidate.json": "59650a923f103e47fffde7ec4024d87dae5ced9f2b7c67940324cbe48b6c1258",
      "full-balance-candidate.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",
      "hourglass-data.json": "80b70e82e5bfc8a4c267c8d5152afdf5a3c85498c1158eba386efce2ccd33910",
      "nine-data.json": "00359f6e48dbf4e64cd906e5133d7dd2bbcca9554a19883bb1cc3bb980416ab0",
      "nine.js": "0ede8e4805b542c4a92824de37d0f321acb6f7fccdf264e125cf8e33022d3052",
      "prismforge-ascensions-base.json": "355f8ce3ff4ed1e7f600c28125c8e39a126bf2cdcfc0273e6be79f6ececdfef1",
      "prismforge-data.json": "f8d69783fbaf393ee8f43fcec24eda61b4977aa220631a338f1ee959d2442755",
      "prismforge-engine.js": "2ec6950f0b9fb1c74876d1173f4b1dd12e507410857bb9f25724080c460b7c7c",
      "prismforge-expansion-base.json": "f11a6f96e399757ef29b6c686f19f54782078fbcd8507c24d31854948d8171b8",
      "prismforge-four-factions.js": "594889a25121f39c122b720e89eeda71a968f6922d91b01c5da3cd61974cb88a",
      "prismforge-hourglass.js": "caec3b49d44db7b31de191a466d96893aec82ec7aadcca313180bed3f16f571f",
      "prismforge-revelwild.js": "9402394e467482fbab3ddb842f946652a3ea98c12302bb8e6a93fcd1c06e2093",
      "prismforge.js": "b612bb74b49360a2618b09105e1140f9740c3525be3f53b64a6ee5c54509fcbe",
      "revelwild-data.json": "c2626cd3e2742c2bf87d23e82f9f7e927c93734f260d4c27554b3ea827287ca7"
    },
    "rationale": "Second-round lowest faction RMS with less extreme worst matchup than ensemble2. Retain narrow Hourglass counterplay, add one Guard to Secondhand Sentinel, improve Skyrunners survival/Nima combat and price Ironmaw Bloodrush at 2. Snapmaw cost-3 variants rejected for over-weakening Ironmaw. Final selected before confirm3; no earlier confirmation is counted as final held-out evidence.",
    "changes": {
      "inherits": "ensemble2",
      "edits": {
        "HC-003": {
          "guard": 4
        },
        "WB-008": {
          "guard": 3
        },
        "WB-010": {
          "cost": 3,
          "guard": 3
        },
        "RR-004": {
          "force": 2
        },
        "IM-011": {
          "cost": 2
        }
      }
    },
    "confirmStage": "confirm3",
    "screenStage": "screen3",
    "priorConfirmationNowDevelopmentEvidence": {
      "stage": "confirm2",
      "games": 14688,
      "reason": "Revealed remaining Ironmaw and Skyrunners imbalance; not independent confirmation of the final package."
    }
  },
  "baseline": {
    "name": "current2",
    "games": 7344,
    "factions": [
      {
        "faction": "Hearthbound",
        "games": 1536,
        "winScore": 0.4944661458333333,
        "matchups": [
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.515625
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.4739583333333333
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.4921875
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.5416666666666666
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5364583333333334
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.4947916666666667
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.453125
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.4479166666666667
          }
        ],
        "companions": [
          {
            "id": "WB-001",
            "games": 768,
            "winScore": 0.4609375
          },
          {
            "id": "RR-001",
            "games": 768,
            "winScore": 0.5279947916666666
          }
        ]
      },
      {
        "faction": "Skyrunners",
        "games": 1536,
        "winScore": 0.4544270833333333,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.484375
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.5572916666666666
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.4270833333333333
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.4166666666666667
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5729166666666666
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.359375
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.40625
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.4114583333333333
          }
        ],
        "companions": [
          {
            "id": "WB-002",
            "games": 768,
            "winScore": 0.4791666666666667
          },
          {
            "id": "RR-004",
            "games": 768,
            "winScore": 0.4296875
          }
        ]
      },
      {
        "faction": "Veilborn",
        "games": 1536,
        "winScore": 0.4407552083333333,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.5260416666666666
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.4427083333333333
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.4895833333333333
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.4010416666666667
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5260416666666666
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.296875
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4010416666666667
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.4427083333333333
          }
        ],
        "companions": [
          {
            "id": "VB-001",
            "games": 768,
            "winScore": 0.4309895833333333
          },
          {
            "id": "VB-002",
            "games": 768,
            "winScore": 0.4505208333333333
          }
        ]
      },
      {
        "faction": "Ironmaw",
        "games": 1536,
        "winScore": 0.5556640625,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.5078125
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.5729166666666666
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.5104166666666666
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.5
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.515625
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.7760416666666666
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4739583333333333
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.5885416666666666
          }
        ],
        "companions": [
          {
            "id": "IM-001",
            "games": 768,
            "winScore": 0.556640625
          },
          {
            "id": "IM-002",
            "games": 768,
            "winScore": 0.5546875
          }
        ]
      },
      {
        "faction": "Hourglass Covenant",
        "games": 1536,
        "winScore": 0.505859375,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.4583333333333333
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.5833333333333334
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.5989583333333334
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.5
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5677083333333334
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.4166666666666667
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4739583333333333
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.4479166666666667
          }
        ],
        "companions": [
          {
            "id": "HC-001",
            "games": 768,
            "winScore": 0.4765625
          },
          {
            "id": "HC-002",
            "games": 768,
            "winScore": 0.53515625
          }
        ]
      },
      {
        "faction": "Revelwild",
        "games": 1536,
        "winScore": 0.4322916666666667,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.4635416666666667
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.4270833333333333
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.4739583333333333
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.484375
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.4322916666666667
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.3958333333333333
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4114583333333333
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.3697916666666667
          }
        ],
        "companions": [
          {
            "id": "RW-001",
            "games": 768,
            "winScore": 0.4466145833333333
          },
          {
            "id": "RW-002",
            "games": 768,
            "winScore": 0.41796875
          }
        ]
      },
      {
        "faction": "Prismforge",
        "games": 1536,
        "winScore": 0.537109375,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.5052083333333334
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.640625
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.703125
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.22395833333333334
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.5833333333333334
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.6041666666666666
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.5260416666666666
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.5104166666666666
          }
        ],
        "companions": [
          {
            "id": "PF-001",
            "games": 768,
            "winScore": 0.5690104166666666
          },
          {
            "id": "PF-002",
            "games": 768,
            "winScore": 0.5052083333333334
          }
        ]
      },
      {
        "faction": "Vigilant Array",
        "games": 1536,
        "winScore": 0.546875,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.546875
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.59375
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.5989583333333334
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.5260416666666666
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.5260416666666666
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5885416666666666
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.4739583333333333
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.5208333333333334
          }
        ],
        "companions": [
          {
            "id": "VA001",
            "games": 768,
            "winScore": 0.5442708333333334
          },
          {
            "id": "VA002",
            "games": 768,
            "winScore": 0.5494791666666666
          }
        ]
      },
      {
        "faction": "Elderwake",
        "games": 1536,
        "winScore": 0.5325520833333334,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.5520833333333334
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.5885416666666666
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.5572916666666666
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.4114583333333333
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.5520833333333334
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.6302083333333334
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.4895833333333333
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4791666666666667
          }
        ],
        "companions": [
          {
            "id": "EW001",
            "games": 768,
            "winScore": 0.5286458333333334
          },
          {
            "id": "EW002",
            "games": 768,
            "winScore": 0.5364583333333334
          }
        ]
      }
    ],
    "rms": 0.04468246936187593,
    "maxMatchup": 0.27604166666666663,
    "meanRound": 6.193763616557734,
    "round12": 135,
    "draws": 2,
    "firstPlayerWinScore": 0.4869281045751634,
    "sourceHashes": {
      "balance-spec.json": "3fe415cd94fb10ca2efd08b0dab17e20e1844a94c45ecca71c5ee9b8a12173ef",
      "candidate.json": "59650a923f103e47fffde7ec4024d87dae5ced9f2b7c67940324cbe48b6c1258",
      "full-balance-candidate.json": "44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a",
      "hourglass-data.json": "80b70e82e5bfc8a4c267c8d5152afdf5a3c85498c1158eba386efce2ccd33910",
      "nine-data.json": "00359f6e48dbf4e64cd906e5133d7dd2bbcca9554a19883bb1cc3bb980416ab0",
      "nine.js": "0ede8e4805b542c4a92824de37d0f321acb6f7fccdf264e125cf8e33022d3052",
      "prismforge-ascensions-base.json": "355f8ce3ff4ed1e7f600c28125c8e39a126bf2cdcfc0273e6be79f6ececdfef1",
      "prismforge-data.json": "f8d69783fbaf393ee8f43fcec24eda61b4977aa220631a338f1ee959d2442755",
      "prismforge-engine.js": "2ec6950f0b9fb1c74876d1173f4b1dd12e507410857bb9f25724080c460b7c7c",
      "prismforge-expansion-base.json": "f11a6f96e399757ef29b6c686f19f54782078fbcd8507c24d31854948d8171b8",
      "prismforge-four-factions.js": "594889a25121f39c122b720e89eeda71a968f6922d91b01c5da3cd61974cb88a",
      "prismforge-hourglass.js": "caec3b49d44db7b31de191a466d96893aec82ec7aadcca313180bed3f16f571f",
      "prismforge-revelwild.js": "9402394e467482fbab3ddb842f946652a3ea98c12302bb8e6a93fcd1c06e2093",
      "prismforge.js": "b612bb74b49360a2618b09105e1140f9740c3525be3f53b64a6ee5c54509fcbe",
      "revelwild-data.json": "c2626cd3e2742c2bf87d23e82f9f7e927c93734f260d4c27554b3ea827287ca7"
    }
  },
  "current": {
    "name": "finesse3",
    "games": 7344,
    "factions": [
      {
        "faction": "Hearthbound",
        "games": 1536,
        "winScore": 0.4759114583333333,
        "matchups": [
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.515625
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.4010416666666667
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.515625
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.5208333333333334
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.4479166666666667
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.4947916666666667
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4635416666666667
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.4479166666666667
          }
        ],
        "companions": [
          {
            "id": "WB-001",
            "games": 768,
            "winScore": 0.4466145833333333
          },
          {
            "id": "RR-001",
            "games": 768,
            "winScore": 0.5052083333333334
          }
        ]
      },
      {
        "faction": "Skyrunners",
        "games": 1536,
        "winScore": 0.4752604166666667,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.484375
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.5260416666666666
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.5364583333333334
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.4583333333333333
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.375
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4791666666666667
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.4427083333333333
          }
        ],
        "companions": [
          {
            "id": "WB-002",
            "games": 768,
            "winScore": 0.4934895833333333
          },
          {
            "id": "RR-004",
            "games": 768,
            "winScore": 0.45703125
          }
        ]
      },
      {
        "faction": "Veilborn",
        "games": 1536,
        "winScore": 0.4791666666666667,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.5989583333333334
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.4739583333333333
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.6041666666666666
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.4479166666666667
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.4270833333333333
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.3645833333333333
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4322916666666667
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.484375
          }
        ],
        "companions": [
          {
            "id": "VB-001",
            "games": 768,
            "winScore": 0.4973958333333333
          },
          {
            "id": "VB-002",
            "games": 768,
            "winScore": 0.4609375
          }
        ]
      },
      {
        "faction": "Ironmaw",
        "games": 1536,
        "winScore": 0.5032552083333334,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.484375
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.4635416666666667
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.3958333333333333
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.40625
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.4479166666666667
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.7630208333333334
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.484375
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.5807291666666666
          }
        ],
        "companions": [
          {
            "id": "IM-001",
            "games": 768,
            "winScore": 0.5227864583333334
          },
          {
            "id": "IM-002",
            "games": 768,
            "winScore": 0.4837239583333333
          }
        ]
      },
      {
        "faction": "Hourglass Covenant",
        "games": 1536,
        "winScore": 0.5110677083333334,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.4791666666666667
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.5416666666666666
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.5520833333333334
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.59375
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.46875
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.5
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.453125
          }
        ],
        "companions": [
          {
            "id": "HC-001",
            "games": 768,
            "winScore": 0.5
          },
          {
            "id": "HC-002",
            "games": 768,
            "winScore": 0.5221354166666666
          }
        ]
      },
      {
        "faction": "Revelwild",
        "games": 1536,
        "winScore": 0.5065104166666666,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.5520833333333334
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.5
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.5729166666666666
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.5520833333333334
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.5
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.4791666666666667
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4791666666666667
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.4166666666666667
          }
        ],
        "companions": [
          {
            "id": "RW-001",
            "games": 768,
            "winScore": 0.5182291666666666
          },
          {
            "id": "RW-002",
            "games": 768,
            "winScore": 0.4947916666666667
          }
        ]
      },
      {
        "faction": "Prismforge",
        "games": 1536,
        "winScore": 0.5179036458333334,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.5052083333333334
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.625
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.6354166666666666
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.23697916666666666
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.53125
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5208333333333334
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.578125
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.5104166666666666
          }
        ],
        "companions": [
          {
            "id": "PF-001",
            "games": 768,
            "winScore": 0.5572916666666666
          },
          {
            "id": "PF-002",
            "games": 768,
            "winScore": 0.478515625
          }
        ]
      },
      {
        "faction": "Vigilant Array",
        "games": 1536,
        "winScore": 0.513671875,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.5364583333333334
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.5208333333333334
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.5677083333333334
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.515625
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.5
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5208333333333334
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.421875
          },
          {
            "opponent": "Elderwake",
            "games": 192,
            "winScore": 0.5260416666666666
          }
        ],
        "companions": [
          {
            "id": "VA001",
            "games": 768,
            "winScore": 0.5221354166666666
          },
          {
            "id": "VA002",
            "games": 768,
            "winScore": 0.5052083333333334
          }
        ]
      },
      {
        "faction": "Elderwake",
        "games": 1536,
        "winScore": 0.5172526041666666,
        "matchups": [
          {
            "opponent": "Hearthbound",
            "games": 192,
            "winScore": 0.5520833333333334
          },
          {
            "opponent": "Skyrunners",
            "games": 192,
            "winScore": 0.5572916666666666
          },
          {
            "opponent": "Veilborn",
            "games": 192,
            "winScore": 0.515625
          },
          {
            "opponent": "Ironmaw",
            "games": 192,
            "winScore": 0.4192708333333333
          },
          {
            "opponent": "Hourglass Covenant",
            "games": 192,
            "winScore": 0.546875
          },
          {
            "opponent": "Revelwild",
            "games": 192,
            "winScore": 0.5833333333333334
          },
          {
            "opponent": "Prismforge",
            "games": 192,
            "winScore": 0.4895833333333333
          },
          {
            "opponent": "Vigilant Array",
            "games": 192,
            "winScore": 0.4739583333333333
          }
        ],
        "companions": [
          {
            "id": "EW001",
            "games": 768,
            "winScore": 0.5123697916666666
          },
          {
            "id": "EW002",
            "games": 768,
            "winScore": 0.5221354166666666
          }
        ]
      }
    ],
    "rms": 0.01701934104287417,
    "maxMatchup": 0.26302083333333337,
    "meanRound": 6.130446623093682,
    "round12": 140,
    "draws": 2,
    "firstPlayerWinScore": 0.4919662309368192,
    "sourceHashes": {
      "balance-spec.json": "3fe415cd94fb10ca2efd08b0dab17e20e1844a94c45ecca71c5ee9b8a12173ef",
      "candidate.json": "59650a923f103e47fffde7ec4024d87dae5ced9f2b7c67940324cbe48b6c1258",
      "full-balance-candidate.json": "573047df0a3034d2bbc819ebe5ac539ba29c0d20d7b9706d91429b84d3bed5cf",
      "hourglass-data.json": "80b70e82e5bfc8a4c267c8d5152afdf5a3c85498c1158eba386efce2ccd33910",
      "nine-data.json": "b763b402e1d9de15715e65a0825bcf1d2bb579a14f079ef5f278b31f7c9473e3",
      "nine.js": "0ede8e4805b542c4a92824de37d0f321acb6f7fccdf264e125cf8e33022d3052",
      "prismforge-ascensions-base.json": "355f8ce3ff4ed1e7f600c28125c8e39a126bf2cdcfc0273e6be79f6ececdfef1",
      "prismforge-data.json": "f8d69783fbaf393ee8f43fcec24eda61b4977aa220631a338f1ee959d2442755",
      "prismforge-engine.js": "d1dde4f3878a5a482088dd8bf60f0b88c61b896f8ecfb308c37779e10b48bc58",
      "prismforge-expansion-base.json": "f11a6f96e399757ef29b6c686f19f54782078fbcd8507c24d31854948d8171b8",
      "prismforge-four-factions.js": "594889a25121f39c122b720e89eeda71a968f6922d91b01c5da3cd61974cb88a",
      "prismforge-hourglass.js": "528491abe5f3bc3e1d9ec42a02f5b72147a69804b00562673ec5438e17a99f57",
      "prismforge-revelwild.js": "9402394e467482fbab3ddb842f946652a3ea98c12302bb8e6a93fcd1c06e2093",
      "prismforge.js": "b612bb74b49360a2618b09105e1140f9740c3525be3f53b64a6ee5c54509fcbe",
      "revelwild-data.json": "c2626cd3e2742c2bf87d23e82f9f7e927c93734f260d4c27554b3ea827287ca7"
    }
  },
  "changes": [
    {
      "id": "WB-008",
      "name": "Ribbon Scout",
      "guard": {
        "before": 2,
        "after": 3
      }
    },
    {
      "id": "WB-010",
      "name": "Gale Courier",
      "guard": {
        "before": 2,
        "after": 3
      }
    },
    {
      "id": "RR-004",
      "name": "Nima — Companion",
      "force": {
        "before": 1,
        "after": 2
      }
    },
    {
      "id": "VB-010",
      "name": "Rift Cantor",
      "cost": {
        "before": 4,
        "after": 3
      }
    },
    {
      "id": "IM-011",
      "name": "Bloodrush",
      "cost": {
        "before": 1,
        "after": 2
      }
    },
    {
      "id": "HC-001",
      "name": "Orryx, the Unfinished",
      "text": {
        "before": "Once during your turn, reduce the Charge cost of a Foretell Tactic you schedule by 1, minimum 0. The pending-slot limit still applies.",
        "after": "Once during your turn, reduce the Charge cost of a Foretell Tactic you schedule by 1, minimum 0. Your first Explore with Orryx each turn while you have a pending Foretell gains 1 additional Renown; no extra Journey mark."
      },
      "pendingRenown": {
        "before": null,
        "after": 1
      }
    },
    {
      "id": "HC-003",
      "name": "Secondhand Sentinel",
      "guard": {
        "before": 3,
        "after": 4
      }
    },
    {
      "id": "HC-012",
      "name": "The Coming Fracture",
      "text": {
        "before": "Foretell — Choose a normal Route when scheduling. At resolution, deal 2 damage to every opposing Ally at that Route. Does not hit Companions or Constructs.",
        "after": "Foretell — Lock a normal Route. At your next Foretell step, deal 2 damage to each opposing Ally and 3 damage to each opposing Construct there. Does not hit Companions."
      },
      "constructDamage": {
        "before": null,
        "after": 3
      }
    },
    {
      "id": "HC-013",
      "name": "Last Moment",
      "text": {
        "before": "Deal 3 damage to an opposing character at any Route. This is immediate, not Foretell.",
        "after": "Deal 3 damage to an opposing character or Construct at any Route. Immediate; not Foretell."
      },
      "targetsConstructs": {
        "before": null,
        "after": true
      }
    },
    {
      "id": "RW-007",
      "name": "Maskbearer",
      "cost": {
        "before": 3,
        "after": 2
      }
    },
    {
      "id": "VA007",
      "name": "Coilblade",
      "text": {
        "before": "On your turn, Arc Duelist has +1 Force while you have at least 2 Charge remaining.",
        "after": "On your turn, Coilblade has +1 Force while you have at least 2 Charge remaining."
      }
    },
    {
      "id": "VA002",
      "name": "Syntra, the Questioning Signal",
      "force": {
        "before": 2,
        "after": 1
      }
    }
  ],
  "validation": {
    "nine-rules-verification": {
      "passed": 36,
      "edition": "FULL-balance-2",
      "scope": "Deterministic rules and save/resume fixtures; no human balance claim."
    },
    "nine-ui-verification": {
      "passed": 9,
      "scope": "Minimal DOM executes actual compiled setup, custom deck, all new forms, Reaction/Pass, Awakening, revised Hourglass Construct targeting and save/resume handlers. No browser layout QA."
    },
    "nine-regression-verification": {
      "pairedGames": 36,
      "scope": "Intentional card balance overrides reverted to baseline for this engine regression only. Exact winner, final Renown, round and action count match the frozen pre-change Construct-blocking runtime for all 36 cross-faction pairings on one deterministic scenario each."
    },
    "persistence-verification": {
      "passed": 15,
      "scope": "Actual compiled UI in fresh JavaScript contexts: full reloads, mobile lifecycle events, AI pause/resume, hotseat privacy, storage failures, backup recovery, old-format saves, cancellation, Reaction/Awakening and repeated action/reload cycles (up to 60 or match end). Minimal DOM; no browser layout QA."
    },
    "full-balance-rules-7": {
      "passed": 8,
      "engine": "./seven-construct-release/prismforge-engine",
      "scope": "Actual card targeting, immediate Construct cleanup, locked Route/counterplay, legacy saved cards, Orryx Explore preview/scoring/Journey/once-per-turn and complete starter deck inventory."
    },
    "full-balance-rules-9": {
      "passed": 8,
      "engine": "./nine-construct-release/prismforge-engine",
      "scope": "Actual card targeting, immediate Construct cleanup, locked Route/counterplay, legacy saved cards, Orryx Explore preview/scoring/Journey/once-per-turn and complete starter deck inventory."
    },
    "prismforge-routes-rules-verification": {
      "passed": 18,
      "scope": "Seven- and nine-faction current engines: all Construct blockers, damage/destruction/relocation, explicit destruction tactics, friendly/opposing ownership, exact Explore preview/scoring, once-per-turn and per-Spire limits, Journey marks, save/resume and deck counts."
    }
  },
  "confirmationGamesPerVersion": 7344,
  "screeningGames": 34272,
  "pairedScenarios": true,
  "holdoutDisjointFromScreen": true,
  "method": "Actual Construct-blocking nine-faction rules with six Constructs in Prismforge. All 36 cross-faction pairings plus nine alternate-Companion mirrors; every Companion, both seats and starts, four scoring/aggressive policy combinations, three new deterministic shuffle scenarios per configuration. Fixed full 30-card decks, no mulligans. Card inventory, JSON save/restore, nonnegative Charge and unresolved character defeats checked after every action. Draws count as half a win; mirrors excluded from faction and Companion rates.",
  "limitations": "Heuristic practice-AI diagnostics, not human win rates or proof of optimal play. Matchup cells have 192 games; Companion rows 768. Same scenario configurations are paired across versions. Some individual matchups remain uneven despite closer faction averages. No browser layout QA; compiled controls and persistence tested using a minimal DOM. Human match duration and bluffing have not been measured."
}