# Plappi Audit-Log (autonomer Loop bis 24.06. 08:00)

Backup-Punkt: git `c22b06a`. Alles revertierbar.

---

## 2026-06-23 00:46 — Iteration 1 (Baseline)

**Getestet:**
- Endpunkte /api/health, /api/agent, /api/stories, /api/animals, /api/curriculum → **alle 200** ✅
- Voller Turn /api/turn (whisper + OpenRouter-Gemini + eleven_v3/Ida) → child+plappi+audio OK, **7,3s** (whisper ist der langsamste Teil) ✅
- Antwort pädagogisch korrekt: *„Zdravo! Das ist toll, Hunde und Bagger…"* — bilingual, **kein Inline-Glossing** ✅
- clients/web/app.js → **Syntax OK** (v21) ✅

**Statische Analyse:** keine Crash-Bugs. Keine nackten `except:`. /api/turn + /api/say nutzen beide Ida. Persona (ConvAI + dialog.py) ohne Inline-Glossing.

**Gefixt:** nichts (System grün, konservativ).

**ZU PRÜFEN (kein Risiko-Fix in dieser Iteration):**
- [ ] **animals.py Auflöse-Phrasen** (`say_*.mp3` vorgerendert) — Pädagogik nicht aus Code prüfbar; ggf. Quelltext der say-Phrasen checken auf „heißt auf Serbisch"-Muster.
- [ ] **whisper `-l auto`** kann bei kurzen/unklaren Clips die Sprache falsch raten (→ „Französisch"-Vorfall). Robustheit prüfen (größeres Modell? oder S2S ist die echte Lösung).
- [ ] **Realtime #talk (ElevenLabs Live)** in dieser Iteration NICHT im Browser testbar (Chrome-Extension offline) — Nemanja muss live verifizieren.
- [ ] Toter Code: `plappi-start-walkie`-Listener (Walkie versteckt) — harmlos, später entfernen.

**Offen für Nemanja:** Live-Freigespräch (v21) am Handy testen.

---

## 2026-06-23 01:16 — Iteration 2

**Getestet:** Endpunkte 200 ✅, Turn 6,0s ✅, app.js Syntax OK ✅.
**NEU geprüft (Demo-Kern):** ALLE vorgerenderten Audio-Assets liefern **200** — 4 Geschichten (rube/maca/pfannkuchen/schweinchen) + Tierstimmen `sound_url` & `say_url` (Stichprobe 4/10) ✅. Der sichere Demo-Pfad (Geschichten + Tierspiel) ist intakt.
**Gefunden:** Spiel-Auflösung zeigt visuell `"✅ Bravo! Kuh = krava"` (app.js:206) — Label NACH Kind-Rateversuch (Bedeutung schon etabliert → pädagogisch grenzwertig-ok, nicht das verbotene Inline-Satz-Glossing). **Kein Risiko-Fix** (screen-frei in Demo, Audio-Wortlaut entscheidend, nicht der visuelle Text).
**Gefixt:** nichts (System grün, konservativ).
**ZU PRÜFEN (offen):** say_*.mp3 Wortlaut (nicht aus Code prüfbar); whisper `-l auto` Sprachraten; Live-#talk nur am Handy testbar.

---

## 2026-06-23 01:46 — Iteration 3 (ECHTER BUG GEFIXT)

**Getestet:** Endpunkte 200 ✅, Turn 6,5s ✅, Syntax OK ✅. openWakeWord-Modelle geladen ✅.
**GEFUNDEN (echter Bug):** Im Wake-Modus blieb `convoActive=true` **hängen**, wenn das Live-Gespräch nach Sprachbefehl „reden" fehlschlägt (Mikro verweigert / `@elevenlabs/client`-Ladefehler / Session-Fehler). Folge: Plappi-Modus hört danach **nie wieder** zu. Ursache: die 3 Fehler-Pfade in `start()` (app.js ~102/106/121) feuerten kein `plappi-convo-ended`.
**GEFIXT:** Alle 3 `start()`-Fehlerpfade feuern jetzt `plappi-convo-ended` → Wake-Modus erholt sich. **v22, commit `de19bb8`**. (Hinweis: erster Edit-Versuch erzeugte Syntaxfehler — Inline-Kommentar verschluckte eine `}`; `node --check` hat es VOR dem Commit erwischt, korrigiert.)
**System:** grün. Demo-Pfad unberührt.

---

## 2026-06-23 02:16 — Iteration 4 (Demo-Readiness)
Endpunkte 200, Turn 6,3s, Syntax OK. `eleven.py` wirft sauber ElevenError → edge-Fallback; Brain-Kette OpenRouter→Claude→Default = kein Crash-Pfad. **ElevenLabs-Guthaben: 385.788/406.000 Zeichen frei (~3.200 Antworten), aktiv → kein Demo-Risiko.** OpenRouter ohne Limit. Keine neuen Bugs. (Log nachträglich, da Live-Schreiben unterbrochen.)

## 2026-06-23 08:26 — Iteration 5 (Konvergenz)
Endpunkte 200, Turn **5,5s**, Syntax OK. `sessions.py` geprüft: In-Memory-Dict, Prompt durch `HISTORY_TURNS` begrenzt → kein Bug für Demo. **Befund nach 5 Iterationen: System konvergiert GRÜN.** 1 echter Bug gefixt (It.3 Wake-Recovery, v22). Robustheit + Guthaben bestätigt.
**Verbleibende offene Punkte sind NUR browser-/handy-abhängig** (kann der Loop nicht prüfen): Live-#talk (ElevenLabs realtime) am Handy verifizieren; whisper `-l auto` Sprachraten unter Realbedingungen; say_*.mp3 Wortlaut anhören.
**Gefixt:** nichts (System grün, konservativ).
