{"repo":"NousResearch/hermes-agent","public_id":"95293","display_label":"Bots mode model-switch confirm_required handling","summary":"These items concern a gap in the desktop Bots mode where model switches that return confirm_required are not properly handled, leaving certain contributor-tier models unselectable. The cluster covers the UX picker behavior, a confirm handshake guard, and related observability work around this flow.","subsystem":null,"counts":{"members":3,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":1},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":95983,"merged_at":"2026-08-27T04:38:42+00:00"},"resolution":{"state":"resolved","by":"pr-95983"},"freshness":{"state":"verified","last_verified_at":"2026-08-27T04:38:42+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":95293,"pr_number":95983,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-27T04:38:42+00:00"},{"issue_number":95420,"pr_number":95983,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-27T04:38:42+00:00"},{"issue_number":95421,"pr_number":95983,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-27T04:38:42+00:00"},{"issue_number":95446,"pr_number":95983,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-27T04:38:42+00:00"}],"members":[{"kind":"issue","number":95293,"title":"Desktop (Bots mode) silently drops model switches returning confirm_required — contributor-tier models (muse-spark) unselectable","url":null,"state":"closed"},{"kind":"pr","number":95350,"title":"fix(desktop): honor gateway confirm_required on model switches (Bots mode)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#87971","number":87971},{"kind":"pr","value":"#90796","number":90796},{"kind":"pr","value":"#91966","number":91966},{"kind":"pr","value":"#92492","number":92492},{"kind":"pr","value":"#94610","number":94610}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":95983,"title":"salvage(final-wave): UX/picker cluster — Bots picker settles, refresh reconcile × confirm guard, Bots guarded-switch confirm handshake (#95293), dial observability pair","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/app/session/hooks/use-model-controls.ts","apps/desktop/src/app/shell/model-menu-panel.test.tsx","apps/desktop/src/app/shell/model-menu-panel.tsx","apps/desktop/src/lib/guarded-model-switch.ts","apps/desktop/src/lib/model-options.test.ts","apps/desktop/src/lib/model-options.ts","apps/desktop/src/plugins/hermes-bots/plugin.js","apps/desktop/src/plugins/hermes-bots/tests/bot-attention-badge.test.mjs","apps/desktop/src/plugins/hermes-bots/tests/embed-skills-view.test.mjs","apps/desktop/src/plugins/hermes-bots/tests/group-activity.test.mjs","apps/desktop/src/plugins/hermes-bots/tests/model-picker-settle.test.mjs","apps/desktop/src/plugins/hermes-bots/tests/model-switch-confirm.test.mjs","apps/desktop/src/sdk/index.ts","apps/desktop/src/store/gateway.test.ts","apps/desktop/src/store/gateway.ts","tests/tui_gateway/test_profiles_configure_model_guard.py","tui_gateway/methods_profiles.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}