{
  "status": "complete",
  "namespace": "wsrf-heads-up-zones-2026-09-19-v3",
  "requested_hands": 3000000,
  "completed_training_hands": 3000000,
  "training_decisions": 12398929,
  "rounds": [
    {
      "seat_stack_counts": [
        125000,
        125000,
        125000,
        125000
      ],
      "round": 1,
      "training_hands": 500000,
      "completed_hands": 500000,
      "epsilon": 0.3,
      "opponent_styles": [
        0,
        1,
        0,
        1
      ],
      "replay_rows": 160000,
      "zone_counts": [
        11358,
        45645,
        9461,
        39383,
        6541,
        26778,
        4168,
        16666
      ],
      "model": "round-1.json",
      "sha256": "92addf303ea586e72ec40147b66f8a7eac838648dbd4047b68bc7c5379c68e30",
      "validation": {
        "tag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": -31.404166666666665,
          "ci95": [
            -52.10312416102691,
            -10.705209172306423
          ],
          "standard_error_bb_per_100": 10.560692599163389,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2356,
              "bb_per_100": -102.94991511035654,
              "positive_bb": 3895.5,
              "negative_bb": -6321.0,
              "wins": 817,
              "losses": 1536,
              "showdowns": 141
            },
            "LIKELY": {
              "hands": 9644,
              "bb_per_100": -13.92575694732476,
              "positive_bb": 15970.5,
              "negative_bb": -17313.5,
              "wins": 3968,
              "losses": 5625,
              "showdowns": 771
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 3790,
              "committed_bb": 62217.0,
              "folds": 1599,
              "calls": 25,
              "raises": 1870,
              "all_in_decisions": 859,
              "first_all_in_hand_net_bb": -852.0
            },
            "LIKELY": {
              "decisions": 16017,
              "committed_bb": 147905.5,
              "folds": 5058,
              "calls": 1983,
              "raises": 6510,
              "all_in_decisions": 2061,
              "first_all_in_hand_net_bb": 1548.0
            }
          }
        },
        "lag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": -41.42916666666667,
          "ci95": [
            -55.238225614455224,
            -27.620107718878106
          ],
          "standard_error_bb_per_100": 7.045438238667632,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2358,
              "bb_per_100": -54.85581000848176,
              "positive_bb": 1297.0,
              "negative_bb": -2590.5,
              "wins": 275,
              "losses": 2082,
              "showdowns": 38
            },
            "LIKELY": {
              "hands": 9642,
              "bb_per_100": -38.14561294337275,
              "positive_bb": 8099.5,
              "negative_bb": -11777.5,
              "wins": 1604,
              "losses": 8022,
              "showdowns": 316
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 3055,
              "committed_bb": 10741.0,
              "folds": 2089,
              "calls": 11,
              "raises": 692,
              "all_in_decisions": 155,
              "first_all_in_hand_net_bb": 629.0
            },
            "LIKELY": {
              "decisions": 12561,
              "committed_bb": 61132.0,
              "folds": 7839,
              "calls": 751,
              "raises": 2755,
              "all_in_decisions": 893,
              "first_all_in_hand_net_bb": 1699.0
            }
          }
        },
        "mean_bb_per_100": -36.416666666666664
      },
      "promoted": true,
      "seconds": 86.26308917999268
    },
    {
      "seat_stack_counts": [
        125000,
        125000,
        125000,
        125000
      ],
      "round": 2,
      "training_hands": 500000,
      "completed_hands": 1000000,
      "epsilon": 0.255,
      "opponent_styles": [
        1,
        1,
        0,
        1
      ],
      "replay_rows": 320000,
      "zone_counts": [
        24285,
        110033,
        18721,
        77991,
        11115,
        45719,
        6340,
        25796
      ],
      "model": "round-2.json",
      "sha256": "98724a85d7c2afd359b272b78fd00ea725a9a0af3d9b60053d9b5215e659b2e3",
      "validation": {
        "tag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": -20.858333333333334,
          "ci95": [
            -52.63670749604634,
            10.920040829379673
          ],
          "standard_error_bb_per_100": 16.21345620546582,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2356,
              "bb_per_100": -16.617147707979626,
              "positive_bb": 4167.5,
              "negative_bb": -4559.0,
              "wins": 884,
              "losses": 1465,
              "showdowns": 136
            },
            "LIKELY": {
              "hands": 9644,
              "bb_per_100": -21.894442140190794,
              "positive_bb": 34714.5,
              "negative_bb": -36826.0,
              "wins": 5944,
              "losses": 3640,
              "showdowns": 1161
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 4768,
              "committed_bb": 69395.0,
              "folds": 1527,
              "calls": 341,
              "raises": 2301,
              "all_in_decisions": 811,
              "first_all_in_hand_net_bb": 46.0
            },
            "LIKELY": {
              "decisions": 18919,
              "committed_bb": 248558.0,
              "folds": 2853,
              "calls": 2189,
              "raises": 10962,
              "all_in_decisions": 3327,
              "first_all_in_hand_net_bb": 824.0
            }
          }
        },
        "lag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": -27.641666666666666,
          "ci95": [
            -65.1730412392497,
            9.889707905916373
          ],
          "standard_error_bb_per_100": 19.148660496215836,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2358,
              "bb_per_100": -41.70907548770144,
              "positive_bb": 5939.0,
              "negative_bb": -6922.5,
              "wins": 877,
              "losses": 1475,
              "showdowns": 155
            },
            "LIKELY": {
              "hands": 9642,
              "bb_per_100": -24.20141049574777,
              "positive_bb": 44018.5,
              "negative_bb": -46352.0,
              "wins": 5962,
              "losses": 3640,
              "showdowns": 1170
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 4615,
              "committed_bb": 50723.0,
              "folds": 1507,
              "calls": 389,
              "raises": 2237,
              "all_in_decisions": 537,
              "first_all_in_hand_net_bb": 1008.0
            },
            "LIKELY": {
              "decisions": 17828,
              "committed_bb": 337524.5,
              "folds": 2905,
              "calls": 1263,
              "raises": 11614,
              "all_in_decisions": 4336,
              "first_all_in_hand_net_bb": 144.0
            }
          }
        },
        "mean_bb_per_100": -24.25
      },
      "promoted": true,
      "seconds": 78.30290937423706
    },
    {
      "seat_stack_counts": [
        125000,
        125000,
        125000,
        125000
      ],
      "round": 3,
      "training_hands": 500000,
      "completed_hands": 1500000,
      "epsilon": 0.21,
      "opponent_styles": [
        1,
        1,
        0,
        1
      ],
      "replay_rows": 480000,
      "zone_counts": [
        36913,
        179736,
        27720,
        114466,
        15725,
        63724,
        8337,
        33379
      ],
      "model": "round-3.json",
      "sha256": "dca4160f2fe4945a4212116952300e5497d23c88d8134083df236ce019265aa3",
      "validation": {
        "tag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": -1.2583333333333333,
          "ci95": [
            -28.24504193417669,
            25.728375267510025
          ],
          "standard_error_bb_per_100": 13.768728877981303,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2356,
              "bb_per_100": -33.340407470288625,
              "positive_bb": 4581.5,
              "negative_bb": -5367.0,
              "wins": 1152,
              "losses": 1198,
              "showdowns": 137
            },
            "LIKELY": {
              "hands": 9644,
              "bb_per_100": 6.579220240564081,
              "positive_bb": 28806.5,
              "negative_bb": -28172.0,
              "wins": 5336,
              "losses": 4259,
              "showdowns": 868
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 4206,
              "committed_bb": 57929.0,
              "folds": 1184,
              "calls": 482,
              "raises": 2092,
              "all_in_decisions": 744,
              "first_all_in_hand_net_bb": 831.0
            },
            "LIKELY": {
              "decisions": 16700,
              "committed_bb": 226915.0,
              "folds": 3745,
              "calls": 2247,
              "raises": 9212,
              "all_in_decisions": 3406,
              "first_all_in_hand_net_bb": 1724.0
            }
          }
        },
        "lag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": 39.85416666666667,
          "ci95": [
            13.06931811718779,
            66.63901521614555
          ],
          "standard_error_bb_per_100": 13.665739055856571,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2358,
              "bb_per_100": 30.70398642917727,
              "positive_bb": 5786.0,
              "negative_bb": -5062.0,
              "wins": 875,
              "losses": 1474,
              "showdowns": 148
            },
            "LIKELY": {
              "hands": 9642,
              "bb_per_100": 42.09188964945032,
              "positive_bb": 30813.5,
              "negative_bb": -26755.0,
              "wins": 4698,
              "losses": 4919,
              "showdowns": 735
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 3773,
              "committed_bb": 37670.5,
              "folds": 1415,
              "calls": 235,
              "raises": 1910,
              "all_in_decisions": 539,
              "first_all_in_hand_net_bb": 1417.0
            },
            "LIKELY": {
              "decisions": 15129,
              "committed_bb": 233728.5,
              "folds": 4557,
              "calls": 604,
              "raises": 8673,
              "all_in_decisions": 3404,
              "first_all_in_hand_net_bb": 7659.0
            }
          }
        },
        "mean_bb_per_100": 19.29791666666667
      },
      "promoted": true,
      "seconds": 109.49453091621399
    },
    {
      "seat_stack_counts": [
        125000,
        125000,
        125000,
        125000
      ],
      "round": 4,
      "training_hands": 500000,
      "completed_hands": 2000000,
      "epsilon": 0.16499999999999998,
      "opponent_styles": [
        0,
        0,
        1,
        0
      ],
      "replay_rows": 480000,
      "zone_counts": [
        41258,
        204743,
        26656,
        109378,
        13374,
        54201,
        6145,
        24245
      ],
      "model": "round-4.json",
      "sha256": "e156d1ef19e07aacce8cc8c9b56a1a4729892779a695ff93e55b72228dc00a7d",
      "validation": {
        "tag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": -32.24166666666667,
          "ci95": [
            -68.3731273560209,
            3.889794022687565
          ],
          "standard_error_bb_per_100": 18.434418719058282,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2356,
              "bb_per_100": -14.452461799660442,
              "positive_bb": 7576.5,
              "negative_bb": -7917.0,
              "wins": 1485,
              "losses": 862,
              "showdowns": 255
            },
            "LIKELY": {
              "hands": 9644,
              "bb_per_100": -36.58751555371215,
              "positive_bb": 39598.5,
              "negative_bb": -43127.0,
              "wins": 6380,
              "losses": 3192,
              "showdowns": 1275
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 4478,
              "committed_bb": 59286.0,
              "folds": 667,
              "calls": 602,
              "raises": 2681,
              "all_in_decisions": 772,
              "first_all_in_hand_net_bb": 54.0
            },
            "LIKELY": {
              "decisions": 17686,
              "committed_bb": 323446.0,
              "folds": 2572,
              "calls": 819,
              "raises": 12141,
              "all_in_decisions": 4036,
              "first_all_in_hand_net_bb": -2728.0
            }
          }
        },
        "lag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": 32.65,
          "ci95": [
            4.417352526982754,
            60.88264747301725
          ],
          "standard_error_bb_per_100": 14.404411976029207,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2358,
              "bb_per_100": -49.23664122137404,
              "positive_bb": 6204.0,
              "negative_bb": -7365.0,
              "wins": 825,
              "losses": 1526,
              "showdowns": 178
            },
            "LIKELY": {
              "hands": 9642,
              "bb_per_100": 52.67579340385812,
              "positive_bb": 33538.5,
              "negative_bb": -28459.5,
              "wins": 5149,
              "losses": 4461,
              "showdowns": 838
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 4251,
              "committed_bb": 64453.5,
              "folds": 1573,
              "calls": 243,
              "raises": 2037,
              "all_in_decisions": 792,
              "first_all_in_hand_net_bb": 1023.0
            },
            "LIKELY": {
              "decisions": 17210,
              "committed_bb": 209885.0,
              "folds": 3920,
              "calls": 1083,
              "raises": 10582,
              "all_in_decisions": 3076,
              "first_all_in_hand_net_bb": 6037.0
            }
          }
        },
        "mean_bb_per_100": 0.20416666666666572
      },
      "promoted": false,
      "seconds": 102.5881130695343
    },
    {
      "seat_stack_counts": [
        125000,
        125000,
        125000,
        125000
      ],
      "round": 5,
      "training_hands": 500000,
      "completed_hands": 2500000,
      "epsilon": 0.12,
      "opponent_styles": [
        0,
        0,
        1,
        0
      ],
      "replay_rows": 480000,
      "zone_counts": [
        43757,
        212188,
        25834,
        104937,
        12952,
        52230,
        5850,
        22252
      ],
      "model": "round-5.json",
      "sha256": "75545116ad75e5acbcd48b2313bf60bf8ecbc2e55406d1508aa1c772f366b6e9",
      "validation": {
        "tag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": -16.5125,
          "ci95": [
            -45.41558177371719,
            12.3905817737172
          ],
          "standard_error_bb_per_100": 14.746470292712857,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2356,
              "bb_per_100": -59.40152801358234,
              "positive_bb": 4082.5,
              "negative_bb": -5482.0,
              "wins": 956,
              "losses": 1396,
              "showdowns": 126
            },
            "LIKELY": {
              "hands": 9644,
              "bb_per_100": -6.034840315221899,
              "positive_bb": 26631.5,
              "negative_bb": -27213.5,
              "wins": 5367,
              "losses": 4233,
              "showdowns": 775
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 3370,
              "committed_bb": 67057.0,
              "folds": 1387,
              "calls": 190,
              "raises": 1438,
              "all_in_decisions": 929,
              "first_all_in_hand_net_bb": 262.0
            },
            "LIKELY": {
              "decisions": 13464,
              "committed_bb": 300751.5,
              "folds": 3779,
              "calls": 776,
              "raises": 8057,
              "all_in_decisions": 4213,
              "first_all_in_hand_net_bb": 760.0
            }
          }
        },
        "lag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": 26.674999999999997,
          "ci95": [
            -4.045533252047556,
            57.39553325204756
          ],
          "standard_error_bb_per_100": 15.673741455126303,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2358,
              "bb_per_100": -122.60390161153519,
              "positive_bb": 5166.0,
              "negative_bb": -8057.0,
              "wins": 656,
              "losses": 1696,
              "showdowns": 164
            },
            "LIKELY": {
              "hands": 9642,
              "bb_per_100": 63.1819124662933,
              "positive_bb": 40445.5,
              "negative_bb": -34353.5,
              "wins": 5744,
              "losses": 3855,
              "showdowns": 1070
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 4447,
              "committed_bb": 69624.5,
              "folds": 1854,
              "calls": 187,
              "raises": 1785,
              "all_in_decisions": 813,
              "first_all_in_hand_net_bb": -897.0
            },
            "LIKELY": {
              "decisions": 19279,
              "committed_bb": 225301.0,
              "folds": 3102,
              "calls": 3052,
              "raises": 11345,
              "all_in_decisions": 3186,
              "first_all_in_hand_net_bb": 8665.0
            }
          }
        },
        "mean_bb_per_100": 5.081249999999999
      },
      "promoted": false,
      "seconds": 99.95433568954468
    },
    {
      "seat_stack_counts": [
        125000,
        125000,
        125000,
        125000
      ],
      "round": 6,
      "training_hands": 500000,
      "completed_hands": 3000000,
      "epsilon": 0.07500000000000001,
      "opponent_styles": [
        0,
        0,
        1,
        0
      ],
      "replay_rows": 480000,
      "zone_counts": [
        46885,
        215116,
        25057,
        102428,
        12407,
        50858,
        5694,
        21555
      ],
      "model": "round-6.json",
      "sha256": "3e211d5a6d2a257e5dd4dec9b5bd5fc157b33b83fe284cc0ac642c47d92008fb",
      "validation": {
        "tag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": 1.35,
          "ci95": [
            -31.46169597891635,
            34.16169597891635
          ],
          "standard_error_bb_per_100": 16.74066121373283,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2356,
              "bb_per_100": -19.482173174872667,
              "positive_bb": 7622.5,
              "negative_bb": -8081.5,
              "wins": 1417,
              "losses": 928,
              "showdowns": 247
            },
            "LIKELY": {
              "hands": 9644,
              "bb_per_100": 6.439236831190377,
              "positive_bb": 38638.5,
              "negative_bb": -38017.5,
              "wins": 6570,
              "losses": 2999,
              "showdowns": 1294
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 4958,
              "committed_bb": 74225.5,
              "folds": 838,
              "calls": 271,
              "raises": 3116,
              "all_in_decisions": 890,
              "first_all_in_hand_net_bb": 313.0
            },
            "LIKELY": {
              "decisions": 21259,
              "committed_bb": 315781.5,
              "folds": 2266,
              "calls": 3926,
              "raises": 11880,
              "all_in_decisions": 4182,
              "first_all_in_hand_net_bb": 3520.0
            }
          }
        },
        "lag": {
          "hands": 12000,
          "deck_groups": 6000,
          "bb_per_100": -1.5625,
          "ci95": [
            -33.79084788229741,
            30.665847882297413
          ],
          "standard_error_bb_per_100": 16.443034633825214,
          "pocket_zones": {
            "UNLIKELY": {
              "hands": 2358,
              "bb_per_100": -54.34690415606446,
              "positive_bb": 5064.0,
              "negative_bb": -6345.5,
              "wins": 943,
              "losses": 1410,
              "showdowns": 149
            },
            "LIKELY": {
              "hands": 9642,
              "bb_per_100": 11.346193735739472,
              "positive_bb": 40862.5,
              "negative_bb": -39768.5,
              "wins": 5124,
              "losses": 4481,
              "showdowns": 1089
            }
          },
          "dynamic_decisions": {
            "UNLIKELY": {
              "decisions": 4312,
              "committed_bb": 57746.0,
              "folds": 1381,
              "calls": 149,
              "raises": 2305,
              "all_in_decisions": 682,
              "first_all_in_hand_net_bb": -309.0
            },
            "LIKELY": {
              "decisions": 17779,
              "committed_bb": 234648.0,
              "folds": 3886,
              "calls": 1510,
              "raises": 10574,
              "all_in_decisions": 3148,
              "first_all_in_hand_net_bb": 5424.0
            }
          }
        },
        "mean_bb_per_100": -0.10624999999999996
      },
      "promoted": false,
      "seconds": 98.38097620010376
    }
  ],
  "library": "pytoolzx.wsrf.WSRFRegressor",
  "versions": {
    "python": "3.14.4",
    "numpy": "2.5.2",
    "pytoolzx": "0.1.0"
  },
  "configuration": {
    "hands": 3000000,
    "rounds": 6,
    "workers": 4,
    "samples": 64,
    "validation": 12000,
    "final": 60000
  },
  "feature_names": [
    "range equity",
    "board length",
    "button",
    "pot fraction",
    "call pot odds",
    "stack fraction",
    "opponent stack fraction",
    "effective SPR fraction",
    "own bet fraction",
    "current bet fraction",
    "committed fraction",
    "opponent street raises",
    "own street raises",
    "opponent total raises",
    "opponent preflop raises",
    "opponent last action",
    "opponent last sizing",
    "observed VPIP",
    "observed PFR",
    "observed fold rate",
    "high hole rank",
    "low hole rank",
    "suited",
    "pair",
    "made category",
    "board category",
    "first kicker",
    "board suit concentration",
    "hand suit concentration",
    "straight window",
    "hole board matches",
    "pocket coverage",
    "dynamic coverage",
    "pocket likely",
    "dynamic likely",
    "pocket board alignment",
    "zone transition",
    "pocket zero away",
    "pocket one away",
    "pocket two away",
    "pocket three plus",
    "dynamic zero away",
    "dynamic one away",
    "dynamic two away",
    "dynamic three plus",
    "dynamic mean",
    "dynamic standard deviation",
    "check",
    "call",
    "raise",
    "commitment fraction",
    "raise pot ratio",
    "all in",
    "remaining SPR fraction",
    "minimum raise"
  ],
  "selection_rule": "Highest mean BB/100 across TAG and LAG on fixed validation deals, selected before fresh final test.",
  "adaptation": "Exploratory complete-hand play; replay reservoir; WSRF refit each round; validate checkpoint; next round uses current champion with falling exploration and extra exposure to its harder opponent.",
  "training_target": "(Final stack minus stack immediately before chosen action)/(pot plus callable effective stack). Existing contributions are sunk; folding is exactly zero at action ranking.",
  "opponents": "Public-information TAG/LAG: Monte Carlo equity, smoothed betting-conditioned ranges, pot odds, position, SPR, value sizing and randomized bluffs. Local engineered policies, not solved equilibrium or independently ranked professional bots.",
  "sampling": "Bounded rejection proposals for range-weighted opposing pockets; remaining boards without replacement. Policy never receives the actual opposing pocket or future board.",
  "seat_stack_design": "Both button positions represented at each 40/100 BB stack depth. Paired evaluation rotates button on each identical deck.",
  "scope": "Heads-up no-limit Holdem; fixed 40/100 BB starting stacks, blinds .5/1, no rake. Full dealt training hands are counted separately from internal equity samples and evaluation hands.",
  "untrained_reference_validation": {
    "tag": {
      "hands": 12000,
      "deck_groups": 6000,
      "bb_per_100": -48.291666666666664,
      "ci95": [
        -65.89202530863227,
        -30.69130802470106
      ],
      "standard_error_bb_per_100": 8.979774817329393,
      "pocket_zones": {
        "UNLIKELY": {
          "hands": 2356,
          "bb_per_100": -4.477928692699491,
          "positive_bb": 6605.5,
          "negative_bb": -6711.0,
          "wins": 1067,
          "losses": 1223,
          "showdowns": 922
        },
        "LIKELY": {
          "hands": 9644,
          "bb_per_100": -58.99523019493986,
          "positive_bb": 35350.5,
          "negative_bb": -41040.0,
          "wins": 5456,
          "losses": 3932,
          "showdowns": 3637
        }
      },
      "dynamic_decisions": {
        "UNLIKELY": {
          "decisions": 8071,
          "committed_bb": 23911.0,
          "folds": 590,
          "calls": 1549,
          "raises": 2689,
          "all_in_decisions": 225,
          "first_all_in_hand_net_bb": -582.0
        },
        "LIKELY": {
          "decisions": 32207,
          "committed_bb": 88318.0,
          "folds": 2041,
          "calls": 4737,
          "raises": 12560,
          "all_in_decisions": 732,
          "first_all_in_hand_net_bb": -5332.0
        }
      }
    },
    "lag": {
      "hands": 12000,
      "deck_groups": 6000,
      "bb_per_100": -16.004166666666666,
      "ci95": [
        -33.25780745350274,
        1.2494741201694082
      ],
      "standard_error_bb_per_100": 8.802877952467385,
      "pocket_zones": {
        "UNLIKELY": {
          "hands": 2358,
          "bb_per_100": -43.44783715012723,
          "positive_bb": 7109.0,
          "negative_bb": -8133.5,
          "wins": 921,
          "losses": 1353,
          "showdowns": 845
        },
        "LIKELY": {
          "hands": 9642,
          "bb_per_100": -9.292677867662311,
          "positive_bb": 46490.5,
          "negative_bb": -47386.5,
          "wins": 4993,
          "losses": 4427,
          "showdowns": 3470
        }
      },
      "dynamic_decisions": {
        "UNLIKELY": {
          "decisions": 8514,
          "committed_bb": 29020.0,
          "folds": 800,
          "calls": 2272,
          "raises": 2497,
          "all_in_decisions": 267,
          "first_all_in_hand_net_bb": 872.0
        },
        "LIKELY": {
          "decisions": 33598,
          "committed_bb": 101230.0,
          "folds": 2837,
          "calls": 6928,
          "raises": 11428,
          "all_in_decisions": 895,
          "first_all_in_hand_net_bb": 108.0
        }
      }
    },
    "mean_bb_per_100": -32.14791666666667
  },
  "elapsed_seconds": 932.1676247119904,
  "selected_model": {
    "file": "player.json",
    "round": 3,
    "trained_through_hands": 1500000,
    "sha256": "1c50583926cc485d9ee009742d58b503af8774d450d7613d7131d3fbba77fe3d"
  },
  "final": {
    "selected": {
      "tag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": 4.806666666666667,
        "ci95": [
          -6.374826652945162,
          15.988159986278493
        ],
        "standard_error_bb_per_100": 5.704843530414197,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11757,
            "bb_per_100": -17.491707068129625,
            "positive_bb": 18472.5,
            "negative_bb": -20529.0,
            "wins": 5720,
            "losses": 5999,
            "showdowns": 566
          },
          "LIKELY": {
            "hands": 48243,
            "bb_per_100": 10.24086395953817,
            "positive_bb": 137298.5,
            "negative_bb": -132358.0,
            "wins": 26658,
            "losses": 21340,
            "showdowns": 4260
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 20959,
            "committed_bb": 283651.5,
            "folds": 6007,
            "calls": 2533,
            "raises": 10194,
            "all_in_decisions": 3680,
            "first_all_in_hand_net_bb": 2957.0
          },
          "LIKELY": {
            "decisions": 83888,
            "committed_bb": 1125899.5,
            "folds": 18775,
            "calls": 11634,
            "raises": 46028,
            "all_in_decisions": 17207,
            "first_all_in_hand_net_bb": 10934.0
          }
        }
      },
      "lag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": 18.1125,
        "ci95": [
          7.146953157349849,
          29.078046842650153
        ],
        "standard_error_bb_per_100": 5.594666756454159,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11646,
            "bb_per_100": -12.965825176026103,
            "positive_bb": 27073.5,
            "negative_bb": -28583.5,
            "wins": 4421,
            "losses": 7188,
            "showdowns": 794
          },
          "LIKELY": {
            "hands": 48354,
            "bb_per_100": 25.597675476692725,
            "positive_bb": 137014.5,
            "negative_bb": -124637.0,
            "wins": 22517,
            "losses": 25697,
            "showdowns": 3523
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 18179,
            "committed_bb": 184527.5,
            "folds": 6749,
            "calls": 1012,
            "raises": 9394,
            "all_in_decisions": 2645,
            "first_all_in_hand_net_bb": 4181.0
          },
          "LIKELY": {
            "decisions": 73823,
            "committed_bb": 1139729.0,
            "folds": 23998,
            "calls": 2752,
            "raises": 41433,
            "all_in_decisions": 17005,
            "first_all_in_hand_net_bb": 28532.0
          }
        }
      },
      "mean_bb_per_100": 11.459583333333335
    },
    "last_round": {
      "tag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": 4.744166666666667,
        "ci95": [
          -8.857928983102417,
          18.346262316435748
        ],
        "standard_error_bb_per_100": 6.93984471926994,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11757,
            "bb_per_100": -47.04006124011227,
            "positive_bb": 28720.5,
            "negative_bb": -34251.0,
            "wins": 6889,
            "losses": 4832,
            "showdowns": 1012
          },
          "LIKELY": {
            "hands": 48243,
            "bb_per_100": 17.36417718632755,
            "positive_bb": 178929.5,
            "negative_bb": -170552.5,
            "wins": 31293,
            "losses": 16665,
            "showdowns": 5569
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 21886,
            "committed_bb": 400042.5,
            "folds": 4473,
            "calls": 1593,
            "raises": 13637,
            "all_in_decisions": 5562,
            "first_all_in_hand_net_bb": -1423.0
          },
          "LIKELY": {
            "decisions": 90747,
            "committed_bb": 1619322.0,
            "folds": 13495,
            "calls": 11653,
            "raises": 54180,
            "all_in_decisions": 21620,
            "first_all_in_hand_net_bb": 21998.0
          }
        }
      },
      "lag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": 13.489166666666666,
        "ci95": [
          -0.43985415287665086,
          27.418187486209984
        ],
        "standard_error_bb_per_100": 7.106643275277202,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11646,
            "bb_per_100": -27.674738107504723,
            "positive_bb": 25834.5,
            "negative_bb": -29057.5,
            "wins": 4431,
            "losses": 7188,
            "showdowns": 706
          },
          "LIKELY": {
            "hands": 48354,
            "bb_per_100": 23.40344128717376,
            "positive_bb": 195942.5,
            "negative_bb": -184626.0,
            "wins": 26062,
            "losses": 22051,
            "showdowns": 5303
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 20681,
            "committed_bb": 286573.5,
            "folds": 7093,
            "calls": 549,
            "raises": 10894,
            "all_in_decisions": 3331,
            "first_all_in_hand_net_bb": 5004.0
          },
          "LIKELY": {
            "decisions": 88557,
            "committed_bb": 1208719.0,
            "folds": 19133,
            "calls": 6482,
            "raises": 54282,
            "all_in_decisions": 16408,
            "first_all_in_hand_net_bb": 27464.0
          }
        }
      },
      "mean_bb_per_100": 9.116666666666667
    },
    "without_zones": {
      "tag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": 24.506666666666664,
        "ci95": [
          14.898461225277174,
          34.11487210805616
        ],
        "standard_error_bb_per_100": 4.902145633361986,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11757,
            "bb_per_100": 27.12851918006294,
            "positive_bb": 20584.5,
            "negative_bb": -17395.0,
            "wins": 5262,
            "losses": 6471,
            "showdowns": 569
          },
          "LIKELY": {
            "hands": 48243,
            "bb_per_100": 23.86771137781647,
            "positive_bb": 107117.5,
            "negative_bb": -95603.0,
            "wins": 22842,
            "losses": 25210,
            "showdowns": 3221
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 17944,
            "committed_bb": 162539.5,
            "folds": 6096,
            "calls": 177,
            "raises": 10518,
            "all_in_decisions": 2571,
            "first_all_in_hand_net_bb": 6298.0
          },
          "LIKELY": {
            "decisions": 73460,
            "committed_bb": 911446.5,
            "folds": 23582,
            "calls": 795,
            "raises": 44249,
            "all_in_decisions": 14056,
            "first_all_in_hand_net_bb": 21863.0
          }
        }
      },
      "lag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": 16.28333333333333,
        "ci95": [
          1.2197339048442501,
          31.346932761822416
        ],
        "standard_error_bb_per_100": 7.68550991249443,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11646,
            "bb_per_100": -13.63128971320625,
            "positive_bb": 37690.5,
            "negative_bb": -39278.0,
            "wins": 6434,
            "losses": 5171,
            "showdowns": 1035
          },
          "LIKELY": {
            "hands": 48354,
            "bb_per_100": 23.488232617777225,
            "positive_bb": 214043.5,
            "negative_bb": -202686.0,
            "wins": 31008,
            "losses": 17099,
            "showdowns": 5980
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 23115,
            "committed_bb": 342599.0,
            "folds": 4545,
            "calls": 810,
            "raises": 15052,
            "all_in_decisions": 4667,
            "first_all_in_hand_net_bb": 2904.0
          },
          "LIKELY": {
            "decisions": 97995,
            "committed_bb": 1536372.0,
            "folds": 14015,
            "calls": 7959,
            "raises": 64497,
            "all_in_decisions": 21803,
            "first_all_in_hand_net_bb": 20469.0
          }
        }
      },
      "mean_bb_per_100": 20.394999999999996
    },
    "reference": {
      "tag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": -33.31,
        "ci95": [
          -40.52138938999315,
          -26.09861061000685
        ],
        "standard_error_bb_per_100": 3.6792803010169144,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11757,
            "bb_per_100": -36.35706387683933,
            "positive_bb": 30894.5,
            "negative_bb": -35169.0,
            "wins": 5287,
            "losses": 6028,
            "showdowns": 5123
          },
          "LIKELY": {
            "hands": 48243,
            "bb_per_100": -32.56741910743528,
            "positive_bb": 187292.5,
            "negative_bb": -203004.0,
            "wins": 26792,
            "losses": 20111,
            "showdowns": 19615
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 41508,
            "committed_bb": 115046.5,
            "folds": 2578,
            "calls": 8161,
            "raises": 13228,
            "all_in_decisions": 1076,
            "first_all_in_hand_net_bb": -6339.0
          },
          "LIKELY": {
            "decisions": 166838,
            "committed_bb": 445720.5,
            "folds": 10087,
            "calls": 23532,
            "raises": 65245,
            "all_in_decisions": 3762,
            "first_all_in_hand_net_bb": -14963.0
          }
        }
      },
      "lag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": -17.574166666666667,
        "ci95": [
          -24.59304370517285,
          -10.55528962816048
        ],
        "standard_error_bb_per_100": 3.581059713523564,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11646,
            "bb_per_100": -27.391379014253822,
            "positive_bb": 38214.5,
            "negative_bb": -41404.5,
            "wins": 4782,
            "losses": 6502,
            "showdowns": 4458
          },
          "LIKELY": {
            "hands": 48354,
            "bb_per_100": -15.209703437151012,
            "positive_bb": 221495.5,
            "negative_bb": -228850.0,
            "wins": 25049,
            "losses": 22016,
            "showdowns": 18104
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 42264,
            "committed_bb": 128958.5,
            "folds": 3506,
            "calls": 11341,
            "raises": 11905,
            "all_in_decisions": 1228,
            "first_all_in_hand_net_bb": -135.0
          },
          "LIKELY": {
            "decisions": 172771,
            "committed_bb": 510932.0,
            "folds": 14071,
            "calls": 35363,
            "raises": 58399,
            "all_in_decisions": 4484,
            "first_all_in_hand_net_bb": -346.0
          }
        }
      },
      "mean_bb_per_100": -25.442083333333336
    },
    "calling_station": {
      "tag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": -429.4066666666667,
        "ci95": [
          -439.588486914883,
          -419.22484641845034
        ],
        "standard_error_bb_per_100": 5.194806249089954,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11757,
            "bb_per_100": -468.6952453857277,
            "positive_bb": 16178.5,
            "negative_bb": -71283.0,
            "wins": 4780,
            "losses": 6356,
            "showdowns": 11690
          },
          "LIKELY": {
            "hands": 48243,
            "bb_per_100": -419.8318927098232,
            "positive_bb": 75142.5,
            "negative_bb": -277682.0,
            "wins": 24083,
            "losses": 22248,
            "showdowns": 47952
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 54005,
            "committed_bb": 83057.5,
            "folds": 0,
            "calls": 20461,
            "raises": 0,
            "all_in_decisions": 671,
            "first_all_in_hand_net_bb": -25620.0
          },
          "LIKELY": {
            "decisions": 221016,
            "committed_bb": 322557.5,
            "folds": 0,
            "calls": 81930,
            "raises": 0,
            "all_in_decisions": 2561,
            "first_all_in_hand_net_bb": -105580.0
          }
        }
      },
      "lag": {
        "hands": 60000,
        "deck_groups": 30000,
        "bb_per_100": -615.8616666666667,
        "ci95": [
          -628.0890168341234,
          -603.63431649921
        ],
        "standard_error_bb_per_100": 6.238443962988158,
        "pocket_zones": {
          "UNLIKELY": {
            "hands": 11646,
            "bb_per_100": -712.5236132577709,
            "positive_bb": 25405.5,
            "negative_bb": -108386.0,
            "wins": 4699,
            "losses": 6409,
            "showdowns": 11627
          },
          "LIKELY": {
            "hands": 48354,
            "bb_per_100": -592.5807585721967,
            "positive_bb": 125989.5,
            "negative_bb": -412526.0,
            "wins": 24121,
            "losses": 22335,
            "showdowns": 48277
          }
        },
        "dynamic_decisions": {
          "UNLIKELY": {
            "decisions": 56583,
            "committed_bb": 128386.0,
            "folds": 0,
            "calls": 26885,
            "raises": 0,
            "all_in_decisions": 1116,
            "first_all_in_hand_net_bb": -40420.0
          },
          "LIKELY": {
            "decisions": 237816,
            "committed_bb": 514509.0,
            "folds": 0,
            "calls": 110484,
            "raises": 0,
            "all_in_decisions": 4200,
            "first_all_in_hand_net_bb": -170140.0
          }
        }
      },
      "mean_bb_per_100": -522.6341666666667
    }
  },
  "paired_zone_ablation": {
    "tag": {
      "hands": 60000,
      "deck_groups": 30000,
      "bb_per_100": -19.7625,
      "ci95": [
        -35.24911181941292,
        -4.275888180587087
      ],
      "standard_error_bb_per_100": 7.901332560924956
    },
    "lag": {
      "hands": 60000,
      "deck_groups": 30000,
      "bb_per_100": -2.7941666666666665,
      "ci95": [
        -21.015676436718206,
        15.427343103384871
      ],
      "standard_error_bb_per_100": 9.296688658189561
    }
  },
  "paired_selected_vs_reference": {
    "tag": {
      "hands": 60000,
      "deck_groups": 30000,
      "bb_per_100": 38.11666666666667,
      "ci95": [
        24.844451582575314,
        51.38888175075802
      ],
      "standard_error_bb_per_100": 6.771538308209873
    },
    "lag": {
      "hands": 60000,
      "deck_groups": 30000,
      "bb_per_100": 35.68666666666667,
      "ci95": [
        22.637919372502292,
        48.73541396083104
      ],
      "standard_error_bb_per_100": 6.657524129675702
    }
  },
  "prediction_parity_cases": 2035,
  "evaluation_hands": 600000,
  "sources": {
    "tools/sim.py": "e002c0f024674dca70c34d5acd096f5fb9c3a0ba25f0aecdaa1e7f195d93e75f",
    "tools/train.py": "6549fefed163840428105eec066959d9b6dceab0f8a909231d01831c83f16a25",
    "site/agents.js": "e0d34a3dda186f90affdb71392187b144454ee5bb7393444da12a5982a23645e",
    "site/table.js": "97c994db03dbc78b59cfcf0b6219369a44387a02ec5d826682610aeac625581e",
    "site/cards.js": "4823f162bca9538499ab9363e319db76746244b4e2e8433e148e2244db7cd48f"
  },
  "wsrf_source": {
    "file": "regressor.py",
    "sha256": "161d7bc95cc61ae713d92df51daff1792d1cb2a34b2691a2a61a66f056470bf0"
  },
  "notes": [
    "Evaluation uses 128 Monte Carlo samples per action; training uses the recorded lower budget.",
    "Hand counts exclude sampled equity runouts.",
    "Adaptive learning means iterative offline WSRF refits, replay and checkpoint selection. Browser forests are fixed; public HUD observations adapt during play.",
    "Two paired seats share a deck. Approximate intervals group those seats; opponent HUD and match dependencies can add uncertainty.",
    "The controlled ablation compares final-round fits on identical replay data; each evaluated policy induces its own subsequent state distribution.",
    "Policy performance is measured against these local opponents; no professional/GTO strength claim is made."
  ]
}
