Files
hermes-agent/tools
John Paul Soliva 9baf3867e7 fix(bot-mode): a connection-qualified message_agent target reaches the relay, not a look-alike local bot
message_agent resolved every target locally first and tried the relay only when that failed.
A connection-qualified target like `hermes@mini` has no exact folder match, so local
resolution fell through to friendly-name alias matching. alias_forms slugifies the '@' into
'-' and also collapses it, so `hermes@mini` became {hermes-mini, hermesmini}. A local bot
titled or named "Hermes Mini" owned that alias: the DM was delivered to it with no relay
envelope queued, and its content landed in the wrong bot's transcript and memory. That
qualified form is exactly what the relay hands out for a remote row whose bare forms collide
(remote_target_forms' handle@connection fallback, #116983), and what qualify_sender_stamp puts
on replies, so replies misrouted the same way.

A target that still carries an '@' after the mention prefix is now tried against the relay
roster first. When it names a remote row it goes to the relay. An '@' friendly name that no
connection answers to still resolves locally, as #113410 made punctuated names do.
2026-09-24 05:30:52 -05:00
..