{"repo":"NousResearch/hermes-agent","public_id":"70724","display_label":"Tool call ID deduplication bug and fixes in agent","summary":"A bug where tool results were dropped when a server reused a tool_call_id, causing the agent to stop mid-task. Multiple fix attempts scope the deduplication logic to per-assistant-message to preserve all tool results.","subsystem":"agent","counts":{"members":4,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":1,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":88324,"merged_at":"2026-08-17T10:25:08+00:00"},"resolution":{"state":"resolved","by":"pr-88324"},"freshness":{"state":"verified","last_verified_at":"2026-08-17T10:25:08+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.5},"fix_edges":[{"issue_number":64335,"pr_number":88324,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-17T10:25:08+00:00"},{"issue_number":66429,"pr_number":88324,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-17T10:25:08+00:00"},{"issue_number":70724,"pr_number":88324,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-17T10:25:08+00:00"},{"issue_number":70745,"pr_number":88324,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-17T10:25:08+00:00"}],"members":[{"kind":"issue","number":70724,"title":"[Bug]: tool results dropped when the server reuses one tool_call_id (llama.cpp) — agent stops mid-task","url":null,"state":"closed"},{"kind":"pr","number":70734,"title":"fix(agent): keep tool results when a server reuses one tool_call_id","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"df68cc1c1ab6","number":0},{"kind":"pr","value":"#88324","number":88324}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":70843,"title":"fix(agent): scope tool_call_id dedup to per-assistant-message (#70724, #70745)","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"df68cc1c1ab6","number":0},{"kind":"pr","value":"#70724","number":70724},{"kind":"pr","value":"#88324","number":88324},{"kind":"pr","value":"#70734","number":70734},{"kind":"pr","value":"#58327","number":58327},{"kind":"pr","value":"#70745","number":70745}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":88324,"title":"fix(agent): keep tool results when a server reuses one tool_call_id (#70724)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/agent_runtime_helpers.py","tests/run_agent/test_message_sequence_repair.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}