{
  "schema": "poker51-v0-6-verify",
  "date": "2026-10-02",
  "node": "v24.16.0",
  "scope": "The table module plays the published tables faithfully and keeps the v0.5 rules. Not a statement about strategy quality: see the working note.",
  "tables": {
    "standard": {
      "game": "standard",
      "version": "riemann-v0.6-standard",
      "label": "restricted Nash response, p = 0.5, against the four-type Jev population",
      "sha256": "a0cf62457f7c62e5dfdecb88cc815b0bd4e072ed1b8955bf6d283b5970a6c9dc",
      "classes": 19,
      "buckets": 40
    },
    "wild": {
      "game": "wild",
      "version": "riemann-v0.6-wild",
      "label": "restricted Nash response, p = 0.5, against the four-type Jev population",
      "sha256": "78f4ef23c719d859f7b581bd5c7794d355e3128e44432d8726adc903a0078b69",
      "classes": 28,
      "buckets": 40
    },
    "bug": {
      "game": "bug",
      "version": "riemann-v0.6-bug",
      "label": "restricted Nash response, p = 0.5, against the four-type Jev population",
      "sha256": "d3b76fc0ee774de75da310f1ca7bad80a6116d8a05f1bd23ac4acfe5c4e3a0cf",
      "classes": 36,
      "buckets": 40
    }
  },
  "tally": {
    "hands": 9000,
    "decisions": 12182,
    "checkedTo": 5553,
    "riemannBets": 3193,
    "facingBet": 5543,
    "riemannRaises": 1588,
    "raiseCapped": 701,
    "facingRaise": 684,
    "facingReraise": 402,
    "showdowns": 5354,
    "folds": 3646,
    "oddAllIn": 1173
  },
  "checks": [
    {
      "name": "each published table is intact: its bytes hash to the SHA-256 it declares, and every decision is a probability distribution",
      "pass": true,
      "ms": 68,
      "tables": {
        "standard": {
          "bytes": 799330,
          "sha256": "a0cf62457f7c62e5dfdecb88cc815b0bd4e072ed1b8955bf6d283b5970a6c9dc",
          "classes": 19,
          "buckets": 40,
          "label": "restricted Nash response, p = 0.5, against the four-type Jev population",
          "decisionsBeforeDraw": 950,
          "decisionsAfterDraw": 570000
        },
        "wild": {
          "bytes": 1177960,
          "sha256": "78f4ef23c719d859f7b581bd5c7794d355e3128e44432d8726adc903a0078b69",
          "classes": 28,
          "buckets": 40,
          "label": "restricted Nash response, p = 0.5, against the four-type Jev population",
          "decisionsBeforeDraw": 1400,
          "decisionsAfterDraw": 840000
        },
        "bug": {
          "bytes": 1514520,
          "sha256": "d3b76fc0ee774de75da310f1ca7bad80a6116d8a05f1bd23ac4acfe5c4e3a0cf",
          "classes": 36,
          "buckets": 40,
          "label": "restricted Nash response, p = 0.5, against the four-type Jev population",
          "decisionsBeforeDraw": 1800,
          "decisionsAfterDraw": 1080000
        }
      }
    },
    {
      "name": "the public mixing hash is deterministic, ignores the order of the cards, and lies in [0, 1)",
      "pass": true,
      "ms": 10
    },
    {
      "name": "dealing is unchanged: a v0.6 hand is the v0.5 hand for the same random stream, in all three games",
      "pass": true,
      "ms": 7
    },
    {
      "name": "random legal play: jbits are conserved, receipts are unique, showdowns follow the game's evaluator, and every Riemann decision is the published table's (9,000 hands)",
      "pass": true,
      "ms": 1435
    },
    {
      "name": "a hand replays: the same deal and the same actions give the same hand, byte for byte (600 hands)",
      "pass": true,
      "ms": 56
    },
    {
      "name": "the rules you play by are v0.5's: whenever Riemann makes the same choice, the v0.6 hand equals the v0.5 hand apart from the decision record",
      "pass": true,
      "ms": 3084,
      "stepsCompared": 4937,
      "stepsWhereRiemannChoseAlike": 3930
    },
    {
      "name": "across hands the hash follows the table: at each kind of spot the share of each action is within 2 points of the mean published probability",
      "pass": true,
      "ms": 2003,
      "beforeTheDraw": {
        "standard": {
          "R1": {
            "actions": [
              "check",
              "bet"
            ],
            "table": [
              0.4661,
              0.5339
            ],
            "played": [
              0.4618,
              0.5382
            ]
          },
          "RB2": {
            "actions": [
              "fold",
              "call",
              "raise"
            ],
            "table": [
              0.2935,
              0.2765,
              0.43
            ],
            "played": [
              0.2928,
              0.275,
              0.4323
            ]
          },
          "RB8": {
            "actions": [
              "fold",
              "call",
              "raise"
            ],
            "table": [
              0.5907,
              0.0805,
              0.3288
            ],
            "played": [
              0.5908,
              0.0798,
              0.3294
            ]
          },
          "RRB4": {
            "actions": [
              "fold",
              "call"
            ],
            "table": [
              0.153,
              0.847
            ],
            "played": [
              0.1492,
              0.8508
            ]
          }
        },
        "wild": {
          "R1": {
            "actions": [
              "check",
              "bet"
            ],
            "table": [
              0.511,
              0.489
            ],
            "played": [
              0.5113,
              0.4887
            ]
          },
          "RB2": {
            "actions": [
              "fold",
              "call",
              "raise"
            ],
            "table": [
              0.317,
              0.293,
              0.39
            ],
            "played": [
              0.3177,
              0.2923,
              0.3899
            ]
          },
          "RB8": {
            "actions": [
              "fold",
              "call",
              "raise"
            ],
            "table": [
              0.5863,
              0.0864,
              0.3273
            ],
            "played": [
              0.5862,
              0.0861,
              0.3277
            ]
          },
          "RRB4": {
            "actions": [
              "fold",
              "call"
            ],
            "table": [
              0.1666,
              0.8334
            ],
            "played": [
              0.1674,
              0.8326
            ]
          }
        },
        "bug": {
          "R1": {
            "actions": [
              "check",
              "bet"
            ],
            "table": [
              0.4909,
              0.5091
            ],
            "played": [
              0.4896,
              0.5104
            ]
          },
          "RB2": {
            "actions": [
              "fold",
              "call",
              "raise"
            ],
            "table": [
              0.2956,
              0.2947,
              0.4096
            ],
            "played": [
              0.2956,
              0.2953,
              0.4092
            ]
          },
          "RB8": {
            "actions": [
              "fold",
              "call",
              "raise"
            ],
            "table": [
              0.5938,
              0.0802,
              0.326
            ],
            "played": [
              0.593,
              0.0812,
              0.3258
            ]
          },
          "RRB4": {
            "actions": [
              "fold",
              "call"
            ],
            "table": [
              0.1442,
              0.8558
            ],
            "played": [
              0.1438,
              0.8562
            ]
          }
        }
      }
    },
    {
      "name": "bets are read at the nearest published size, and a solved raise against a player who is all in becomes a call",
      "pass": true,
      "ms": 4
    },
    {
      "name": "old saved hands are left to their own modules, and v0.6 hands are refused by them",
      "pass": true,
      "ms": 0
    }
  ]
}
