Tool call/result pairing and sanitization fixes
NousResearch/hermes-agent · cluster 94704 · agent
Data as of
Nothing open on GitHub. Fix merged in #97167. Check it covers your case.
The short answer
- Known?
- Yes. 6 related items grouped here, 1 issue already closed.
- Fix event
- A fix was merged to main in PR #97167. Check it covers your case. No release data is tracked.
- Tracker
- The maintainers' tracker marks this
resolved, deciding PR #97203. That is separate from the fix event. - Still open
- Nothing open on GitHub.
Multiple fixes addressing how tool_call and tool_result pairs are validated, sanitized, and enforced before API submission. Work covers orphaned or mismatched pairs, positional adjacency requirements, and handling of replayed or historical tool results.
Open issues0
Open PRs0
Fixes on record
-
#97167 fix(agent): tool-pair sanitizers — whitespace ids pair, stale empty tool_calls drop, orphan logic unified (salvage #55845 + #78063 + #59434)
files:
agent/agent_runtime_helpers.py,agent/context_compressor.py,tests/agent/test_context_compressor.py,tests/run_agent/test_message_sequence_repair.py -
#97203 fix: strict positional providers no longer 400 on histories with displaced or replayed tool results — enforce tool_call/tool_result adjacency at both repair layers
files:
agent/agent_runtime_helpers.py,contributors/emails/[redacted:email],contributors/emails/[redacted:email],tests/run_agent/test_message_sequence_repair.py
3 PRs closed without merging
From the close comments: merged via another change 2 · superseded by another PR 1
-
#84481 fix: prune positionally unanswered tool_calls before API send · merged via another change →
#97203,#94704 - #94731 fix(agent): enforce positional tool-result pairing · superseded by another PR
-
#95751 fix: enforce positional tool_call/tool_result pairing before API send (#94704) · merged via another change →
#97203,#97167,#94704
Closed issues · 1
- Closed#94704Pre-call sanitizer accepts historical tool results for replayed calls
How this cluster was grouped
-
Link evidence (
structural links throughout): every member is connected by structural evidence: shared changed files, or a closing/superseded reference. -
Pairwise link density
0.33: the share of item pairs that carry a link, counting a structural link in full and a relevance-only link at 0.36.1.00means every pair is linked.
Pick up a Lab task
Check whether a fix covers the open issues here, with your own agent. Bring back evidence for maintainers.
Open the Lab