NVIDIA / NVIDIA/NemoClaw

[DGX Station][Agent&Skills] maximum-iteration summary emits an unexecuted tool call and returns success

Open
#8,133 1 comment 0 reactions 0 assignees View on GitHub
area: cli area: skills integration: hermes NV QA platform: arm64 platform: dgx-station platform: ubuntu
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

## Description

When Hermes reaches the configured maximum iteration count before completing a tool-driven request, the generated summary can contain a new tool call that is never executed. The enclosing `nemohermes exec` command still returns exit code 0 even though the requested artifact is missing.

Platform scope: Reproduced on DGX Station only; other platforms not tested.
Regression: Unknown — earlier versions not tested.

## Environment

```text
Device: DGX Station
OS: Ubuntu 24.04
Architecture: aarch64
Docker: 29.2.1
OpenShell CLI: 0.0.72
NemoClaw: v0.0.84
Hermes Agent: v0.18.0 (2026.7.1)
Model: NVIDIA Nemotron 3 Ultra 550B A55B NVFP4
```

## Steps to Reproduce

1. Configure a Hermes sandbox with an MCP server and the local `nemotron-ultra` route.
2. Submit a tool-driven request that cannot be completed within the iteration limit:

nemohermes {sandbox} exec --timeout 1200 -- \
hermes chat -Q --max-turns 15 -q \
"Use the configured Blender MCP server to complete an OVRTX render and verify the output artifact."

3. Allow the request to reach the maximum iteration count.
4. Inspect the final summary, process exit code, MCP server activity, and requested artifact.

## Expected Result

When the iteration limit is reached before task completion, Hermes should return an explicit incomplete or failed status. The terminal summary should describe only actions that actually occurred, should not contain a new unexecuted tool call, and the wrapper should return a non-zero or machine-readable incomplete result.

## Actual Result

```text
After reporting that the maximum iteration count was reached, the summary emits a new MCP or terminal tool call. That call is not executed because the agent loop has already ended. The requested artifact is missing, but `nemohermes exec` returns exit code 0.

The behavior reproduced with both 15-turn and 30-turn limits. In one corrected 30-turn run, the final summary proposed an MCP call to inspect runtime function signatures rather than completing the render, and the wrapper still returned success.
```

## Logs

```text
Reached maximum iterations (15). Requesting summary...
tool_call:
name: mcp_blender_execute_blender_code
arguments: {proposed Blender Python operation}
HERMES_EXIT_CODE=0

The tool call above was not executed, and the requested output artifact did not exist.
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the provided nemohermes command with the Hermes maximum-iteration limit, then trace maximum-iteration handling, final-summary generation, and the nemohermes exec exit status. Compare the emitted tool call with MCP server activity and artifact existence. Done means incomplete runs report failure or a machine-readable incomplete result, avoid claiming unexecuted calls, and do not return success when the artifact is missing.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, typescript
Domain
ai, backend, cli
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.