hermes - 💡(How to fix) Fix Silent failure of auxiliary tasks (title_generation/session_search) with no user notification or escalation [1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
NousResearch/hermes-agent#15775Fetched 2026-04-26 05:25:07
View on GitHub
Comments
0
Participants
1
Timeline
3
Reactions
0
Author
Participants
Timeline (top)
labeled ×3

Error Message

When auxiliary tasks (title_generation, session_search, compression) fail — e.g. due to provider 402 errors or network timeouts — Hermes logs a WARNING and silently drops the operation. There is no notification to the user, no Telegram alert, no error escalation, and no way to detect the failure until manually inspecting logs.

  • Deliver a warning to the active platform (Telegram message / CLI inline notice) naming the failing task and error type
RAW_BUFFERClick to expand / collapse

Describe the bug

When auxiliary tasks (title_generation, session_search, compression) fail — e.g. due to provider 402 errors or network timeouts — Hermes logs a WARNING and silently drops the operation. There is no notification to the user, no Telegram alert, no error escalation, and no way to detect the failure until manually inspecting logs.

In practice: 45 interactive sessions accumulated NULL titles over 19 days (April 6–24) due to OpenRouter 402 errors on auxiliary calls. The main conversation continued normally, making the failure completely invisible.

Steps to reproduce

  1. Configure an auxiliary provider with insufficient credits or that is unreachable (e.g. OpenRouter key with monthly token cap)
  2. Complete several sessions normally — they appear to work fine
  3. Run: sqlite3 ~/.hermes/state.db "SELECT COUNT(*) FROM sessions WHERE title IS NULL AND message_count > 2"
  4. Sessions silently accumulate with no titles and no search summaries

Expected behavior

After N consecutive auxiliary task failures (suggested: 3+), Hermes should:

  • Deliver a warning to the active platform (Telegram message / CLI inline notice) naming the failing task and error type
  • Surface this in hermes doctor output and hermes status
  • Ideally provide a hermes sessions retitle or similar backfill command for recovery

Actual behavior

Failure is logged at WARNING level only in agent.log. No user-visible notification. No recovery path. Affected sessions are permanently unsummarized and unsearchable unless a custom backfill script is written manually.

Affected components

  • agent/title_generator.py — swallows None return silently
  • agent/auxiliary_client.pycall_llm() failure handling never escalates to user
  • run_agent.py — session end flow has no failure counter or alert threshold

Environment

  • Platform: macOS 25.5.0 (Darwin)
  • Shell: zsh
  • Hermes version: v0.11.0

extent analysis

TL;DR

Modify the agent/title_generator.py, agent/auxiliary_client.py, and run_agent.py components to implement failure handling and notification mechanisms for auxiliary task failures.

Guidance

  • Review the agent/title_generator.py and agent/auxiliary_client.py files to understand how errors are currently handled and identify areas where failure notifications can be added.
  • Introduce a failure counter in run_agent.py to track consecutive auxiliary task failures and trigger notifications when a threshold (e.g., 3+) is reached.
  • Consider adding a hermes sessions retitle command to provide a recovery path for affected sessions.
  • Update the hermes doctor and hermes status outputs to surface auxiliary task failure information.

Example

# Example failure counter and notification in run_agent.py
failure_count = 0
def on_auxiliary_task_failure(error):
    global failure_count
    failure_count += 1
    if failure_count >= 3:
        # Send notification to user (e.g., Telegram message or CLI inline notice)
        notify_user("Auxiliary task failed: " + str(error))

Notes

The provided solution is a starting point, and the actual implementation may vary depending on the specific requirements and constraints of the Hermes system.

Recommendation

Apply workaround: Implement the suggested failure handling and notification mechanisms in the affected components to improve the system's robustness and user experience.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

After N consecutive auxiliary task failures (suggested: 3+), Hermes should:

  • Deliver a warning to the active platform (Telegram message / CLI inline notice) naming the failing task and error type
  • Surface this in hermes doctor output and hermes status
  • Ideally provide a hermes sessions retitle or similar backfill command for recovery

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix Silent failure of auxiliary tasks (title_generation/session_search) with no user notification or escalation [1 participants]