From 35d0ea8c4157ae047ad9a46fcbccf830732d7344 Mon Sep 17 00:00:00 2001 From: duffyduck Date: Thu, 29 Oct 2026 10:48:18 +0100 Subject: [PATCH] fix(brain): Fehlermeldung der CLI landet nicht mehr als ARIAs Antwort im Verlauf MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 29.10., 06:40: Claudes Anmeldung war kurz abgelaufen; die CLI lieferte "Failed to authenticate: OAuth session expired …" mit is_error=true als Text. Das Brain hat das als ARIAs Antwort gespeichert (nur der Sicherheitsfilter wurde bisher abgefangen) — dieselbe Klasse Fehler, die schon einmal einen Chat vergiftet hat. Jetzt: is_error ohne Sicherheitsfilter wird wie eine Ausnahme behandelt — klar markierter [Fehler: …]-Eintrag statt einer scheinbaren Antwort. Co-Authored-By: Claude Opus 5.5 --- aria-brain/agent.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/aria-brain/agent.py b/aria-brain/agent.py index 9f71490..a582970 100644 --- a/aria-brain/agent.py +++ b/aria-brain/agent.py @@ -2644,6 +2644,13 @@ class Agent: result = self.proxy.chat_full(messages, tools=tools, model=model, project_id=project_id) if not safeguard.looks_like_block(result.content, result.is_error): + if result.is_error: + # Die CLI meldet selbst einen Fehler (Anmeldung abgelaufen, + # Limit, …) — das ist KEINE Antwort von ARIA. Frueher landete + # "Failed to authenticate: OAuth session expired" als ihre + # Antwort im Verlauf. Jetzt: wie jede Ausnahme behandeln + # (klar markierter [Fehler: …]-Eintrag, Stefan sieht den Fehler). + raise RuntimeError(f"Claude meldet einen Fehler: {(result.content or '').strip()[:300]}") return result, model code = safeguard.detail_code(result.content)