{
  "schema_version": 1,
  "profile": "Poker TDA 2024 v1.0; restricted NLHE postflop opening-bet profile",
  "created": "2026-09-06",
  "units": "tournament chips; exact integer amounts",
  "source_url": "https://www.pokertda.com/view-poker-tda-rules/",
  "source_accessed": "2026-09-06",
  "attribution": "TDA rules used by permission of the Poker TDA, Copyright 2026, http://www.pokertda.com, All rights reserved. Examples and illustrations are original.",
  "method": "Ten synthetic, independently rule-reviewed examples. Expected results are literal editorial oracles, compared by a restricted rule implementation. No random simulation, observed player data or app output.",
  "cases": [
    {
      "id": "C01",
      "description": "One oversized chip facing 400",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": true,
        "minimum_bet": 200,
        "wager_faced": 400,
        "total_stack": 5000,
        "chips_moved": [
          1000
        ],
        "words": "",
        "word_timing": "none",
        "declared_raise_to": null
      },
      "expected": {
        "action": "call",
        "final_wager": 400,
        "change": 600,
        "add_required": 0,
        "stack_after": 4600,
        "full_raise": false
      },
      "rules": [
        "44"
      ]
    },
    {
      "id": "C02",
      "description": "Same total in two chips",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": true,
        "minimum_bet": 200,
        "wager_faced": 400,
        "total_stack": 5000,
        "chips_moved": [
          500,
          500
        ],
        "words": "",
        "word_timing": "none",
        "declared_raise_to": null
      },
      "expected": {
        "action": "raise",
        "final_wager": 1000,
        "change": 0,
        "add_required": 0,
        "stack_after": 4000,
        "full_raise": true
      },
      "rules": [
        "45B1",
        "43"
      ]
    },
    {
      "id": "C03",
      "description": "Both 500 chips needed facing 600",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": true,
        "minimum_bet": 200,
        "wager_faced": 600,
        "total_stack": 5000,
        "chips_moved": [
          500,
          500
        ],
        "words": "",
        "word_timing": "none",
        "declared_raise_to": null
      },
      "expected": {
        "action": "call",
        "final_wager": 600,
        "change": 400,
        "add_required": 0,
        "stack_after": 4400,
        "full_raise": false
      },
      "rules": [
        "45A"
      ]
    },
    {
      "id": "C04",
      "description": "Exactly half a minimum raise, with sufficient chips behind",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": true,
        "minimum_bet": 200,
        "wager_faced": 400,
        "total_stack": 5000,
        "chips_moved": [
          500,
          100
        ],
        "words": "",
        "word_timing": "none",
        "declared_raise_to": null
      },
      "expected": {
        "action": "raise",
        "final_wager": 800,
        "change": 0,
        "add_required": 200,
        "stack_after": 4200,
        "full_raise": true
      },
      "rules": [
        "45B1",
        "43"
      ]
    },
    {
      "id": "C05",
      "description": "Below half a minimum raise, with chips behind",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": true,
        "minimum_bet": 200,
        "wager_faced": 400,
        "total_stack": 5000,
        "chips_moved": [
          500,
          25
        ],
        "words": "",
        "word_timing": "none",
        "declared_raise_to": null
      },
      "expected": {
        "action": "call",
        "final_wager": 400,
        "change": 125,
        "add_required": 0,
        "stack_after": 4600,
        "full_raise": false
      },
      "rules": [
        "45B1",
        "43"
      ]
    },
    {
      "id": "C06",
      "description": "Same two surplus chips, now the entire stack",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": true,
        "minimum_bet": 200,
        "wager_faced": 400,
        "total_stack": 525,
        "chips_moved": [
          500,
          25
        ],
        "words": "",
        "word_timing": "none",
        "declared_raise_to": null
      },
      "expected": {
        "action": "all-in",
        "final_wager": 525,
        "change": 0,
        "add_required": 0,
        "stack_after": 0,
        "full_raise": false
      },
      "rules": [
        "45B2"
      ]
    },
    {
      "id": "C07",
      "description": "Last physical single chip is still a call",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": true,
        "minimum_bet": 200,
        "wager_faced": 400,
        "total_stack": 1000,
        "chips_moved": [
          1000
        ],
        "words": "",
        "word_timing": "none",
        "declared_raise_to": null
      },
      "expected": {
        "action": "call",
        "final_wager": 400,
        "change": 600,
        "add_required": 0,
        "stack_after": 600,
        "full_raise": false
      },
      "rules": [
        "44"
      ]
    },
    {
      "id": "C08",
      "description": "Last physical two chips are both needed to call",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": true,
        "minimum_bet": 200,
        "wager_faced": 600,
        "total_stack": 1000,
        "chips_moved": [
          500,
          500
        ],
        "words": "",
        "word_timing": "none",
        "declared_raise_to": null
      },
      "expected": {
        "action": "call",
        "final_wager": 600,
        "change": 400,
        "add_required": 0,
        "stack_after": 400,
        "full_raise": false
      },
      "rules": [
        "45A"
      ]
    },
    {
      "id": "C09",
      "description": "Clear raise-to declaration before moving the single chip",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": true,
        "minimum_bet": 200,
        "wager_faced": 400,
        "total_stack": 5000,
        "chips_moved": [
          1000
        ],
        "words": "Raise to 1,000",
        "word_timing": "before_chips_move",
        "declared_raise_to": 1000
      },
      "expected": {
        "action": "raise",
        "final_wager": 1000,
        "change": 0,
        "add_required": 0,
        "stack_after": 4000,
        "full_raise": true
      },
      "rules": [
        "40",
        "43B",
        "44"
      ]
    },
    {
      "id": "C10",
      "description": "Silent single-chip opening when no bet is faced",
      "inputs": {
        "game": "NLHE",
        "street": "postflop",
        "in_turn": true,
        "single_motion": true,
        "raise_rights": true,
        "prior_street_chips": 0,
        "facing_opening_bet": false,
        "minimum_bet": 200,
        "wager_faced": 0,
        "total_stack": 5000,
        "chips_moved": [
          1000
        ],
        "words": "",
        "word_timing": "none",
        "declared_raise_to": null
      },
      "expected": {
        "action": "bet",
        "final_wager": 1000,
        "change": 0,
        "add_required": 0,
        "stack_after": 4000,
        "full_raise": false
      },
      "rules": [
        "44"
      ]
    }
  ]
}
