NousResearch/hermes-agent

Bot DM sender attribution and loop guard design

Cluster 103887. Data as of

Nothing open on GitHub. Fix merged in #107520 on 10 Sep 2026. Check it covers your case.

The short answer

0open issues
0open PRs
3items grouped
Known?
Yes. 3 related items grouped here, 1 issue already closed.
Fix event
A fix was merged to main in PR #107520. Check it covers your case. No release data is tracked.
Tracker
The maintainers' tracker marks this resolved, deciding PR #107520. That is separate from the fix event.
Still open
Nothing open on GitHub.

These items address a bug where bot-authored direct messages lack sender identity, causing memory providers to misattribute speech to the recipient. The work involves carrying the bot sender into the recipient's turn and adding a loop guard for bot-to-bot chat scenarios.

Open issues0

No open issues.

Open PRs0

No open pull requests.

Fixes on record

Merged to main. A stamp counts the issues a fix is linked to.

  • #107520 feat(bot-mode): bot DMs carry their sender into the recipient's turn; ALLOW_BOTS chats get a loop guard (#103887, #91481, salvage #103888)

    merged to main

    files: agent/conversation_loop.py, agent/memory_manager.py, agent/memory_provider.py, agent/turn_author.py, agent/turn_context.py, agent/turn_facade.py, apps/desktop/src/plugins/hermes-bots/relay.test.ts, apps/desktop/src/plugins/hermes-bots/relay.ts, cli.py, gateway/authz_mixin.py, gateway/bot_loop_guard.py, gateway/platforms/api_server.py, gateway/platforms/api_server_runs.py, gateway/run.py, gateway/run_agent_cache.py, gateway/run_busy.py, gateway/run_inbound.py, gateway/run_turn_runner.py, hermes_cli/config_defaults.py, hermes_cli/subcommands/peer.py (+29 more)

1 PR closed without merging

From the close comments: merged via another change 1

  • #103888 feat(bot-mode): carry a bot dm's sender into the recipient's turn; cap bot-to-bot loops · merged via another change → 94f77df, #107520, #91483
Closed issues · 1
  • Closed#103887bot mode: a2a dm transports carry no author, so memory providers attribute bot speech to the recipient's user
How this cluster was grouped
  • Link evidence (structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference.
  • Pairwise link density 1.00: the share of item 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.

Pick up a Lab task

Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.

Open the Lab

At a glance

Merged PRs
#107520
Closed issues
1
Attempts
1 PR closed without merging
Fix link checked
10 Sep 2026

For your agent

The same facts, typed.