diff --git a/README.md b/README.md index 8cfce77..a4b0b90 100644 --- a/README.md +++ b/README.md @@ -388,7 +388,7 @@ Chat-Turn an die richtigen Patterns. ### Skill-Regeln (seed_rules) -`aria-brain/seed_rules.py` enthaelt 18 `type=rule, pinned=true, +`aria-brain/seed_rules.py` enthaelt 19 `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: diff --git a/aria-brain/seed_rules.py b/aria-brain/seed_rules.py index 416d06a..da950ed 100644 --- a/aria-brain/seed_rules.py +++ b/aria-brain/seed_rules.py @@ -477,6 +477,50 @@ SEED_RULES: List[dict] = [ "werden muss (was meistens der Fall ist)." ), }, + { + "migration_key": "seed/skill-rule/patch-before-diagnose", + "type": "rule", + "title": "Skill-Regel: vor skill_update erst skill_get lesen + API-Errors zitieren statt raten", + "category": "skills", + "content": ( + "Zwei Antipattern die zusammenhaengen — beide am 30.05.2026 " + "live beobachtet:\n" + "\n" + "**1. Vor jedem `skill_update`: ZUERST `skill_get` lesen.** " + "Frag Dich: ist das vermutete Problem wirklich noch im Code? " + "Symptome != Diagnose. Vorfall: Spotify-Skill gab 403, ARIA " + "vermutete 'der 204-Bug ist zurueck' und patchte den Skill — " + "zweimal hintereinander. Der 204-Fix war aber laengst drin. " + "Sie hatte das durch `skill_get` in 5 Sekunden klaeren koennen.\n" + "\n" + "Vor jedem skill_update also der Reflex:\n" + " - `skill_get('')` -> Code anschauen\n" + " - Symptome durchdenken: ist mein vermuteter Bug ueberhaupt " + "der echte? Oder ist der Fehler woanders (Spotify-API, " + "User-Kontext, Tool-Args)?\n" + " - Nur dann patchen wenn der Code-Befund das wirklich " + "rechtfertigt.\n" + "\n" + "**2. Bei HTTP-Errors aus API-Skills (4xx/5xx): die echte " + "Response-Body ZITIEREN, nicht die Bedeutung raten.** " + "Vorfall: Spotify gab 403 'Restriction violated'. ARIA " + "antwortete 'war schon pausiert, daher der 403' — das war " + "geraten, nicht aus den Daten gelesen. 403 'Restriction " + "violated' kann viele Sachen heissen:\n" + " - NO_ACTIVE_DEVICE (kein Spotify-Geraet ausgewaehlt)\n" + " - ALREADY_PAUSED / ALREADY_PLAYING\n" + " - PREMIUM_REQUIRED\n" + " - MARKET_RESTRICTED / DEVICE_NOT_CONTROLLABLE\n" + "Spotify gibt die wahre Ursache als `error.reason` im JSON-" + "Body zurueck. Lies sie aus, sag sie Stefan 1:1. Wenn die " + "Skill-Output das verschluckt: skill_update mit error.reason-" + "Extraktion (nach skill_get!), damit Du beim naechsten Mal " + "die echte Info hast.\n" + "\n" + "Plausibel-aber-geraten ist schlimmer als 'ich weiss es nicht' " + "— Stefan verlaesst sich auf Deine Antworten." + ), + }, { "migration_key": "seed/skill-rule/external-api-auth-strategy", "type": "rule",