{"repo":"NousResearch/hermes-agent","public_id":"138952","display_label":"Desktop live-session model/reasoning changes and stale_generation errors","summary":"These members appear to concern the desktop app's handling of live-session model or reasoning-option changes, with one bug report describing repeated `stale_generation` failures from a retained `session.mutate` carrying an outdated `expected_generation`. The other two are fix-oriented items touching related behavior (next-turn application of a model pick, and retiring stale generation mutations); the titles alone don't establish their outcome.","subsystem":"apps/desktop","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":139604,"merged_at":"2026-10-16T09:41:46+00:00"},"resolution":{"state":"resolved","by":"pr-139604"},"freshness":{"state":"verified","last_verified_at":"2026-10-16T09:41:46+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":138771,"pr_number":139604,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-16T09:41:46+00:00"},{"issue_number":138790,"pr_number":139604,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-16T09:41:46+00:00"},{"issue_number":138952,"pr_number":139604,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-10-16T09:41:46+00:00"}],"members":[{"kind":"issue","number":138952,"title":"[Bug]: Desktop: changing reasoning effort repeatedly fails with `stale_generation` (\"模型选项更新失败\") — retained `session.mutate` keeps a stale `expected_generation`","url":null,"state":"closed"},{"kind":"pr","number":138959,"title":"fix(desktop): retire stale generation mutations","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#139604","number":139604}],"category":"uncategorized","implication":"needs_llm"},"merged":false},{"kind":"pr","number":139604,"title":"fix(gateway,desktop): a live-session model pick applies to the next turn or says why not","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["apps/desktop/src/api/canonical-live-pick.test.ts","apps/desktop/src/api/canonical-protocol.ts","apps/desktop/src/api/canonical-retained-mutation-stale.test.ts","apps/desktop/src/api/client.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/deferred-pick.test.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/deferred-pick.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/index.ts","apps/desktop/src/app/session/hooks/use-model-controls.test.tsx","apps/desktop/src/app/session/hooks/use-model-controls.ts","apps/desktop/src/i18n/ar_chrome.ts","apps/desktop/src/i18n/de_model_menu.ts","apps/desktop/src/i18n/en_model_menu.ts","apps/desktop/src/i18n/es_model_menu.ts","apps/desktop/src/i18n/fr_model_menu.ts","apps/desktop/src/i18n/ja_model_menu.ts","apps/desktop/src/i18n/ru_model_menu.ts","apps/desktop/src/i18n/types_model_menu.ts","apps/desktop/src/i18n/zh-hant_chrome.ts","apps/desktop/src/i18n/zh_model_menu.ts","gateway/session_authority.py","gateway/session_controls.py","gateway/session_deferred_pick.py","gateway/session_mutations.py","hermes_state_mutation_prepared.py","hermes_state_mutation_retirement.py","hermes_state_runtime.py","locales/_keys.desktop.json","locales/_keys.tui.json","locales/af.tui.yaml","locales/ar.tui.yaml","locales/de.tui.yaml","locales/es.tui.yaml","locales/fr.tui.yaml","locales/ga.tui.yaml","locales/hu.tui.yaml","locales/it.tui.yaml","locales/ja.tui.yaml","locales/ko.tui.yaml","locales/pt.tui.yaml","locales/ru.tui.yaml","locales/tr.tui.yaml","locales/uk.tui.yaml","locales/zh-hant.tui.yaml","locales/zh.tui.yaml","tests/gateway/test_session_deferred_pick_restart.py","tests/gateway/test_session_mutation_model_busy.py","ui-tui/src/__tests__/canonicalSessionControls.test.ts","ui-tui/src/__tests__/createGatewayEventHandler.deferredPick.test.ts","ui-tui/src/app/createGatewayEventHandler.ts","ui-tui/src/app/slash/canonicalSessionControls.ts","ui-tui/src/i18n/en/slashCmd/session.ts"]}],"trust":{"default_tier":"verified","includes_suggested":false}}