{"repo":"NousResearch/hermes-agent","public_id":"93251","display_label":"parallel tool call result loss and ID mismatch fixes","summary":"These issues and fixes address scenarios where parallel tool call results are silently lost, covering mismatched tool ID/call_id variants across pairing sites and oversized batches that drop all results instead of surfacing an error.","subsystem":null,"counts":{"members":5,"open_issues":0,"open_issues_distinct":0,"open_prs":0,"closed_issues":1,"merged_prs":2,"attempt_prs":2},"landed_fix":{"status":"merged_to_main","basis":"structural","pr":93401,"merged_at":"2026-08-24T01:24:44+00:00"},"resolution":{"state":"resolved","by":"pr-93329"},"freshness":{"state":"verified","last_verified_at":"2026-08-24T01:24:44+00:00","is_stale":false},"grouping":{"backbone":"STRUCTURAL_SPANNING","link_density":0.4},"fix_edges":[{"issue_number":55626,"pr_number":93329,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-24T00:01:20+00:00"},{"issue_number":63000,"pr_number":93329,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-24T00:01:20+00:00"},{"issue_number":63000,"pr_number":93401,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-24T01:24:44+00:00"},{"issue_number":91762,"pr_number":93329,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-24T00:01:20+00:00"},{"issue_number":93251,"pr_number":93329,"tier":"verified","basis":"closing_ref","confidence":0.95,"recoverable_from_timeline":true,"pr_merged_at":"2026-08-24T00:01:20+00:00"},{"issue_number":93251,"pr_number":93401,"tier":"verified","basis":"superseded_ref","confidence":0.9,"recoverable_from_timeline":false,"pr_merged_at":"2026-08-24T01:24:44+00:00"}],"members":[{"kind":"issue","number":93251,"title":"Parallel tool batches of >=4 calls lose ALL results ('Result unavailable' for every call in batch)","url":null,"state":"closed"},{"kind":"pr","number":93298,"title":"fix(tools): deny oversized tool-call batches visibly instead of losing every result","url":null,"state":"closed","close_reason":{"refs":[{"kind":"pr","value":"#93251","number":93251},{"kind":"pr","value":"#93329","number":93329}],"category":"implemented_elsewhere","implication":"superseded"},"merged":false},{"kind":"pr","number":93329,"title":"fix(agent): tool results survive divergent id/call_id variants at all four pairing sites (#93251, salvages #56148 #58287 #66974 #91768)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/agent_runtime_helpers.py","agent/context_compressor.py","tests/agent/test_context_compressor.py","tests/run_agent/test_message_sequence_repair.py","tests/run_agent/test_run_agent.py"]},{"kind":"pr","number":93335,"title":"fix(agent): preserve parallel tool results across ID variants","url":null,"state":"closed","close_reason":{"refs":[{"kind":"commit","value":"a2a43f7e82","number":0},{"kind":"pr","value":"#93401","number":93401},{"kind":"pr","value":"#93329","number":93329},{"kind":"pr","value":"#79278","number":79278},{"kind":"pr","value":"#91768","number":91768},{"kind":"pr","value":"#63000","number":63000}],"category":"merged_via","implication":"superseded"},"merged":false},{"kind":"pr","number":93401,"title":"fix(agent): composite and response_item_id spellings pair correctly; results born on canonical ids (#63000, salvage #93335)","url":null,"state":"merged","close_reason":{"category":"merged"},"merged":true,"is_fix_pr":true,"fix_tier":"verified","files_changed":["agent/agent_runtime_helpers.py","agent/context_compressor.py","agent/conversation_loop.py","agent/message_sanitization.py","agent/tool_dispatch_helpers.py","agent/tool_executor.py","tests/agent/test_tool_dispatch_helpers.py","tests/run_agent/test_message_sequence_repair.py"]}],"trust":{"default_tier":"verified","includes_suggested":false}}