{"repo":"NousResearch/hermes-agent","public_id":"120810","display_label":"Bot Chat compression tab duplication fix","summary":"These items address a bug where Bot Chat compression produces duplicate tabs labeled with the bot name. The root cause involves a deduplication guard that fails to detect hidden lineage entries.","subsystem":null,"counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":128992,"merged_at":"2026-09-30T19:40:58+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-09-30T19:40:58+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":120810,"pr_number":128992,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-30T19:40:58+00:00"},{"issue_number":122697,"pr_number":128992,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-30T19:40:58+00:00"},{"issue_number":123034,"pr_number":128992,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-30T19:40:58+00:00"},{"issue_number":125899,"pr_number":128992,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-09-30T19:40:58+00:00"}],"members":[{"kind":"issue","number":120810,"title":"Desktop: a Bot Chat compression leaves two tabs captioned with the bot name; the lineage dedup guard from 202997b51d never sees a hidden lineage","url":null,"state":"closed"},{"kind":"pr","number":120817,"title":"fix(desktop): dedupe hidden Bot Chat compression tabs","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#128992","number":128992}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":122192,"title":"fix(desktop): discard stale Bot Chat tile before opening compression tip","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#128992","number":128992},{"kind":"pr","value":"#122192","number":122192},{"kind":"pr","value":"#120810","number":120810}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":128992,"title":"fix(bot-mode): make bot-to-bot messaging, Bot Chat opens, and lease handoff actually work","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/app/open-session.test.ts","apps/desktop/src/app/open-session.ts","apps/desktop/src/plugins/hermes-bots/bot-row-opens-canonical-chat.test.ts","apps/desktop/src/plugins/hermes-bots/canonical-chat-expect-history.test.ts","apps/desktop/src/plugins/hermes-bots/canonical-chat-stale-tiles.test.ts","apps/desktop/src/plugins/hermes-bots/canonical-chat.ts","apps/desktop/src/plugins/hermes-bots/cold-bot-switch-pending.test.ts","apps/desktop/src/plugins/hermes-bots/recent-session.test.ts","apps/desktop/src/plugins/hermes-bots/recent-session.ts","apps/desktop/src/plugins/hermes-bots/relay.test.ts","apps/desktop/src/plugins/hermes-bots/roster-actions.ts","apps/desktop/src/plugins/hermes-bots/types.ts","apps/desktop/src/sdk/index.ts","apps/desktop/src/store/session-states.test.ts","apps/desktop/src/store/session-states.ts","apps/shared/src/gateway-contract.generated.ts","apps/shared/src/gateway-contract.openrpc.json","contributors/emails/[redacted:email]","hermes_cli/cli_shutdown.py","hermes_state_messages.py","locales/_keys.desktop.json","tests/hermes_cli/test_single_query_session_finalize.py","tests/tools/test_bot_live_owner_delivery.py","tests/tools/test_bot_mode_dm.py","tests/tools/test_oneshot_completion_linger.py","tests/tui_gateway/test_closed_session_turn_lease.py","tests/tui_gateway/test_profile_rebuild_commit.py","tests/tui_gateway/test_profiles_list_canonical_session.py","tools/bot_live_delivery.py","tools/bot_mode_dm.py","tui_gateway/agent_callbacks.py","tui_gateway/contracts/profiles_vault_complete_foreign_subagents.py","tui_gateway/contracts/sessions.py","tui_gateway/methods_profiles.py","tui_gateway/methods_session.py","tui_gateway/prompt_turn.py","website/docs/user-guide/bot-mode.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}