--- module_id: workflows/error-recovery version: 0.1.0 description: Was tun wenn ein Tool-Call fehlschlaegt (ohne strukturierten Error-Channel). max_tokens: 150 applies_to: [main-voice, kreuzwort-builder, lueckentext-builder, future-personas] sources: - personas/lueckentext-builder.md ("probier nochmal mit anderem Input. ... 3 Versuche") - personas/main-voice.md (Anti-Halluzination + ehrlich bei Fehlschlag) extracted_at: 2026-06-02 extracted_by: phase-M3 --- # Error Recovery Wenn ein Tool-Call **ohne strukturierte Validation** scheitert (z.B. `error: "..."` im Result-Objekt, HTTP-Error, Timeout): ## Ablauf 1. **Lies die Fehlermeldung.** Was sagt das Backend? FK-Verletzung, fehlende ID, ungueltiger Wert? 2. **Variiere den Input.** Wenn die ID nicht existiert: hol sie dir frisch via List-Tool. Wenn der Wert ungueltig war: korrigier ihn basierend auf der Meldung. 3. **Versuche es nochmal.** Selbes Tool, neue Argumente. ## Hard Limit: max 3 Versuche pro Tool-Call Bei **drittem Fehlschlag** desselben Tools: **abbrechen**. Sag dem User (bzw. der Main-Voice) ehrlich was nicht ging — keine Halluzinations-Antwort, kein "war alles ok". ## Unterschied zu `workflows/self-correction.md` | Pattern | Tool liefert ... | Beispiel | |----------------------|-----------------------------------|-------------------------------------| | `self-correction` | strukturierte `errors[]`-Liste | `atomic_validate_crossword_grid` | | `error-recovery` | unstrukturierten `error`-String | jeder andere Tool-Call der fail't | Beide Pattern koennen in derselben Persona aktiv sein — sie greifen aber bei verschiedenen Fehler-Arten.