{"repo":"NousResearch/hermes-agent","public_id":"24604","display_label":"Thread-safety fix for gateway progress_callback state","summary":"A bug report and multiple related fix attempts addressing unguarded shared state (last_progress_msg/repeat_count) in the gateway's progress_callback, which is called concurrently by ThreadPoolExecutor workers. The fixes add threading.Lock to protect that deduplication state.","subsystem":"gateway","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":0,"attempt_prs":3},"landed_fix":null,"resolution":{"state":"unresolved","by":null},"freshness":{"state":"never_verified","last_verified_at":null,"is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[],"members":[{"kind":"issue","number":24604,"title":"[Bug]: gateway progress_callback has unguarded shared state (last_progress_msg / repeat_count) called from concurrent ThreadPoolExecutor workers","url":null,"state":"closed"},{"kind":"pr","number":24607,"title":"fix(gateway): lock dedup state in progress_callback against concurrent tool workers","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#24742","number":24742}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":24643,"title":"fix(gateway): add threading.Lock to progress_callback dedup state (closes #24604)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#24742","number":24742}],"category":"superseded_by_pr","implication":"superseded"},"merged":false,"is_fix_pr":true,"fix_tier":"suggested","fix_detail_withheld":true},{"kind":"pr","number":24742,"title":"fix(gateway): lock progress_callback dedup state against concurrent workers","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#24607","number":24607},{"kind":"pr","value":"#24604","number":24604},{"kind":"pr","value":"#24643","number":24643}],"category":"duplicate_of","implication":"duplicate"},"merged":false}],"trust":{"default_tier":"verified","includes_suggested":false}}