Oracle v5: JJ-Regression-Analyse, Narrowing-Blend-Fix und Über-Nacht-Validierung

# Oracle v5: JJ-Regression分析与 Narrowing-Blend-Fix (2026-09-07 Abend)

## Harrington-Ergebnis: v5+Blend 0.7 = 37/37 (bester Stand je)

| Kandidat | 4-5-99 (turn check, river fold) | 4-7 (JJ call vs shove) | Gesamt |
|---|---|---|---|
| v4 (Fallback-Heuristik) | FAIL | ok (Raise) | 36/37 |
| v5 hybrid (Narrowing voll) | ok | FAIL (Fold) | 36/37 |
| v5 pure (kein Narrowing) | FAIL | ok | 36/37 |
| **v5 + oracle_narrow_blend 0.7** | **ok** | **ok** | **37/37** |

## Ursachenkette Harr 4-7 (JJ auf T96, Shorty-Over-Shove)

1. **Init-Prior quasi flach** für Limp+Call-Raise-Linie (alle Hände ~11.99, ATC)
2. **Modifier** gibt Straights 3:1 über Junk (empirisch korpus-weit 9:1 — P(raise>4bb|straight)=0.54 vs 0.06 für Nothing, aber One-Pair=0.22 dominiert die Masse)
3. **NARROWING = Verstärker**: Strength-Percentil-Cut behält Top ~10% → 87-Straight trägt 51% der Masse → JJ hs=0.449 < call_thresh 0.548 → Fold
4. Narrowing wurde für breite Heuristik-Ranges designed; auf bereits linien-konditionierter Oracle-Posterior doppelt es die Stärke-Konditionierung

## Zweiter Bug: Combo-Expansion (fixed, Commit 78e8a92)

`weights_to_hand_range` schrieb das volle Klassengewicht auf EINEN kanonischen Suit-Repräsentanten (8h7d für 87o) statt alle Live-Combos zuExpandieren → suit-asymmetrische Ranges, Flush-/Straight-Darstellung verzerrt. Jetzt: Expansion auf alle Live-Combos mit Gewicht/Anzahl.

## Fix: oracle_narrow_blend (Commit 78e8a92)

- Geometrische Blend: w = prior^(1-b) × narrowed^b, Config-Knob 0..1 (default 1.0 = altes Verhalten)
- 0.7 = einziger Wert, der BEIDE kritischen Hände besteht (0.3/0.5: 4-5-99 rot; 1.0: 4-7 rot)
- Narrowing-Knobs allein (center_mult 1.0/1.5 × sizing 0.4/0.8) fixen 4-7 NICHT — der Cut selektiert Board-Nuts unabhängig von der Weite

## EV-Benchmark v5 (Blend 1.0, vor Fix) — 20 Sims

| Zelle | v5 | v4-Referenz |
|---|---|---|
| h2h | +8.97 | +11.3 |
| t3 | +10.79 | +10.1 |
| t4v5 | −1.99 | −1.5 |
| g51 | −0.38 | +0.2 |

**Wichtig:** v4s "besser" war teils Artefakt — v4s spärlicheres Oracle lieferte auf vielen Zellen LEERE Ranges → Heuristik-Fallback. v5 deckt mehr Zellen ab, aber mit (vor Fix) über-konzentrierten Ranges.

## 4-max-Kollektions-Bug (geklärt, Nachkollektion gestartet)

- Generator schrieb hartkodiert 6 Bots in 4-max-Tische (std/mixed-Branch skalierten nicht mit seats) → "seat 4 is out of range", 7 Tische verloren
- 9-max lief dafür mit nur 8/9 Bots (Underfill, kein Fehler)
- tmixed_s4_r3 überlebte durch sed-Auswahl-Pärchen-Zufall (2+2=4)
- Fix: /tmp/kilo/preflop_collect_v5_s4.sh — exakt 4 Bots/Tisch, Selbsttest, frische Seeds 20001+, läuft über Nacht nach der Sim-Kette

## Über Nacht laufend (Ergebnisse morgen früh)

1. EV-Benchmark v5+Blend0.7 (ov5-hsb-nb07, 20 Sims) + Sanity-Gate-2/3 Vollrunde (61 Sims, 10K Hände, 6 Gegner, Reset+Natural) — Kette in /tmp/kilo/ev_v5nb_run.sh
2. 4-max-Gap-Kollektion (8 Tische × 500K) danach
3. CI auf moria: Kette grün (super_marvin + rusty-marvin Tests, runs-on self-hosted, SSH-Clones) — Commits 78e8a92+7e0f316 gepusht

## Offene Punkte

- Modifier-Overshove-Verhalten: Features kennen keine Tilt/Overbet-Semantik jenseits tc/pot — Corpus-Analyse zeigt One-Pair-dominierte Big-Raises (58%), Model lernt aber relative Nuts-Konzentration
- Init flach auf Limp-Linien — class-2-Samples (Billig-Call) nur 1.302/20M im Modifier-Korpus (postflop meist irrelevant, aber Init-Limp-Diskriminierung prüfen)
- Nach EV-Ergebnis: Adoption v5+blend0.7 als neuer Gen-5-Kandidat?

id: f55c74c01ca145638439feca070b0e5d
parent_id: 5a06903f
created_time: 2026-09-07T18:12:16.413Z
updated_time: 2026-09-07T18:12:16.413Z
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: 1788804736413
user_created_time: 2026-09-07T18:12:16.413Z
user_updated_time: 2026-09-07T18:12:16.413Z
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