mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-07-20 15:33:54 +00:00
Fixes #62452. Two amplifiers turned one slow auxiliary route into a per-turn multi-minute stall: 1. Fallback candidates inherited the exact effective_timeout the primary was called with. When the primary's deadline was short (tuned or already burned), an independently healthy fallback died on the same clock — the reporter's 163k-token compression needed ~90s on the fallback and got the primary's 30s, every turn. fallback_chain entries may now declare their own 'timeout' (seconds); both fallback candidate call sites (sync + async) resolve it via _fallback_entry_timeout, label-scoped so only configured-chain candidates are affected. No entry timeout → task-level timeout, preserving existing behavior. 2. A session whose transcript structurally cannot be summarized within the deadline re-attempted every 60s, re-burning the full timeout on every subsequent turn. Consecutive timeout-class failures now escalate the cooldown 60s → 300s → 900s (capped); any successful summary or session reset clears the streak. Timeout classification takes precedence over the streaming-closed 30s rung ('timed out' also matches _is_connection_error) and now recognizes the SDK's 'Request timed out.' phrasing. Fail-safe behavior is unchanged: all messages are preserved when every candidate fails; the cooldown only spaces out retries. |
||
|---|---|---|
| .. | ||
| features | ||
| messaging | ||
| secrets | ||
| skills | ||
| _category_.json | ||
| checkpoints-and-rollback.md | ||
| cli.md | ||
| configuration.md | ||
| configuring-models.md | ||
| desktop.md | ||
| docker.md | ||
| git-worktrees.md | ||
| managed-scope.md | ||
| multi-profile-gateways.md | ||
| profile-distributions.md | ||
| profiles.md | ||
| security.md | ||
| sessions.md | ||
| tui.md | ||
| windows-native.md | ||
| windows-wsl-quickstart.md | ||