# NousResearch/hermes-agent · Bot DM retry and output stream classification fixes

## Open now

- Nothing open on GitHub.

These items address bugs in bot-mode DM delivery retry logic, specifically that retries never fired due to incorrect stream classification (reading stderr when the CLI writes errors to stdout), and that fixing the classifier risked double-delivery. Related work also covers dropped stdout in \`failed\` cron bot chat delivery logging.

## TL;DR

- 4 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 2 merged PR(s), 1 PR(s) closed without merging.
- A fix was merged to main in PR #113183. Verify it addresses your case.
- **Recommended:** read PR #113183 (and any competing PRs below) before filing. Confirm the merged change covers your symptom.

## Maintainer resolution verdict

- Internal-tracker verdict over this cluster's issue members: `resolved` · deciding PR(s): `pr-113183`. This is distinct from the fix status above. Weigh it yourself.

## How this cluster was grouped

- Link evidence (`STRUCTURAL_SPANNING`): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
- Pairwise link density `0.50`: the share of member pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36. `1.00` means every pair is linked.

## Closed / duplicate issues

- #111721: \[Bug\]: neither bot-to-bot DM delivery retry ever fires — the classifier reads \`(proc.stderr or proc.stdout)\` but the CLI writes the provider error to stdout; fixing that alone double-delivers the DM

## Prior & competing PRs

- **#113183: fix(bot-mode): a bot DM's transient-failure retry fires and delivers exactly once (#111721, salvage #105529)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `cli.py`, `hermes_cli/quiet_single_query.py`, `tests/hermes_cli/test_quiet_single_query.py`, `tests/tools/test_bot_retry_policy.py`, `tools/bot_failure_reasons.py`, `tools/bot_mode_dm.py`, `tools/bot_relay.py`, `tui_gateway/methods_bot_relay.py`, `website/docs/user-guide/bot-mode.md`
- **#113435: fix(cron): a failed Bot Chat delivery records the exit code and both streams (stdout no longer dropped when stderr is present) (#104056, salvage #104068)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `cron/scheduler_delivery.py`, `tests/cron/test_cron_bot_chat_delivery.py`
- **#105529: fix(bot-mode): neither DM delivery retry ever fired — classify from the stream the CLI actually writes**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `3719e04d7448`, `#113435`

## Fix status

- Merged to main in PR #113183 (cited above). No release data is tracked. Verify downstream.
- Fix last verified (merged) `2026-09-17`.
