# NousResearch/hermes-agent · Adding retry logic to peer DM transient failures

## Open now

- Nothing open on GitHub.

These items address a missing retry policy in the peer DM transport, which unlike local and relayed DM lanes did not retry on transient turn failures. Changes span the peer, API server, and gateway layers.

## TL;DR

- 4 member(s): 0 open issue(s), 1 closed issue(s), 0 open PR(s), 1 merged PR(s), 2 PR(s) closed without merging.
- A fix was merged to main in PR #116964. Verify it addresses your case.
- **Recommended:** read PR #116964 (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-116964`. 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.67`: 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

- #115325: hermes peer dm never retries a transient turn failure — the third DM transport is missing the retry policy local and relayed DMs share (#93091 item 5)

## Prior & competing PRs

- **#116964: fix(peer): hermes peer dm retries a transient turn once and hides a bare silence marker (#115325, salvage #115380 #111992)**. merged to main · fix tier `verified`
  - maintainer direction: category `merged`
  - files: `agent/session_persistence.py`, `gateway/platforms/api_server.py`, `hermes_cli/quiet_single_query.py`, `hermes_cli/subcommands/peer.py`, `tests/gateway/test_peer_dm_transient_retry.py`, `tests/hermes_cli/test_peer_cmd.py`, `tools/bot_failure_reasons.py`
- **#115378: fix(api-server): retry transient peer-DM turn failures (#115325)**. closed without merge
  - maintainer direction: category `implemented_elsewhere`; implication `superseded`; refs `#116964`, `#115325`, `#115378`
- **#115380: fix(gateway): a peer DM retries a transient turn failure once, like the other two lanes**. closed without merge
  - maintainer direction: category `merged_via`; implication `superseded`; refs `#116964`, `#115380`, `#115325`

## Fix status

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