Hand Analysis: Stack Loss + Pot Odds Gap (2026-06-27)

# Hand Analysis: Stack Loss (2026-06-27)

## Summary
Bolsa lost the entire ~8.2M stack in two consecutive hands on "Six of the Best" (5K/10K blinds).

## Hand 1: 77 vs 94 — Lost ~1.2M
- HERO: 77 (underpair to J-9-5 board)
- Board: 5h 9c Jh 5c Td
- HERO raised flop with underpair 77 → bet turn → bet river
- Villain had 94o (two pair 99+55 > HERO's 77+55)
- **Issue:** Over-aggressive with medium pair as underpair

## Hand 2: 66 vs AJ — Lost entire 7M stack (THE KILLER)
- HERO: 66 (underpair to 9-3-8 board)
- Board: 9c 3s 8s Ah 2c
- Flop: HERO raised villain's small bet → villain called
- Turn (Ah): Villain CHECK-RAISED 600K → HERO CALLED with underpair 66
- River (2c): Villain bet 820K → HERO SHOVED ALL-IN 7M → villain called with AJ (pair of aces)
- **Result:** Villain wins 14M pot. HERO loses entire stack.

### Critical Mistakes
1. Called turn check-raise with underpair 66 facing an Ace
2. Shoved all-in for 7M with pair of sixes (only better hands call)

## Root Cause: Pot Odds Gap in should_raise

### Analysis of decision logic

**`should_call` (line 1229):** ✅ Properly uses pot odds
- `required_equity = ctx.pot_odds()` 
- Adjusts threshold based on odds excess
- Multi-way cap, no-pair floor, pot-odds floor

**`should_raise` (line 1319):** ❌ Does NOT use pot odds
- No consideration of `ctx.pot_odds()` or `required_equity`
- No consideration of effective raise amount vs pot
- Only uses: base threshold + facing aggression penalty + draw quality + bluff equity + protection

**Preflop raise:** ❌ No pot odds consideration
- `determine_raise_cards_threshold` uses position, num_raises, num_callers — not pot odds

### The Fix Needed
`should_raise` needs:
1. Pot odds gate — when facing large bets, raising requires stronger hands
2. Raise sizing sanity check — overbets only with very strong hands
3. SPR awareness — high SPR requires stronger hands to shove all-in

id: 14fd622674e9471999d568afee9da624
parent_id: 2c8da247905946c3aa19eb4936e16323
created_time: 2026-06-27T15:06:50.791Z
updated_time: 2026-06-28T05:18:11.596Z
is_conflict: 0
latitude: 0.00000000
longitude: 0.00000000
altitude: 0.0000
author: 
source_url: 
is_todo: 0
todo_due: 0
todo_completed: 0
source: joplin-desktop
source_application: net.cozic.joplin-desktop
application_data: 
order: 1782572810791
user_created_time: 2026-06-27T15:06:50.791Z
user_updated_time: 2026-06-27T15:06:50.791Z
encryption_cipher_text: 
encryption_applied: 0
markup_language: 1
is_shared: 0
share_id: 
conflict_original_id: 
master_key_id: 
user_data: 
deleted_time: 1782623891596
type_: 1