id: 818f3e59dd5c4b98baf2bdd3d885a460
parent_id: 768f5b7df12d4230a1edbc9a347ca987
item_type: 1
item_id: ec1518e71453490f8fe5ab75cff7180c
item_updated_time: 1786944261500
title_diff: "[]"
body_diff: "[{\"diffs\":[[0,\"-17 \"],[-1,\"night\"],[1,\"morning\"],[0,\" — E\"]],\"start1\":31,\"start2\":31,\"length1\":13,\"length2\":15},{\"diffs\":[[0,\"Net \"],[1,\"squash \"],[0,\"root\"],[-1,\" \"],[1,\"-\"],[0,\"cause \"],[-1,\"found\"],[1,\"hunt\"],[0,\")\\\n\\\n>\"]],\"start1\":51,\"start2\":51,\"length1\":24,\"length2\":30},{\"diffs\":[[0,\"51, \"],[-1,\"persistent server.** EquityNet v9 hit the multiway gate after fixing a label-semantics bug. v10 (big) training.\\\n\\\n## THE ROOT CAUSE (evening session, commit 678080e)\\\n\\\nGen3's `\"],[1,\"server healthy.** EquityNet: label-semantics bug found+fixed (huge win), multiway gate PASSED, one optimization pathology left.\\\n\\\n## Night summary (v7→v14)\\\n\\\n**SOLVED — the big one (commit 678080e)**: label semantics. Gen3 \"],[0,\"hs\"],[-1,\"`\"],[0,\" = \"],[-1,\"**current hand\"],[1,\"CURRENT\"],[0,\" str\"]],\"start1\":91,\"start2\":91,\"length1\":202,\"length2\":241},{\"diffs\":[[0,\"strength\"],[-1,\"**\"],[0,\" (beat-a\"]],\"start1\":329,\"start2\":329,\"length1\":18,\"length2\":16},{\"diffs\":[[0,\"-all\"],[-1,\"-\"],[1,\" \"],[0,\"now\"],[1,\")\"],[0,\", \"],[-1,\"before runout) — both HU `compute_vs_range` and multiway MC classify `before` on current hands (`compute_weighted_hs_ppot_npot:2251`). All prior training labels were **showdown equity over runouts** — a different quantity. Explains everything: river shadow MAE 0.034 (definitions identical on river) vs flop 0.155 (maximally different), the mc=0.000/nn=0.3 monotone-flop divergences, and why more data/epochs never fixed it.\\\n\\\n**Fix**: `relabel_equity` bin recomputes hs from stored `opp_holes` as ternary beat-all-now (4.86M/7.39M changed, offline, no recollection). ppot/npot/nutpot/rpot already matched.\\\n\\\n## Model iterations (v8-v10)\\\n\\\n| ver | change | val (balanced) | shadow verdict |\\\n|---|---|---|---|\\\n| v8 | relabeled corpus, sigmoid+L1 | COLLAPSED (slope 0.000, constant output, 12 frozen epochs) | — |\\\n| v9 | identity head + MSE (sigmoid saturates under 87%-zero ternary labels) | 0.2025 | **MW hs 0.046 (gate 0.045!)**, nutpot 0.028, slope 0.63, HU 0.29 |\\\n| v10 | \"],[1,\"labels were showdown equity. Relabeled 4.86M/7.39M records offline via stored opp_holes (`relabel_equity`). Multiway shadow MAE 0.096→**0.045 (gate PASS)**.\\\n\\\n**SOLVED**: v8 sigmoid-collapse (ternary 87%-zero labels + L1 → saturation) → identity head + MSE. candle AdamW default weight_decay=0.01-on-biases found and zeroed. Model-size load inference from safetensors header.\\\n\\\n**OPEN — output squash**: all models predict ~0.3x the conditional mean (diag: mean pred 0.08-0.15 vs label 0.32; even own TRAINING data). Narrowed by elimination:\\\n- NOT architecture/loss/optimizer: synthetic constant-0.5 → 0.482 ✓; 512 real HU samples memorize at lr 3e-3 in 400 steps ✓\\\n- NOT weight decay, NOT bias init (v12/v13 still squashed), NOT capacity (v10 big same), NOT pos-class weighting (v11 worse)\\\n- **LR is the lever**: v14 (lr 2e-3 vs 5e-4) doubled the output level (diag 0.146, val slope 0.575→0.677) and was STILL clim\"],[0,\"bi\"],[1,\"n\"],[0,\"g \"],[-1,\"model (enc 256/96, trunk 1024/384), 20ep | oscillating (lr too high for 3x params), best 0.1988 | pending |\\\n\\\n## Shadow status (v9, fish field, 6618 decisions)\\\n- hs: MW 0.0463 ✓(at gate), HU 0.286 ✗\\\n- slope 0.634 ✗ — underpredicts hero-monster spots (mc 0.93 → nn 0.000): underfit tail, v10 hypothesis\\\n- mean pred 0.017 vs MC 0.057 — deployment-blocker\"],[1,\"when the cosine expired (val improved every batch of epoch 6)\\\n- Next: v15 = lr 3e-3, 12 epochs, possibly warm restart if it plateaus. The sanity test succeeded at exactly 3e-3.\\\n\\\n## Current model ranking (shadow, fish field)\\\n| model | MW hs | nutpot | slope | note |\\\n|---|---|---|---|---|\\\n| v10 | **0.0448 PASS** | 0.041 | 0.575 | big, 20ep, lr 5e-4 |\\\n| v14 | 0.0468 | 0.072 | 0.467 | lr 2e-3, 6ep — less far along |\\\n| v9 | 0.0463 | 0.028 | 0.634 |\"],[0,\" b\"],[-1,\"i\"],[0,\"as\"],[-1,\" (too passive) until fixed\\\n\\\n## Morning checklist\\\n1. v10 done? shadow it (`bash scripts/equity_shadow_run.sh 3000`, config points at v9 — repoint)\\\n2. I\"],[1,\"e, 12ep |\\\n\\\n## Morning options\\\n1. **v15 run** (lr 3e-3, 12ep, ~2h) — the evidence says this finishes the escape; then shadow → i\"],[0,\"f slope \"],[-1,\"fixed\"],[1,\"≥0.9\"],[0,\" → A/B \"],[-1,\"g52 (replacement) + sanity gates\\\n3. If not: options — (a) lr 2e-4 stable big run, (b) high-hs sample weighting in loss, (c) 2-stage: train on natural corpus then fine-tune on hero-strong oversample\\\n4. HU gap (0.29): HU shadow n=307 small; check by-\"],[1,\"+ sanity + adoption decision\\\n2. If v15 still short: warm-restart v15 from v14 checkpoint at constant 1e-3 (trainer lacks resume — 20-line addition)\\\n3. Fallback deployment po\"],[0,\"st\"],[1,\"u\"],[0,\"re\"],[-1,\"et breakdown first\\\n5. Note: val MAE vs ternary labels has high Bayes floor — judge ONLY by shadow (NN vs MC)\\\n\\\n## Infrastructure state\\\n- Corpus `/home/jan/gen5_data/equity_v6_1` (7.25M train, relabeled) + `_small` (1.27M) — train_full.bin current\\\n- equity_v1..v10 models; production candidate = best of v9/v10\\\n- Live 250K session: +30.6M/36 hands on Pound It II (AA cooler vs rivered full house — standard decisions)\\\n- Commits: c855c6a (round-robin), 678080e (relabel + collapse fixes)\\\n\\\n## Backlog\\\n7_6 capping\"],[1,\": v10 as MULTIWAY-ONLY replacement (its MW gate passes; HU/slope issues matter less on multiway where MC is the bottleneck) — gate NN replacement on n_opp>2, keep MC for HU. Could ship the sim-speedup before full calibration.\\\n\\\n## Infra\\\n- eval_equity_diag bin (BIN=... model — mean pred vs label by n_opp) — the metric that localizes squash\\\n- All committed: 678080e, 1deaf4b, 1a1bcd1, 548ee48. Corpus train_full.bin (7.25M, relabeled).\\\n\\\n## Backlog unchanged: 7_6\"],[0,\" · F\"]],\"start1\":343,\"start2\":343,\"length1\":2276,\"length2\":2169},{\"diffs\":[[0,\"ive \"],[-1,\"RangeNet \"],[0,\"fine\"]],\"start1\":2530,\"start2\":2530,\"length1\":17,\"length2\":8},{\"diffs\":[[0,\"v18 \"],[-1,\"Tier-2 \"],[0,\"· fm\"]],\"start1\":2564,\"start2\":2564,\"length1\":15,\"length2\":8}]"
metadata_diff: {"new":{},"deleted":[]}
encryption_cipher_text: 
encryption_applied: 0
updated_time: 2026-08-17T05:25:44.393Z
created_time: 2026-08-17T05:25:44.393Z
is_locked: 0
type_: 13