{"repo":"NousResearch/hermes-agent","public_id":"25134","display_label":"TUI session orchestrator and switcher features","summary":"Multiple related proposals and implementations for a terminal UI component that manages and switches between concurrent active sessions. The members appear to cover overlapping or iterative attempts at the same feature area.","subsystem":"hermes_cli","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":32980,"merged_at":"2026-05-27T03:51:59+00:00"},"resolution":{"state":"resolved","by":"pr-32980"},"freshness":{"state":"verified","last_verified_at":"2026-05-27T03:51:59+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":25134,"pr_number":32980,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-05-27T03:51:59+00:00"}],"members":[{"kind":"issue","number":25134,"title":"[Feature]: Concurrent session switcher — live in-terminal panel to switch between active sessions","url":null,"state":"closed"},{"kind":"pr","number":27174,"title":"feat: add live TUI session switcher","url":null,"state":"closed","close_reason":{"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":27642,"title":"feat: add TUI session orchestrator","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"0a83247e9","number":0},{"kind":"pr","value":"#32980","number":32980},{"kind":"pr","value":"#25134","number":25134}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":32980,"title":"feat(tui): add TUI session orchestrator (salvage #27642)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["scripts/release.py","tests/test_tui_gateway_server.py","tui_gateway/server.py","ui-tui/packages/hermes-ink/src/ink/hit-test.test.ts","ui-tui/packages/hermes-ink/src/ink/hit-test.ts","ui-tui/src/__tests__/activeSessionSwitcher.test.ts","ui-tui/src/__tests__/appChromeStatusRule.test.tsx","ui-tui/src/__tests__/createSlashHandler.test.ts","ui-tui/src/__tests__/orchestratorPromptSession.test.ts","ui-tui/src/__tests__/useSessionLifecycle.test.ts","ui-tui/src/app/interfaces.ts","ui-tui/src/app/overlayStore.ts","ui-tui/src/app/slash/commands/session.ts","ui-tui/src/app/turnController.ts","ui-tui/src/app/uiStore.ts","ui-tui/src/app/useInputHandlers.ts","ui-tui/src/app/useMainApp.ts","ui-tui/src/app/useSessionLifecycle.ts","ui-tui/src/components/activeSessionSwitcher.tsx","ui-tui/src/components/appChrome.tsx","ui-tui/src/components/appLayout.tsx","ui-tui/src/components/appOverlays.tsx","ui-tui/src/components/modelPicker.tsx","ui-tui/src/content/hotkeys.ts","ui-tui/src/gatewayTypes.ts","website/docs/developer-guide/programmatic-integration.md","website/docs/reference/slash-commands.md","website/docs/user-guide/tui.md","website/static/img/docs/tui-session-orchestrator/session-orchestrator-demo.mp4","website/static/img/docs/tui-session-orchestrator/session-orchestrator.png"]}],"trust":{"default_tier":"verified","includes_suggested":false}}