{"repo":"NousResearch/hermes-agent","public_id":"95514","display_label":"Desktop persistence and prompt-cache bug fixes","summary":"These issues and pull requests address bugs in desktop chat persistence—particularly streamed assistant responses being lost or not saved—alongside a batch of prompt-cache fixes. No single resolution status should be assumed.","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":97704,"merged_at":"2026-08-29T06:03:06+00:00"},"resolution":{"state":"unresolved","by":null},"freshness":{"state":"verified","last_verified_at":"2026-08-29T06:03:06+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":95514,"pr_number":97704,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-29T06:03:06+00:00"},{"issue_number":96570,"pr_number":97704,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-29T06:03:06+00:00"},{"issue_number":96597,"pr_number":97704,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-29T06:03:06+00:00"},{"issue_number":96811,"pr_number":97704,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-29T06:03:06+00:00"},{"issue_number":97281,"pr_number":97704,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-29T06:03:06+00:00"}],"members":[{"kind":"issue","number":95514,"title":"Desktop: Shift+Tab during response rendering permanently drops final assistant message (never persisted)","url":null,"state":"closed"},{"kind":"pr","number":95822,"title":"fix(desktop): durably retain streamed assistant responses","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"970cd83146677b7c0d3b2a2798e7650537b2de9c","number":0},{"kind":"commit","value":"35328345d5e3b5badc47271bdb8828e1fd2d25f4","number":0},{"kind":"pr","value":"#95514","number":95514},{"kind":"pr","value":"#95886","number":95886},{"kind":"pr","value":"#95822","number":95822}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":95886,"title":"fix(desktop): preserve streamed assistant text and unify atomic persistence (#95514)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#97704","number":97704}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":97704,"title":"fix: P0 batch — five prompt-cache fixes + two desktop persistence fixes (salvage of #97618 #96755 #97327 #96768 #96608 #95886)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/bedrock_adapter.py","agent/chat_completion_helpers.py","agent/prompt_cache_boundary.py","agent/prompt_caching.py","agent/transcript_repair.py","agent/transports/chat_completions.py","agent/turn_finalizer.py","apps/desktop/electron/gateway-file-download-transport.test.ts","apps/desktop/electron/gateway-file-download.fs.test.ts","apps/desktop/electron/gateway-file-download.test.ts","apps/desktop/electron/gateway-file-download.ts","apps/desktop/electron/main.ts","apps/desktop/src/app/session/hooks/use-message-stream/index.ts","apps/desktop/src/app/session/hooks/use-message-stream/session-info-side-effects.test.tsx","apps/desktop/src/lib/chat-messages.test.ts","apps/desktop/src/lib/chat-messages/parts.ts","contributors/emails/[redacted:email]","contributors/emails/[redacted:email]","hermes_state.py","run_agent.py","tests/agent/test_bedrock_adapter.py","tests/agent/test_prompt_cache_boundary.py","tests/agent/test_prompt_cache_scope.py","tests/agent/test_system_prompt_restore.py","tests/agent/test_turn_finalizer_final_response_persistence.py","tests/agent/transports/test_chat_completions.py","tests/run_agent/test_tool_call_incremental_persistence.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}