fix(brain): 18. seed_rule — Side-Effect-Tools nicht blind retry'en
Beobachtung 30.05.2026 02:22: Stefan bat 'vorheriges lied'. ARIA hat POST /previous gemacht — Spotify gab 204 No Content zurueck (Erfolgs- Antwort ohne Body), aber der alte Skill-Code warf JSON-Parse-Error weil kein Body zum Parsen. ARIA interpretierte das als 'Skill kaputt', patchte ihn UND fuehrte previous nochmal aus. Folge: Stefan landete ZWEI Lieder zurueck statt eins. Aergerlich weil unerwartete Zustandsaenderung. Neue Regel adressiert das: - Side-Effect-Tools (POST/PUT/DELETE, next/previous/play/pause, send- message etc.) sind NICHT idempotent — Retry verdoppelt den Effekt. - Bei unklarem Result IMMER zuerst State pruefen (currently-playing, list-Endpoint etc.), dann beurteilen ob Wiederholung noetig. - HTTP 204 No Content ist KEIN Fehler bei POST/PUT — typische Spotify- Antwort. Skill darf 204 NICHT als Parse-Error werten. - GET-Calls / Search sind retry-safe, hier keine Sorge. ARIAs zweiter Skill-Patch ist uebrigens technisch korrekt (ARG_- Konvention zurueck, 204 handled, strukturierte Ausgabe fuer currently-playing). Nur das doppelte Side-Effect war das Problem. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -388,7 +388,7 @@ Chat-Turn an die richtigen Patterns.
|
||||
|
||||
### Skill-Regeln (seed_rules)
|
||||
|
||||
`aria-brain/seed_rules.py` enthaelt 17 `type=rule, pinned=true,
|
||||
`aria-brain/seed_rules.py` enthaelt 18 `type=rule, pinned=true,
|
||||
source=seed`-Memories, die bei jedem Brain-Start idempotent in die
|
||||
Vector-DB geschrieben werden (`migration_key`-basiert). Sie tauchen in
|
||||
jedem Chat-Turn im Hot-Memory-Block auf:
|
||||
|
||||
Reference in New Issue
Block a user