{"repo":"NousResearch/hermes-agent","public_id":"106260","display_label":"Agent context-overflow stream recovery death spiral fix","summary":"A bug where partial-stream failures during context overflow caused recovery stubs to monotonically grow the context, making sessions unrecoverable. These issues and fixes address dropping or handling the partial fragment to break the repeating overflow cycle.","subsystem":null,"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":106567},"resolution":{"state":"resolved","by":"pr-106567"},"freshness":{"state":"verified","last_verified_at":"2026-09-09T12:15:13+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":106260,"pr_number":106567,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true}],"members":[{"kind":"issue","number":106260,"title":"[Bug] Stream-failure recovery stubs grow the context monotonically; with protect_last_n covering the whole transcript the session becomes unrecoverable","url":null,"state":"closed"},{"kind":"pr","number":106264,"title":"fix(agent): drop partial-stream fragment on context-overflow to break the death spiral","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#106266","number":106266}],"category":"superseded_by_pr","implication":"superseded"},"merged":false},{"kind":"pr","number":106275,"title":"fix(agent): stop overflowing partial stream recovery (#106260)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"1b4207b84ef3178ada45af055954dea7ab16a78d","number":0},{"kind":"pr","value":"#106915","number":106915},{"kind":"pr","value":"#106915","number":106915}],"category":"partial_fix","implication":"needs_llm"},"merged":false},{"kind":"pr","number":106567,"title":"Context-overflow after partial streaming ends the turn instead of growing the request (#106260, salvage #106266)","url":null,"state":"merged","close_reason":{"category":"merged","implication":"superseded"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/chat_completion_helpers.py","agent/turn_truncation.py","tests/run_agent/test_overflow_partial_terminal_106260.py"]},{"kind":"pr","number":106569,"title":"fix(agent): context-overflow stream deaths no longer grow the next request into a death spiral (#106260, salvage #106266)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#106567","number":106567},{"kind":"pr","value":"#106266","number":106266},{"kind":"pr","value":"#106260","number":106260},{"kind":"pr","value":"#106567","number":106567}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}