Files
hermes-agent/tools
teknium1 24b1c32bd2 fix(terminal,api-server): trim profile qualification of session-derived sandbox keys (#123989, salvage #124057 + #123991)
Fold the two salvaged fixes to the class and the salvage bar:

- tools/terminal_tool.py: `_qualify_task_key` reuses `_routed_home_task_key`
  instead of a duplicate qualifier; branch 2 (session-isolated sandboxes) AND
  branch 3's `session:<key>` (SSH-style backends) carry the routed profile, so a
  session id two profiles share (header-less API fingerprint, a DM chat id served
  by two bots) never resolves to one `_active_environments` slot. Cwd records
  keep the symmetric qualification. No routed home → raw key, unchanged.
- gateway/platforms/api_server.py: `_derive_chat_session_id` namespaces only
  named routed profiles, so default/standalone ids are byte-identical and live
  Open WebUI conversations survive the upgrade.
- Tests trimmed to two invariants: A→B→A across two temp profile homes under
  multiplex (distinct sandbox keys, alias follows the qualified parent, cwd
  isolated per profile), and derived-id namespacing without moving default.
  Both fail on 5912ed81ed, pass here.
2026-09-28 04:34:30 -07:00
..
…