{"repo":"NousResearch/hermes-agent","public_id":"12099","display_label":"Gateway session key isolation across profiles and AI peers","summary":"These issues and PRs address a problem where session keys are hardcoded or insufficiently scoped, causing multiple profiles or AI peers sharing a workspace to collide on the same session. Work spans key derivation, profile-based routing, and related UX for peer configuration.","subsystem":"agent","counts":{"members":10,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":3,"merged_prs":1,"attempt_prs":6},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":109328},"resolution":{"state":"partially_resolved","by":"pr-109328"},"freshness":{"state":"verified","last_verified_at":"2026-09-13T13:35:40+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_PARTIAL","link_density":0.17155555555555554},"fix_edges":[{"issue_number":33485,"pr_number":109328,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":39129,"pr_number":109328,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":60616,"pr_number":109328,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":71461,"pr_number":109328,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":97639,"pr_number":109328,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":98936,"pr_number":109328,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false}],"members":[{"kind":"issue","number":12099,"title":"build_session_key() hardcodes 'agent:main', breaking multi-profile session isolation","url":null,"state":"closed"},{"kind":"issue","number":36160,"title":"feat(honcho): isolate Honcho session per profile when multiple profiles share one external chat (sessionPeerPrefix + ai_peer for gateway_session_key)","url":null,"state":"closed"},{"kind":"issue","number":39129,"title":"Honcho: AI peers sharing a workspace collide on one session via gateway_session_key","url":null,"state":"closed"},{"kind":"pr","number":12102,"title":"[codex] fix gateway session key isolation for named profiles","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"d82f9fa7f","number":0},{"kind":"pr","value":"#12099","number":12099}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":12103,"title":"fix(session): derive profile from HERMES_HOME instead of hardcoding 'main'","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":12266,"title":"fix(session): scope build_session_key by active profile, preserve default (#12099)","url":null,"state":"closed","close_reason":{"category":"stale_abandoned","implication":"active"},"merged":false},{"kind":"pr","number":36820,"title":"fix(memory): prefix Honcho gateway session key with ai_peer (#36160)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"d82f9fa7f7197b0a7e5246ca42802f96fbb7b734","number":0}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":39130,"title":"feat(honcho): add sessionAiPeerPrefix to isolate sessions per AI peer","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"476dbfed3a","number":0},{"kind":"pr","value":"#109328","number":109328}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":83981,"title":"feat(honcho): gateway identity UX — peer-model wizard copy, sessionAiPeerPrefix, interactive peers map","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"476dbfed3a","number":0},{"kind":"pr","value":"#109328","number":109328}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":109328,"title":"Honcho gateway identity: wizard copy, 'peers map', sessionAiPeerPrefix (salvage #83981, #39130)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","plugins/memory/honcho/README.md","plugins/memory/honcho/__init__.py","plugins/memory/honcho/cli.py","plugins/memory/honcho/client.py","plugins/memory/honcho/config_schema.py","plugins/memory/honcho/dialectic.py","plugins/memory/honcho/recall_sync.py","plugins/memory/honcho/session.py","plugins/memory/honcho/session_context.py","plugins/memory/honcho/session_migration.py","plugins/memory/honcho/session_peers.py","tests/agent/test_memory_user_id.py","tests/honcho_plugin/test_a2a_sessions.py","tests/honcho_plugin/test_async_memory.py","tests/honcho_plugin/test_auth_recovery.py","tests/honcho_plugin/test_cli.py","tests/honcho_plugin/test_identity_signature.py","tests/honcho_plugin/test_peers_map.py","tests/honcho_plugin/test_pin_peer_name.py","tests/honcho_plugin/test_recall_sync.py","tests/honcho_plugin/test_session.py","tests/honcho_plugin/test_session_ai_peer_prefix.py","tests/honcho_plugin/test_shutdown.py","tests/honcho_plugin/test_turn_author_peers.py","tests/plugins/memory/test_provider_threads_inherit_profile.py","tests/test_honcho_session_cache_bounds.py","tests/test_honcho_session_context.py","tests/test_honcho_startup_fail_open.py","tests/test_honcho_summary_sanitize.py","tests/test_tui_gateway_server.py","tests/tui_gateway/test_compute_host_turn_protocol.py","tui_gateway/compute_host.py","tui_gateway/compute_host_bridge.py","tui_gateway/methods_session.py","tui_gateway/server.py","tui_gateway/session_transports.py","tui_gateway/ws.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}