Hermes-Lauf mit Aufruflimit zeigt „Unbekannter Fehler“ statt der vorhandenen Antwort #42
Labels
No labels
herkunft/alpha-feedback
status
blockiert
status
zu-testen
typ
bug
typ
docs
typ
enhancement
typ
feature
typ
idea
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
iris/Iris#42
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom: Erreicht der Hermes-Agent sein Aufruflimit (
max_turns, aktuell 90), zeigt Iris „⚠️ Hermes Fehler: Unbekannter Fehler" — obwohl der Agent eine Abschlussantwort geschrieben hat. Heute fünfmal aufgetreten (Sessions mitturn_exit_reason=max_iterations_reachedum 16:13, 16:48, 17:18, 18:00, 19:50).Beleg (live, 2026-10-13):
GET /v1/runs/run_441bcb7d…meldetKein Feld
error.Ursache: Hermes führt einen Turn ohne regulären Abschluss bewusst als
failed(hermes/gateway/platforms/api_server_runs.py,terminal_run_status: „a turn that ended without finishing … such as the iteration budget … is failed"), liefert aberoutputundturn_exit_reasonmit. Iris liest beirun.failednurerror(Iris/HermesGatewayClient.swift:318,raw["error"] as? String ?? "Unbekannter Fehler") und verwirft den vorhandenenoutput;AgentJob.swift:3519macht daraus „Hermes Fehler".Vorschlag (Punkt 1, nur Iris):
HermesRunEvent.runFailedumoutput: String?undturnExitReason: String?erweitern.AgentJob: Ist keinerrorda, aberoutputnicht leer, die Antwort normal anzeigen, darunter eine Zeile „⚠️ Der Agent hat sein Aufruflimit erreicht (90/90) — die Antwort ist möglicherweise unvollständig." Nur ohneerrorUND ohneoutputbleibt „Unbekannter Fehler".error-Feld bleibt unverändert ein Fehler.run.failed-Event mitoutputundturn_exit_reason, ohneerror.Nicht Teil dieses Issues: Hermes (Fork) anders einstufen zu lassen, das Limit zu erhöhen. Der Linux-Server hat denselben Fehler an zwei Stellen: iris/iris-linux-server (Schwester-Issue). Wire-Hinweis: Clients (iOS, IrisClient) sehen nur die Nachrichten des Servers; der Mac-Server wird mit diesem Fix mitgezogen.
PR #43 gemergt: fix(hermes): run.failed mit vorhandener Antwort (Aufruflimit) zeigt die Antwort statt Unbekannter Fehler (#42)
#43
Commits:
Stand nach PR #43 (Mac-App):
Geändert: neue
Iris/HermesRunFailure.swift(nur Foundation) wertetrun.failedaus: miterror→ Fehler wie bisher; ohneerror, aber mit nicht leeremoutput→ neues EventHermesRunEvent.runIncomplete(output:note:); ohne beides → „Unbekannter Fehler".AgentJobzeigt die Antwort und hängt eine Zeile an („⚠️ Der Agent hat sein Aufruflimit erreicht (90/90) — die Antwort ist möglicherweise unvollständig.").HermesGatewayClientverteilt die beiden Fälle.Geprüft: Prüfprogramm
scripts/hermes-run-harness/run.sh(swiftc, ohne Xcode): 11 Prüfungen grün, darunter das echte Event vom 2026-10-13; Mutationsprobe (Guard auf leerenoutputentfernt) lässt 3 Prüfungen scheitern.swiftc -parseder beiden geänderten App-Dateien ist fehlerfrei.Nicht geprüft: Ein Xcode-Build der App und ein Live-Lauf, weil
xcodebuildim Terminal laut CLAUDE.md die TCC-Freigaben entwertet. Das neue Event ist der einzige neue Fall im einzigen exhaustivenswitchüberHermesRunEvent(AgentJob.swift); die Typprüfung gegen das Modul steht aus. Bitte in Xcode neu bauen und mit einem Lauf bis zum Aufruflimit prüfen (Wirkung: Antwort sichtbar, kein „Hermes Fehler").Offen: Linux-Server (iris/iris-linux-server#14), IrisClient nutzt
HermesGatewayClientnicht (ausgeschlossen), das neue File ist dort mitkompiliert und ohne Abhängigkeiten.