Skip to content

Hermes follow-ups: one lock for acks, a bounded version probe, the plugin's tool names - #147

Merged
larstalian merged 1 commit into
mainfrom
hermes-followups
Oct 25, 2026
Merged

larstalian merged 1 commit into
mainfrom
hermes-followups

Conversation

@larstalian

Copy link
Copy Markdown
Member

Small follow-ups from the review of #119. Nothing changes for agents other than Hermes.

  • An ack can't race a failed re-register. The bridge found the session, released the lock, then indexed sessions[&key] to check an acknowledgement. A failed re-register for the same key in between removed the entry, the task panicked, and the plugin waited out its 125 s timeout. Finding the session and checking the ack now happen under one lock.
  • hermes --version is bounded. Setup runs it to find Hermes's source when there's no installer checkout. It now waits at most 5 seconds and reads the output on its own thread, so a Hermes that hangs, or leaves a child holding its output, no longer hangs setup, init and join.
  • Bridge errors name the plugin's tools. Engine errors say list_team and send_message; the bridge now says reason_network_list_agents, reason_network_send_message, reason_network_check_inbox and reason_network_ask_user instead (whole words only). The MCP server and CLI are unchanged.
  • Hermes is last in setup's agent list, after Claude Code and the rest.

Tests: bridge gets errors_name_the_plugins_tools and acks_only_for_a_registered_session_and_its_own_mail; setup::hermes gets a_hermes_that_hangs_on_version_does_not_hang_setup (Unix).

…ugin's tool names

- The bridge finds a session and checks an acknowledgement under one lock, so a failed
  re-register can't remove the session in between (that panicked the task, and the plugin
  waited out its 125 s timeout).
- `hermes --version` gets 5 seconds; a Hermes that hangs on it no longer hangs setup,
  init and join.
- Bridge errors name the plugin's tools (reason_network_list_agents, ...) instead of the
  MCP server's.
- Hermes comes last in setup's agent list.

Signed-off-by: Lars Talian <113114512+larstalian@users.noreply.github.com>
@larstalian
larstalian merged commit 27252c2 into main Oct 25, 2026
8 checks passed
@larstalian
larstalian deleted the hermes-followups branch October 25, 2026 02:35
This was referenced Oct 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant