Gen5 Sanity Check Performance Tracker

# Gen5 Sanity Check Performance Tracker

## Current: v10/v14/range_v12 (Q-reg, clean data)
- **Status: FAILED** (2026-07-30)
- Gate 1 (Harrington): 52/53 (Q9 G47 failure only)
- Gate 2 (Self-play): ✅ Clean
- Gate 3: Gen2 -17.0, Gen3 -18.0, G48 -5.5, TAG -4.7, Nit -12.9 — ALL NEGATIVE
- Gate 4 (Mixed): FAILED
- **Conclusion**: Q-regression on hand_reward is fundamentally flawed (no credit assignment, noisy)

## Equity-Based Training Approach (NEW - 2026-07-30)
Instead of training on noisy chip delta (hand_reward), train on **deterministic equity targets**:
- Compute real equity from revealed opponent cards at hand end
- Per-action Q targets from formula:
  - Fold: 0
  - Check: equity × pot_bb
  - Call: equity × (pot + to_call) - to_call
  - Bet/Raise: fold_equity × pot + (1-fold_equity) × (equity × (pot+bet) - bet)
- Also tracks fold_equity_observed (did opponents fold to bet?)

### Implementation Status
- ✅ Added real_equity, fold_equity_observed, pot_bb, invested_bb, to_call_bb to Transition
- ✅ Unified rl_pending buffer (all transitions go through cards_revealed_event)
- ✅ Fixed event ordering: game_over_event fires BEFORE cards_revealed_event
  - on_hand_end does NOT drain (deferred to cards_revealed_event)
  - Safety net moved to on_hand_start
- ✅ Added --equity mode to train_gen5.rs (computes targets from formula)
- ✅ Verified: postflop transitions get valid equity (0.22-0.96 range)
- 🔄 Collecting equity_v1 data (500K hands, 8 tables, teacher-guided)
- ⬜ Train postflop EquityNet with --equity --postflop --qreg
- ⬜ Evaluate vs Gen2/Gen3

### Config
- Collection: `gen5_equity_collect.toml` (teacher-guided, range_v12, v9/v13 models)
- Training: `scripts/train_equity_postflop.sh` (warm-start from v9, range_v12)
- Eval: gen5_v7_eval.toml (postflop → eq1 model)

## Previous Results (all INVALID - binary lacked gen5_nn)
| Model | vs Gen3 | Notes |
|-------|---------|-------|
| v9/v13 | -34.7 BB/100 | 2000 hands |
| v6/v10 | -36.3 BB/100 | 2000 hands |


id: 16ee20ba74264eb2a2bb0a20a9cea103
parent_id: 5a06903f
created_time: 2026-07-30T04:36:11.342Z
updated_time: 2026-07-30T20:34:29.028Z
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: 1785386171342
user_created_time: 2026-07-30T04:36:11.342Z
user_updated_time: 2026-07-30T20:34:29.028Z
encryption_cipher_text: 
encryption_applied: 0
markup_language: 1
is_shared: 0
share_id: 
conflict_original_id: 
master_key_id: 
user_data: 
deleted_time: 0
is_locked: 0
extracted_resource_ids: 
type_: 1