docs: J7o 40 BB walkthrough Tests 1-4 (long-overdue completion)#179
Merged
Conversation
Completes the user-requested J7o (and 27o, Test 4) 40 BB walkthrough first asked for prior to the cs-bug fix (PR #165) and True Path B engine (PR #171). All four tests use the 169-class True Path B fast engine (`_rust.solve_hunl_preflop_rvr_class169`) at 10000 DCFR iterations. Tests: - T1 baseline: SB opens J7o, BB calls, equity walk preflop->flop->turn->river - T2 3-bet/4-bet: SB J7o vs BB 3-bet vs SB 4-bet vs BB call line - T3 postflop raise: J7o equity vs BB's likely raise range on A89dd (engine is preflop-only; postflop equity from MC enumeration) - T4 off-distribution: 27o + 5x open, engine crash-check + defend dist Findings: J7o opens majority at 40 BB (matches published chart); SB prefers 2x over 3x open (GTO-consistent at 40 BB stack depth); 72o folds 100%; AA opens 100%; engine doesn't crash on off-tree play. Total wall: ~52s (29s solve + 23s postflop equity MC). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This was referenced May 28, 2026
amaster97
added a commit
that referenced
this pull request
May 28, 2026
#183) Companion to docs/j7o_walkthrough_tests_1_4_2026-05-28.md (PR #179), which reported equity only. This doc reports **actual GTO action distributions** from postflop subgame solves at each decision point — true player-POV format. Architecture per street: - Preflop: read SB's 169-class blueprint at the root infoset (||p|); J7o gets its action distribution directly. - Turn / River: call ``solve_postflop_from_blueprint`` with the preflop action sequence and the board, then extract J7o's per-class strategy and J♠7♦'s specific per-history strategy. Limitation surfaced honestly: flop subgame solves are DEFERRED. Empirical measurement (2026-05-28): the vector-form Rust solver runs > 5 minutes of CPU per flop solve at the smallest viable parameters (top-K = 4 hand classes + J7o pin, 5 DCFR iterations). The chance tree from flop to river blows up per-iter cost. Turn solves succeed in ~15s and river solves in <1s (TerminalCache amortizes the dominant evaluator cost on a constant board). Flop directional reads are from the equity-only walkthrough in PR #179. Headline result for Test 1 (J7o, 40 BB, A♦8♥9♦ 2♣ 3♠): - Preflop: open_to_200 = 92.1%, open_to_300 = 6.3%, call = 1.6%, fold ≈ 0%. The 169-class engine confirms J7o is an opening hand at this stack. - Turn (2♣): raise_33 = 30%, raise_75 = 19%, fold = 17%, raise_100 = 14%. J7o still raises a lot of the time as a polarized bluff after following BB's modal turn action. - River (3♠): all_in = 49%, bet_100 = 15%, bet_200 = 11%, check = 7%. SB bombs the river half the time (BB's modal action is check at 84.5%, so this is SB facing a checked river with J-high). Total wall time: 21.6s (preflop blueprint 4.5s, turn solve 14.7s, river solve 0.5s, overhead 1.9s). Script: scripts/run_j7o_walkthrough_full_pov.py — designed so the SKIP_FLOP_SOLVES gate can be flipped to False in a future burst once the flop-subgame perf path is improved. Depends on: PR #182 (fix(blueprint_subgame): normalize b/r token equivalence at preflop boundary), which unblocks the postflop wiring for SB's opening raise. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
_rust.solve_hunl_preflop_rvr_class169) at 10,000 DCFR iterations; total wall ~52s (29s solve, ~23s postflop MC equity).Notes
poker_solver.equity.equity) for the flop/turn/river continuation. The postflop cbet+raise tree in Test 3 is a hypothetical (no postflop DCFR solve at this budget).Test plan
🤖 Generated with Claude Code