{"repo":"NousResearch/hermes-agent","public_id":"119543","display_label":"Desktop stale stream delta duplication fixes","summary":"A cluster of issues and fixes addressing stale or superseded streaming deltas on desktop that could cause previous message text to appear duplicated or dropped at turn boundaries. The work involves guarding against out-of-order stream events across turn transitions.","subsystem":"apps/desktop","counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":3},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":120601},"resolution":{"state":"resolved","by":"pr-120601"},"freshness":{"state":"verified","last_verified_at":"2026-09-23T20:00:48+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":119014,"pr_number":120601,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false},{"issue_number":119543,"pr_number":120601,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":119569,"pr_number":120601,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true},{"issue_number":120580,"pr_number":120601,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":119543,"title":"Desktop: stale background-review stream can visibly duplicate previous message text before new turn starts","url":null,"state":"closed"},{"kind":"pr","number":119556,"title":"fix(desktop): fence stale pre-start stream deltas","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#120601","number":120601},{"kind":"pr","value":"#119543","number":119543}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":119571,"title":"fix(desktop): drop superseded-turn delta orphans at message.start","url":null,"state":"closed","close_reason":{"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":119673,"title":"fix(desktop): guard against stale message.complete across turn boundary","url":null,"state":"closed","close_reason":{"category":"silent_close","implication":"active"},"merged":false},{"kind":"pr","number":120601,"title":"fix: background-review supersede no longer duplicates or drops desktop replies; fork turns tagged in logs","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/background_review.py","agent/turn_context.py","agent/turn_finalizer.py","apps/desktop/src/app/session/hooks/use-message-stream/background-review-interrupt.test.tsx","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/index.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/message-stream.test.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/message-stream.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/session-info.ts","apps/desktop/src/app/session/hooks/use-message-stream/gateway-event/types.ts","apps/desktop/src/app/session/hooks/use-message-stream/heartbeat-complete-reorder.test.tsx","apps/desktop/src/app/session/hooks/use-message-stream/index.ts","apps/desktop/src/app/session/hooks/use-prompt-actions/steering-recovery.test.tsx","apps/desktop/src/app/types.ts","tests/agent/test_background_review.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}