# Session 20250621 — Essensplaner Cronjob Refactoring

## Context
Rechnungen-Organizer Cronjob war hart getroffen: `RuntimeError: Response truncated due to output length limit`. Anlass für komplette Essensplaner-Pipeline-Überarbeitung.

## Learnings

### 1. Output Truncation in Agent Cronjobs
Bei `Rechnungen-Organizer` gab der Agent riesige Markdown-Blöcke aus → harter Cutoff.
**Fix:** Im Prompt explizit begrenzen: `max 20 lines`, `compact summary only`, `no explanations`.
**Ergebnis:** Neuer `nutrition-plan-generator-v4.py` mit kompakter 7-Zeilen-Tabellen-Ausgabe statt Voll-Plan.

### 2. Telegram Delivery Targets
User nannte `telegram:Essensplaner` als Ziel. System kannte nur `telegram:Schoen Inc`.
**Fix:** `@Essensplaner` ist ein Bot-Name INNERHALB der Gruppe, kein `deliver`-Target. Cronjobs müssen `telegram:Schoen Inc` verwenden.
**Workflow:** Bei Zweifel vorher `send_message(action='list')` oder existierende Jobs inspizieren.

### 3. Navigation mit Tabulator
Anstatt `exec` auf kompletten Prompt-Outputs: Arbeitsverzeichnis wechseln → Verzeichnisinhalt tabellarisch anzeigen → relevante Dateien nach Bedarf per `cat` laden.
Vermeidet: a) Output-Truncation b) Unlesbarkeit bei ~5000 Einträgen c) Wartezeit.

### 4. Model + Provider als Paar setzen
Bei jedem Update eines Agent-Jobs: `model` und `provider` zusammmen. Einzelnes `model` reicht nicht.
Beide Cronjobs (Interview + Plan-Generator) jetzt auf `moonshotai/kimi-k2.6` / `noris`.

### 5. Referentielle Labels statt Zahlen-IDs
Link zwischen Interview (Mittwoch) und Plan-Generator (Freitag) über `current_interview.json`.
Bei Livedaten durch den Agent: JSON als Arbeitsdokument, nicht Memory.
