{"repo":"NousResearch/hermes-agent","public_id":"113031","display_label":"Heartbeat silence marker handling and warning spam","summary":"These items concern a bug where silence markers on heartbeat-injected turns are incorrectly rejected by the human-silence guard, causing repeated warning spam, and related fixes to ensure scheduled heartbeats can end silently without emitting spurious progress signals.","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":113191,"merged_at":"2026-09-17T00:23:01+00:00"},"resolution":{"state":"resolved","by":"pr-113191"},"freshness":{"state":"verified","last_verified_at":"2026-09-17T00:23:01+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.6666666666666666},"fix_edges":[{"issue_number":112149,"pr_number":113191,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T00:23:01+00:00"},{"issue_number":113031,"pr_number":113191,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-09-17T00:23:01+00:00"}],"members":[{"kind":"issue","number":113031,"title":"[Bug] NO_REPLY silence marker on heartbeat turns rejected by the human-silence guard (warning spam every interval)","url":null,"state":"closed"},{"kind":"pr","number":113050,"title":"fix(gateway): let heartbeat-injected turns keep their silence markers","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"680735174a","number":0},{"kind":"commit","value":"98f758ae7e","number":0},{"kind":"pr","value":"#113191","number":113191},{"kind":"pr","value":"#113031","number":113031},{"kind":"pr","value":"#112279","number":112279}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":113191,"title":"fix(gateway): scheduled heartbeats can end silently and emit no progress bubbles (#113031, #112149, salvage #112160, #112279, #113050, #112327)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["gateway/platforms/base.py","gateway/response_filters.py","gateway/run_goals.py","gateway/run_turn.py","gateway/run_turn_runner.py","gateway/turn_context.py","tests/gateway/test_gateway_silence_tokens.py","tests/gateway/test_heartbeat_poller.py","tests/gateway/test_run_progress_topics.py","website/docs/user-guide/features/goals.md","website/docs/user-guide/features/heartbeat.md","website/docs/user-guide/features/loops.md"]}],"trust":{"default_tier":"verified","includes_suggested":false}}