{"repo":"NousResearch/hermes-agent","public_id":"85433","display_label":"Gateway drain marker TTL fix and related issue","summary":"These items address a bug where orphaned drain marker files lack expiration, causing the gateway to indefinitely bounce messages. The fix introduces a max-age expiry for same-epoch orphaned drain markers to prevent a leaked marker from wedging the gateway.","subsystem":null,"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":85444,"merged_at":"2026-08-13T17:53:49+00:00"},"resolution":{"state":"resolved","by":"pr-85444"},"freshness":{"state":"verified","last_verified_at":"2026-08-13T17:53:49+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":85433,"pr_number":85444,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-13T17:53:49+00:00"}],"members":[{"kind":"issue","number":85433,"title":"Gateway: same-epoch orphaned .drain_request.json has no TTL — agent bounces every message indefinitely (\"draining for a maintenance action\")","url":null,"state":"closed"},{"kind":"pr","number":85444,"title":"fix(gateway): expire orphaned drain markers past a max-age so a leaked marker can't wedge the gateway","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/drain_control.py","tests/gateway/test_external_drain_control.py"]},{"kind":"pr","number":85447,"title":"fix(gateway): expire same-epoch orphaned drain markers past a max-age (#85433)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"88557667162f1fc875be6bfa38ba68191d7a8252","number":0},{"kind":"pr","value":"#85433","number":85433}],"category":"superseded_by_pr","implication":"superseded"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}