{"repo":"NousResearch/hermes-agent","public_id":"96570","display_label":"Prompt cache correctness and session key fixes","summary":"These items concern bugs and fixes in prompt-cache behavior, including affinity/conversation key handling, scope isolation, and session-level system prompt persistence that causes cache misses in group chat.","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":96570,"title":"Group chat sessions: stored system prompt is null every turn — rebuilt from scratch, prefix cache always misses","url":null,"state":"closed"},{"kind":"pr","number":96768,"title":"test(cache): pin the prompt-cache scope isolation invariant for per-response session ids","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#97704","number":97704}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":97158,"title":"fix(cache): honor the host-declared conversation key on the affinity-key path","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#96811","number":96811},{"kind":"pr","value":"#79017","number":79017},{"kind":"pr","value":"#86733","number":86733},{"kind":"pr","value":"#97709","number":97709},{"kind":"pr","value":"#98170","number":98170}],"category":"uncategorized","implication":"needs_llm"},"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}}