{
  "scope": "NLHE postflop street start before any action; remaining big blinds; current-street contributions all zero. Pot and prior contributions excluded. Synthetic teaching cases, not observed hands or strategy outputs.",
  "cases": [
    {
      "id": "three-way",
      "players": [
        {
          "seat": "A",
          "behind_bb": 200,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "B",
          "behind_bb": 120,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "C",
          "behind_bb": 40,
          "contribution_bb": 0,
          "status": "active"
        }
      ],
      "expected_pairs": {
        "A|B": 120,
        "A|C": 40,
        "B|C": 40
      },
      "expected_max_matched": {
        "A": 120,
        "B": 120,
        "C": 40
      }
    },
    {
      "id": "seat-swap",
      "players": [
        {
          "seat": "A",
          "behind_bb": 200,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "B",
          "behind_bb": 40,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "C",
          "behind_bb": 120,
          "contribution_bb": 0,
          "status": "active"
        }
      ],
      "expected_pairs": {
        "A|B": 40,
        "A|C": 120,
        "B|C": 40
      },
      "expected_max_matched": {
        "A": 120,
        "B": 40,
        "C": 120
      }
    },
    {
      "id": "folded-deep-player",
      "players": [
        {
          "seat": "A",
          "behind_bb": 200,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "B",
          "behind_bb": 120,
          "contribution_bb": 0,
          "status": "folded"
        },
        {
          "seat": "C",
          "behind_bb": 40,
          "contribution_bb": 0,
          "status": "active"
        }
      ],
      "expected_pairs": {
        "A|C": 40
      },
      "expected_max_matched": {
        "A": 40,
        "C": 40
      }
    },
    {
      "id": "all-in-player",
      "players": [
        {
          "seat": "A",
          "behind_bb": 200,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "B",
          "behind_bb": 120,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "C",
          "behind_bb": 0,
          "contribution_bb": 0,
          "status": "all-in"
        }
      ],
      "expected_pairs": {
        "A|B": 120
      },
      "expected_max_matched": {
        "A": 120,
        "B": 120
      }
    },
    {
      "id": "one-can-bet",
      "players": [
        {
          "seat": "A",
          "behind_bb": 200,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "B",
          "behind_bb": 0,
          "contribution_bb": 0,
          "status": "all-in"
        }
      ],
      "expected_pairs": {},
      "expected_max_matched": {
        "A": 0
      }
    },
    {
      "id": "equal-stacks",
      "players": [
        {
          "seat": "A",
          "behind_bb": 50,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "B",
          "behind_bb": 50,
          "contribution_bb": 0,
          "status": "active"
        },
        {
          "seat": "C",
          "behind_bb": 50,
          "contribution_bb": 0,
          "status": "active"
        }
      ],
      "expected_pairs": {
        "A|B": 50,
        "A|C": 50,
        "B|C": 50
      },
      "expected_max_matched": {
        "A": 50,
        "B": 50,
        "C": 50
      }
    }
  ],
  "midstreet": {
    "A_start_bb": 200,
    "B_start_bb": 120,
    "A_bet_bb": 30,
    "A_behind_bb": 170,
    "B_behind_bb": 120,
    "B_call_price_bb": 30,
    "B_shove_to_bb": 120,
    "A_additional_call_bb": 90
  }
}
