hermes - 💡(How to fix) Fix [Bug]: The steer infromation injected in tool result may be truncated. [1 pull requests]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

Error Message

Additional Logs / Traceback (optional)

Root Cause

Root Cause Analysis (optional)

Fix Action

Fixed

Code Example

none

---
RAW_BUFFERClick to expand / collapse

Bug Description

Accoding to the impl in tool_executor.py, the steer information is drained and injected per-tool, at the end of tool result. But then the method "enforce_turn_budget" may truncate large tool result, even if the steer was injected. This issue exists in both concurrent and sequential ways, but the fix plans are different.

Steps to Reproduce

  1. Create a tool(name it “X”), who sleeps several seconds and returns over 2000 characters.
  2. Trigger the model for 5 sequential "X" tool calls.
  3. During the calls of "X", try the steer mechnism, for example, ask the model the weather of somewhere.
  4. When the model sees the results of tool calls, the steer information is missing.

Expected Behavior

the steer information during tool calls, should always be seen by the model.

Actual Behavior

the steer information during tool calls, may be missing if it's attached to a large tool result.

Affected Component

Tools (terminal, file ops, web, code execution, etc.)

Messaging Platform (if gateway-related)

No response

Debug Report

none

Operating System

Win10 + WSL2

Python Version

No response

Hermes Version

No response

Additional Logs / Traceback (optional)

Root Cause Analysis (optional)

No response

Proposed Fix (optional)

Concurrent tool calls: remove the per-tool "_apply_pending_steer_to_tool_results" invocation: the post-execution is a very small time window, inject the steer information after "enforce_turn_budget" is enough.

Sequential tool calls: in this case the steer information should be bound to some tool result, because it infers timestamp/order information. I would suggest that do drain the steer text but no infection per tool, just record the tool result's idx and the steer text in a list. Do the injection after "enforce_turn_budget".

BTW, the budget of steer text should be under control.

Are you willing to submit a PR for this?

  • I'd like to fix this myself and submit a PR

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

hermes - 💡(How to fix) Fix [Bug]: The steer infromation injected in tool result may be truncated. [1 pull requests]