Hermes-Lauf mit Aufruflimit: vorhandene Antwort wird als „Unbekannter Fehler“ verworfen (Parität zu iris/Iris#42) #14
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-linux-server#14
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?
Schwester-Issue zu iris/Iris#42: Hermes meldet einen Turn, der das Aufruflimit erreicht (
max_iterations_reached), alsrun.failedmitoutputundturn_exit_reason, aber ohneerror. Der Linux-Server wertet nurerroraus und verwirft die Antwort:app/agent_jobs.py:493→message = event.get("error", "Unbekannter Fehler"), legt[Fehler] Unbekannter Fehlerals Nachricht an und beendet den Job alsfailed.app/hermes_client.py:151→raise RuntimeError(event.get("error", "Unbekannter Fehler")).Verhalten angleichen: Ohne
error, aber mit nicht leeremoutput, die Antwort als Assistenten-Nachricht speichern (mit Hinweis auf das Limit austurn_exit_reason), Job nicht als Fehler führen. Test:run.failedmitoutput, ohneerror. Muss dasselbe Verhalten wie der Mac-Server zeigen (Wire-Parität).PR #16 gemergt: fix(hermes): run.failed mit vorhandener Antwort (Aufruflimit) wird als Antwort gespeichert statt als Unbekannter Fehler (#14)
#16
Commits:
Stand nach PR #16 (Linux-Server):
Geändert: neues Modul
app/run_failure.py(nur Standardbibliothek) wertetrun.failedaus.agent_jobs._stream_turn: ohneerror, aber mit nicht leeremoutput, wird das Event wie ein abgeschlossener Turn behandelt (Antwort + Hinweiszeile „Aufruflimit erreicht (90/90) — … unvollständig", Jobcompleted, mit dem bestehenden Denkprozess-Zweig). Echte Fehler (errorgesetzt) und leere Events bleiben[Fehler] …/„Unbekannter Fehler".hermes_client.complete_once(interne Einmal-Aufrufe) wirft bei einem vorzeitigen Ende weiter, aber mit Klartext statt „Unbekannter Fehler".Geprüft:
iris-server/tests/test_run_failure.py, 9 Tests ohne laufenden Server (reine Funktion +_stream_turnmit ersetztem Hermes-Client), darunter das echte Event vom 2026-10-13; Mutationsprobe (Zweig in_stream_turndeaktiviert) lässt den Test scheitern. Dasselbe Verhalten wieIris/HermesRunFailure.swift(iris/Iris#42).Nicht geprüft / offen: Deploy auf
alf@iris-serverund ein Live-Lauf bis zum Aufruflimit. DasDockerfilekopiertapp/komplett, das neue Modul braucht keinen Eintrag.