{
  "schemaVersion": 1,
  "modelVersion": "1.0.0",
  "published": "2026-09-04",
  "generatedBy": "scripts/generate-pot-committed-current-state-data.mjs",
  "question": "Can different earlier contributions change a closed-action call when the decision-relevant state is otherwise identical?",
  "units": "Synthetic no-limit Hold’em cash-chip examples. No observed hands, solver output, or population estimates are used.",
  "cards": {
    "board": [
      "Ks",
      "9s",
      "6d",
      "3c",
      "2h"
    ],
    "hero": [
      "Kd",
      "Qd"
    ]
  },
  "ranges": {
    "sharedMixedBettingRange": {
      "label": "Seven value combinations and three missed-spade bluffs, equally weighted",
      "value": [
        "AsKc",
        "AhKc",
        "AdKc",
        "AcKc",
        "AsKh",
        "AhKh",
        "AdKh"
      ],
      "bluffs": [
        "AsQs",
        "QsJs",
        "JsTs"
      ],
      "heroWins": 3,
      "ties": 0,
      "total": 10,
      "heroEquity": 0.3
    },
    "valueHeavyBettingRange": {
      "label": "Eight AK combinations, nine set combinations, and three missed-spade bluffs, equally weighted",
      "value": [
        "AsKc",
        "AhKc",
        "AdKc",
        "AcKc",
        "AsKh",
        "AhKh",
        "AdKh",
        "AcKh",
        "9c9d",
        "9c9h",
        "9d9h",
        "6s6c",
        "6s6h",
        "6c6h",
        "3s3d",
        "3s3h",
        "3d3h"
      ],
      "bluffs": [
        "AsQs",
        "QsJs",
        "JsTs"
      ],
      "heroWins": 3,
      "ties": 0,
      "total": 20,
      "heroEquity": 0.15
    }
  },
  "decisionConvention": {
    "baseline": "EV is measured immediately before Hero chooses call or fold. Folding is therefore zero from this decision point.",
    "potBeforeDecision": "All chips Hero can contest before acting, including the opponent current bet and excluding Hero unmade call.",
    "callCost": "Only the additional chips Hero must put in now.",
    "formula": "incremental call EV = equity * (potBeforeDecision + callCost) - callCost; fold EV = 0.",
    "threshold": "required equity = callCost / (potBeforeDecision + callCost).",
    "wholeHandAccounting": "whole-hand fold result = -priorHeroContribution; whole-hand expected call result = -priorHeroContribution + incremental call EV."
  },
  "assumptions": [
    "Histories A, B, and C are constructed legal chip histories, not observed hands, equilibrium ranges, or population tendencies.",
    "Each A/B/C river bet is all-in, so a call closes action. There is no remaining rake or drop, each listed combination is equally weighted, and there are no ties.",
    "A and B share the same board, Hero hand, pot, call cost, conditional betting range, equity, current Hero stack, action closure, and rake treatment.",
    "A and B differ in earlier contributions. Those differences change whole-hand accounting but not incremental call EV.",
    "C keeps the same cards, visible pot, call cost, and current Hero stack but assigns a more value-heavy conditional range, reducing exact listed-range equity from 30% to 15%.",
    "The future-action example fixes Hero to call the turn and check the river, then choose call or fold against one fixed river bet. It omits turn raises, river leads, and river raises.",
    "The future-action conditional frequencies and equities are inputs chosen to expose a one-step proxy error, not estimates or strategic recommendations.",
    "Unknown folded cards, card bunching, alternative weights, side-pot eligibility, remaining rake, raises, and tournament prize conversion require a different model."
  ],
  "closedActionHistories": [
    {
      "id": "history-a-eight-handed-dead-money",
      "label": "History A: a multiway pot leaves folded-player chips behind",
      "history": {
        "heroStartingStack": 1080,
        "heroEarlierContribution": 80,
        "opponentEarlierContribution": 80,
        "foldedPlayersEarlierContribution": 140,
        "opponentCurrentBet": 100,
        "actionLine": "Nine-handed 10/20: all nine players contribute 20 preflop. Hero bets 60 on the flop, Villain calls, and seven players fold. The turn checks through; Hero checks the river; Villain moves all-in for the remaining 100."
      },
      "currentState": {
        "potBeforeDecision": 400,
        "callCost": 100,
        "equity": 0.3,
        "conditionalRangeId": "sharedMixedBettingRange",
        "boardId": "Ks-9s-6d-3c-2h",
        "heroHand": "KdQd",
        "heroStackBeforeDecision": 1000,
        "actionClosedAfterCall": true,
        "noRemainingRake": true
      },
      "result": {
        "finalPotIfCall": 500,
        "requiredEquity": 0.2,
        "expectedGrossReceipt": 150,
        "foldEvFromDecision": 0,
        "callEvFromDecision": 50,
        "deltaCallMinusFold": 50,
        "wholeHandFoldResult": -80,
        "wholeHandExpectedCallResult": -30,
        "preferredAction": "call"
      }
    },
    {
      "id": "history-b-heads-up-hero-invested-more",
      "label": "History B: Hero supplied half of the earlier pot",
      "history": {
        "heroStartingStack": 1150,
        "heroEarlierContribution": 150,
        "opponentEarlierContribution": 150,
        "foldedPlayersEarlierContribution": 0,
        "opponentCurrentBet": 100,
        "actionLine": "Heads-up 25/50: Villain completes the small blind to 50 and Hero checks the big blind. Hero checks the flop, Villain bets 100, and Hero calls. The turn checks through; Hero checks the river; Villain moves all-in for the remaining 100."
      },
      "currentState": {
        "potBeforeDecision": 400,
        "callCost": 100,
        "equity": 0.3,
        "conditionalRangeId": "sharedMixedBettingRange",
        "boardId": "Ks-9s-6d-3c-2h",
        "heroHand": "KdQd",
        "heroStackBeforeDecision": 1000,
        "actionClosedAfterCall": true,
        "noRemainingRake": true
      },
      "result": {
        "finalPotIfCall": 500,
        "requiredEquity": 0.2,
        "expectedGrossReceipt": 150,
        "foldEvFromDecision": 0,
        "callEvFromDecision": 50,
        "deltaCallMinusFold": 50,
        "wholeHandFoldResult": -150,
        "wholeHandExpectedCallResult": -100,
        "preferredAction": "call"
      }
    },
    {
      "id": "history-c-range-information-changed",
      "label": "History C: the line is assigned a stronger betting range",
      "history": {
        "heroStartingStack": 1150,
        "heroEarlierContribution": 150,
        "opponentEarlierContribution": 150,
        "foldedPlayersEarlierContribution": 0,
        "opponentCurrentBet": 100,
        "actionLine": "Heads-up 25/50: Villain raises the small blind to 150 and Hero calls from the big blind. The flop and turn check through; Hero checks the river; Villain moves all-in for the remaining 100."
      },
      "currentState": {
        "potBeforeDecision": 400,
        "callCost": 100,
        "equity": 0.15,
        "conditionalRangeId": "valueHeavyBettingRange",
        "boardId": "Ks-9s-6d-3c-2h",
        "heroHand": "KdQd",
        "heroStackBeforeDecision": 1000,
        "actionClosedAfterCall": true,
        "noRemainingRake": true
      },
      "result": {
        "finalPotIfCall": 500,
        "requiredEquity": 0.2,
        "expectedGrossReceipt": 75,
        "foldEvFromDecision": 0,
        "callEvFromDecision": -25,
        "deltaCallMinusFold": -25,
        "wholeHandFoldResult": -150,
        "wholeHandExpectedCallResult": -175,
        "preferredAction": "fold"
      }
    }
  ],
  "pairedHistoryProof": {
    "comparedIds": [
      "history-a-eight-handed-dead-money",
      "history-b-heads-up-hero-invested-more"
    ],
    "matchingDecisionFields": [
      "potBeforeDecision",
      "callCost",
      "equity",
      "conditionalRangeId",
      "boardId",
      "heroHand",
      "heroStackBeforeDecision",
      "actionClosedAfterCall",
      "noRemainingRake"
    ],
    "earlierHeroContributions": [
      80,
      150
    ],
    "callEvFromDecision": [
      50,
      50
    ],
    "wholeHandExpectedCallResults": [
      -30,
      -100
    ],
    "conclusion": "A and B both gain 50 chips by calling rather than folding now, even though their expected whole-hand results differ by 70 chips."
  },
  "historyChangesInformationCounterexample": {
    "comparedIds": [
      "history-b-heads-up-hero-invested-more",
      "history-c-range-information-changed"
    ],
    "sharedVisibleInputs": {
      "potBeforeDecision": 400,
      "callCost": 100,
      "finalPotIfCall": 500
    },
    "changedDecisionInputs": [
      "conditionalRangeId",
      "equity"
    ],
    "callEvFromDecision": [
      50,
      -25
    ],
    "preferredActions": [
      "call",
      "fold"
    ],
    "conclusion": "History can matter because it changes the range supported by current information; it does not create a bonus for Hero own sunk chips."
  },
  "futureActionCounterexample": {
    "label": "One-step equity proxy versus the declared call-then-check tree",
    "modelScope": "Compare folding now with calling the turn, checking every river, and then choosing call or fold against one fixed river bet. Turn raises, river leads, and river raises are excluded.",
    "inputs": {
      "potBeforeDecision": 300,
      "callCost": 100,
      "riverCheckbackProbability": 0.4,
      "equityVersusCheckbackRange": 0.5,
      "riverBet": 200,
      "equityVersusBetRange": 0.1
    },
    "result": {
      "potAfterCurrentCall": 400,
      "riverBetProbability": 0.6,
      "naiveUnconditionalEquity": 0.26,
      "naiveOneStepEv": 4,
      "finalPotAfterRiverCall": 800,
      "riverBreakEvenEquity": 0.25,
      "riverCallEv": -120,
      "riverFoldEv": 0,
      "optimalRiverAction": "fold",
      "fullTreeCurrentCallEv": -20,
      "fullTreeCurrentCallEvIfRiverAlwaysCalled": -92,
      "callVersusFoldResult": "fold"
    },
    "branchDescription": {
      "checkback": "After Hero calls the turn and checks the river, Villain checks back 40% of the time. Hero has 50% equity against that branch.",
      "bet": "Villain bets 200 the other 60%. Hero has 10% equity against that betting range, below the 25% river call threshold, so Hero folds."
    },
    "conclusion": "Pooling the two range-conditioned equities gives a +4 one-step proxy, while the declared call-then-check tree makes that modeled turn call worth -20 versus folding. This does not choose among every legal line."
  },
  "visualTextEquivalent": {
    "title": "Past chips feed the pot, but the next decision uses the current state",
    "past": "History A has 80 earlier Hero chips and History B has 150. Both reach the same cards, 400-chip pot, 100-chip all-in call, 1,000-chip current Hero stack, and ten-combination betting range.",
    "currentState": "The 100-chip call would make a 500-chip pot, so 20% equity breaks even. Hero has 30% against the declared A/B range.",
    "decision": "A and B both have +50 incremental call EV. History C keeps the same visible price but changes the conditional range to 15% Hero equity, producing -25 call EV."
  },
  "interpretationBoundary": "The cases verify card legality, exact listed-range equity, contribution ledgers, and arithmetic under declared inputs. They do not estimate a real opponent range, create an automatic SPR threshold, recommend a live decision, or show that prior action is irrelevant to current information.",
  "primarySources": [
    {
      "title": "The Psychology of Sunk Cost",
      "url": "https://www.sciencedirect.com/science/article/pii/0749597885900494",
      "accessed": "2026-09-04",
      "relevance": "Primary behavioral study defining and experimentally investigating the sunk-cost effect; not poker research."
    },
    {
      "title": "On the sunk-cost effect in economic decision-making: a meta-analytic review",
      "url": "https://link.springer.com/article/10.1007/s40685-014-0014-8",
      "accessed": "2026-09-04",
      "relevance": "Open meta-analytic review reporting heterogeneous sunk-cost effects; not poker research."
    }
  ]
}
