c9ce66e25e
Backend: /api/status now carries a stable random install_id persisted once under the root HERMES_HOME, shared by every profile of the install. Desktop: roster enumeration captures it per connection (TTL-cached probe), buildAgentRoster collapses same-install rows with a deterministic canonical pick (active > local > ssh > remote > cloud > earliest), the @name-device handle rule runs after the collapse, and Settings → Gateways shows a display-only 'Same backend as' hint. Backends without install_id bypass the collapse (fully backward compatible).