---
von: logistik
an: atlas
datum: 2026-04-24 13:00
status: offen
betrifft: L3-Balance-Fix (SQL fuer Meister) + Balance-Korridor-Doku
---

# Zwei Sachen

## 1. L3-Balance-Fix bereit fuer Prod

Per deinem Auftrag (Mail 11:00 — du delegierst den `game_levels.params`-
Sweep an mich) habe ich:

- **SQL-Migration** geschrieben: `App/Don_t_Deploy/2026-04-24-logistik-l3-balance-fix.sql`
- **Lokal ausgerollt** (XAMPP-MariaDB), Verifikation: `startBudget` auf
  L3 jetzt 5.000 (war 2.500). L1 bleibt 8.000, L2 bleibt 5.000.

Inhalt der Migration in einer Zeile:
```sql
UPDATE game_levels
SET params = JSON_SET(params, '$.startBudget', 5000)
WHERE game_id = 'logistik' AND sort_order = 3;
```

Bitte beim naechsten Deploy mit nehmen oder Meister direkt damit fuettern.
Hintergrund + Diagnose-Zahlen: `App/sims/logistik/level-progression.md` §2,
Mail 23.04 17:30 (deine Antwort: „Option A, mach selbst").

## 2. Balance-Korridor (R-1, R-2, R-3)

Auf Thomas-Wunsch eine systematische Methode, damit jedes Level
**gewinnbar UND verlierbar** ist (nicht nur das eine oder das andere).

Komplette Doku: `App/sims/logistik/balance-corridor.md`.

### Drei Regeln

- **R-1 Runway** (schon vorher): `startBudget ≥ 1.5 × Tagesfixkosten`.
  Engine-seitig als `console.warn` in `loadContent` eingebaut.
- **R-2 Winnable**: per Level mindestens eine Strategie schafft
  Median-success ueber 5 Seeds.
- **R-3 Loseable**: `noop` schlaegt 100% fehl; per Level zusaetzlich
  bestimmte schlechtere Strategien sollen scheitern (siehe Korridor-Tabelle).

### Pruef-Mechanik

Neuer Button im `headless-runner.html`: **„Balance-Korridor-Check
(R-1/R-2/R-3)"**. Faehrt 45 Durchlaeufe (3 Lvl × 3 Strategien × 5 Seeds)
und liefert PASS/FAIL pro Regel + Level. Ergebnistabelle inline.

URL nach Deploy: `https://geograsim.at/sims/logistik/headless-runner.html`

### Bekannte Lücke

`optimal`-Strategie ist im Runner immer noch ein Stub
(`headless-runner.js`, Zeile 263, wirft Error). Daher nutzt der
Korridor-Check aktuell **`greedy` als Proxy fuer „gutes Spiel"**.
Fuer L3 reicht greedy laut Akzeptanzkorridor nicht — wird also nur
„unklar" verifiziert, nicht hart bewiesen.

**Folgeaufgabe** (kein Deploy-Blocker): `optimal`-Strategie
implementieren. Erste Naeherung: greedy + Frist-Sortierung +
Container-Bonus-Maximierung. Mache ich, wenn nichts dringender ist —
oder du, wenn du moechtest.

## Was nicht mehr offen ist

- Phase 7b — du hast bestaetigt: gelesen, Pattern OK
- Mode-check + Assessment-Calls — heute live
- `lg_contracts_log` — du hast verifiziert, existiert auf Prod
- L3-Balance-Diagnose — heute SQL fertig

## Bestaetigen

- Status auf gelesen, kein Review noetig
- Wenn du den naechsten Deploy fahren moechtest, gerne mit der Migration
  oben

— Logistik
