id: 00d3a064c9684d1280da2297523a8cfd
parent_id: 0aa966bc036d4db3965dc5e54037e2b9
item_type: 1
item_id: ec1518e71453490f8fe5ab75cff7180c
item_updated_time: 1786965076191
title_diff: "[]"
body_diff: "[{\"diffs\":[[0,\"7 — \"],[-1,\"EquityNet parked after root-cause depth)\\\n\\\n> **Live: G51, server healthy.** EquityNet: investigated to the bottom, multiway gate passed once, calibration unsolved after 15 runs — **PARKED** per timebox. Post-mortem below.\\\n\\\n## EquityNet final status: PARKED\\\n\\\n**What works (proven):**\\\n- Architecture, data pipeline, labels: multiway hs MAE hit **0.0448 (gate 0.045 PASS)** on v10 (label-fit selection); potentials excellent (ppot 0.033\"],[1,\"MC calibration audit: range-model bias measured)\\\n\\\n> **Live: G51, server healthy.** EquityNet parked. **NEW: production equity audit over 1.02M labeled decisions — the range model underweights hero's winning spots 2.4x.**\\\n\\\n## The calibration audit (commit 55192cc, corpus /home/jan/gen5_data/equity_v6_mc)\\\n\\\nMethod: recorder logs production MC's own equity at decision time + exact labels from actual holdings (all hands revealed in sims — no showdown selection bias, verified hand_runner.rs:1162). Mixed 9/6/3-max\"],[0,\", n\"],[1,\"e\"],[0,\"ut\"],[-1,\"pot 0.028-0.04)\\\n- The label-semantics fix (relabel to current-strength, commit 678080e) — the single biggest win, MW MAE 0.096→0.045\\\n- Hand ORDERING in every model: street/n/suit gradients all correct\\\n\\\n**What doesn't (unsolved)\"],[1,\"ral g51 pool, 1.02M samples.\\\n\\\n| Predictor | label-MAE | mean pred | mean label | slope |\\\n|---|---|---|---|---|\\\n| **Production MC** | **0.114** | 0.063 | 0.148 | 0.796 |\\\n| EquityNet v14 (parked) | 0.136 | 0.049 | 0.145 | ~0.6 |\\\n| EquityNet v10 (parked) | 0.138 | 0.016 | 0.145 | ~0.5 |\\\n\\\n**Findings\"],[0,\":**\\\n\"],[-1,\"- **Output-scale calibration**: all models lodge at 0.3-0.5x the conditional mean (slope 0.4-0.7). Diagnosed against: sigmoid saturation (fixed), weight decay on biases (fixed), capacity, class weighting, LR (5e-4 frozen / 2e-3 chaotic-50% / 3e-3 diverges), bias init, warm-restart, grad clipping (prevents divergence but oscillates), checkpoint selection (v16's calibrated epochs 13-16 slope 0.96-1.06 were DISCARDED by MAE-based selection — fixed, but the recipe doesn't reproduce: v17/v19/v20 all failed to stabilize)\\\n- **Linear rescale**: fitted on corpus labels — fails on deployment distribution (label\"],[1,\"1. **Hero is best-now 14.8% of the time at decision points; MC believes 6.3%.** The bias is in the RANGE MODEL (RangeNet+corrector jointly), not MC math — MC exactly computes E[beat|range]; the gap means ranges overweight opponent strength.\\\n2. Bias concentrated in hero-STRONG spots: label=1 → MC 0.28; label=0 → MC 0.007 (dead-spot detection near-perfect). Worst HU (slope 0.595) and flop (0.649); river overcorrects (1.272).\\\n3. nutpot\"],[0,\" mean 0.\"],[-1,\"32\"],[1,\"018\"],[0,\" vs \"],[-1,\"field MC mean 0.057). Fitted on deployment (shadow log): MW MAE 0.061-0.068 — near-gate, but constants are distribution-specific (fish vs TAG differ). HU unusable regardless (0.28).\\\n\\\n**Root assessment**: heavily-imbalanced (~87% zero) ternary regression is a genuinely hard optimization for this MLP+AdamW setup. The 512-sample memorization vs 7M-sample squash gap suggests the fresh-data regime starves the rare positive classes' gradient signal — a curriculum/2-stage or BCE-with-logits redesign might fix it, but that's a NEW research iteration, not a bug fix.\\\n\\\n**Assets kept:**\\\n- Corpus (7.25M relabeled, relabel_equity bin), recorder, model, trainer (warm-restart, clipping, slope-gated checkpoints), diag bin (mean-pred-by-n), shadow tooling — all committed\\\n- equity_v14 = best stable model (slope 0.677); v16 recipe = the one that produced calibrated epochs (unreproduced)\\\n- Shadow mode runs zero-risk on any sim (EQUITY_SHADOW_LOG)\\\n\\\n**Reactivation triggers**: (a) new training approach (BCE/curriculum), (b) MC replacement urgency for sim throughput, (c) corpus regrown with balanced labels (e.g. softer targets = true MC-vs-range values stored at collection).\\\n\\\n## Session results (live)\\\n- Day 1: +30.6M/36 hands (Pound It II 250K) ≈ +122 BB — lucky\\\n- Day 2: losses in smaller pots; today +26 BB/104 hands. **Sample sizes are noise at these levels** — improvement comes from the pipeline, not session results.\\\n- Big-pot spot checks: AK vs turned full house (pot-odds correct), AA vs rivered 777-full 3-way (cooler). No defects found in tracked hands.\\\n\\\n## Backlog (next up, in order)\\\n1. **7_6** sequence-aware capping (offline likelihood fit from corpus — infra now exists)\\\n2. **FutureActionNet** (#4) — drops into equity_vs_continue; corpus infra reusable\\\n3. **Live RangeNet fine-tune** — Torn profiles accumulating since Aug 15\\\n4. Call-path eq_cc (knob-gated)\\\n5. RangeNet v18 Tier-2\\\n6. Repo-wide fmt debt\"],[1,\"actual 0.136 (7.6x under).\\\n4. **Behavioral signature: the bot underestimates its own winning spots → thin value missed → passive lines.** Consistent with 7_6 (KK no river value bet vs capped line). Possibly explains part of day-2 live losses.\\\n\\\n**Caveat**: G48 thresholds were tuned WITH this bias — a global recalibration shifts every decision; must go through full sweep + sanity. Do not \\\"just fix\\\" the range mean.\\\n\\\n**IMMEDIATE FOLLOW-UP (flagged)**: A/B audit with `corr_enabled=false` (30-min collection) to localize the bias: RangeNet prior vs corrector over-concentration. The corrector's call-curves deliberately concentrate on strength (\\\"callers have it\\\") — prime suspect on call-heavy fields.\\\n\\\n## Next steps (revised order)\\\n1. **Bias localization** (corrector on/off audit) — hours, decides everything below\\\n2. **7_6 likelihood fitting** now has a measured target: fit curves so predicted P(beat) matches realized frequencies (proper scoring on the labeled corpus) — fixes bias + sequence-awareness together\\\n3. FutureActionNet / live fine-tune unchanged\\\n4. EquityNet stays parked (audit confirms MC closer to reality — but note both share the range bias; fixing ranges improves MC directly)\\\n\\\n## Session history 2026-08-17\\\n- v15-v20 EquityNet iterations → parked (2625149); live day-2 losses = variance, no defects found in spot checks\\\n- Commits today: 678080e, 1deaf4b, 1a1bcd1, 548ee48, 2625149, 55192cc\"],[0,\"\\\n\\\n##\"]],\"start1\":33,\"start2\":33,\"length1\":3211,\"length2\":2689}]"
metadata_diff: {"new":{},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2026-08-17T11:15:45.180Z
created_time: 2026-08-17T11:15:45.180Z
is_locked: 0
type_: 13