Skip to content

[DGX Spark][Hermes] current LKG: gateway restart quarantines agent; rebuild can leave registry/live OpenShell divergent #8649

Description

@NickOProjects

Investigation Summary

  • NVIDIA's stock lkg install path resolved to NemoClaw db31c286129e878c3356eed49f76ab259561e47e on DGX Spark; Hermes v0.19.0 and OpenShell 0.0.85 were used with no product patches, custom integrations, or custom MCP bridges.
  • Family A: after supported gateway restart, the sandbox remained live but Hermes stopped; startup reported Hermes config hash does not match persisted inputs / HERMES_MCP_CONFIG_DRIFT and quarantined automatic respawn. The MCP bridge registry was empty and persisted MCP intended / applied digests matched.
  • nemohermes hermes recover failed after 151.553 s and left Hermes Agent: not running; no manual gateway launch or unsupported recovery was attempted.
  • Family B: supported nemoclaw hermes rebuild --yes backed up state, accepted sandbox deletion, could not confirm deletion, and aborted before registry removal/recreation. Subsequent read-only checks consistently showed hermes registered locally but absent from live OpenShell.
  • Observed gateway restart record was 1 success in 3 attempts. A possible correlation with prior work execution was observed but the planned discriminator was never completed, so no causal claim is made.

Description

What happened

I ran a bounded Hermes persistence/lifecycle trial on DGX Spark using the
NVIDIA NemoClaw LKG revision:

db31c286129e878c3356eed49f76ab259561e47e

As of this filing, NVIDIA's installer still defaults to lkg, and the lkg
branch still resolves to the same commit.

Hermes itself successfully accepted, claimed, and executed durable queued work.
Task and session state also survived one earlier successful supported rebuild.

The lifecycle failures appeared in two stages:

Family A — gateway restart / config-integrity quarantine

A supported managed gateway restart left the sandbox live but the Hermes Agent
gateway stopped.

Startup reported:

Hermes config hash does not match persisted inputs

and:

HERMES_MCP_CONFIG_DRIFT: MCP intent cannot be matched to the persisted gateway state; rebuild the sandbox from its NemoClaw registry state

Automatic respawn was then quarantined.

Relevant negative controls:

  • no custom MCP bridges were added
  • managed MCP bridge registry was empty: "bridges": []
  • persisted MCP intended and applied digests were identical
  • no NemoClaw, OpenShell, or Hermes product patches were applied
  • no custom integrations were present

The documented lightweight recovery command:

nemohermes hermes recover

failed after 151.553 seconds and left Hermes Agent: not running.

Family B — supported rebuild / registry-live divergence

Following the recovery failure, I ran the supported command recommended by
NemoClaw:

nemoclaw hermes rebuild --yes

Preflight checks passed and state backup completed. The rebuild then reported:

Sandbox delete was accepted, but OpenShell did not confirm that the sandbox is absent.

and:

Aborting rebuild before registry removal and sandbox recreation.

The command exited 1.

Subsequent read-only checks consistently reported that hermes remained
registered locally but was absent from the live OpenShell gateway.
nemohermes list still listed the sandbox while nemohermes hermes status
exited 1.

No manual reconciliation, restart retry, rebuild retry, onboard, sandbox
deletion, direct gateway launch, patch, or reinstall was performed afterward.

Expected behavior

A supported gateway restart should either return Hermes to a healthy state or
leave a state that the documented recover path can restore without manual
intervention.

A supported rebuild should either complete successfully or fail while leaving
the local NemoClaw registry and live OpenShell gateway in a consistent,
supported state.

Additional version context

I have not rerun this reproducer on v0.0.104.

Because v0.0.104 contains potentially relevant lifecycle changes, I would
appreciate guidance on whether those changes are expected to intersect either
failure family and whether v0.0.104 is expected to advance to lkg.

Reproducibility note

Family A reproduced on 2 of 3 supported gateway restart attempts during this
trial. Family B was observed once during the subsequent supported recovery
sequence and was intentionally not repeated after it left local registry and
live OpenShell state divergent.

Possibly related: #8614 reports Hermes gateway quarantine/rebuild behavior on
v0.0.102 following structural config writes. This report differs because no
comparable custom structural config writes or custom MCP bridges were added,
and it additionally reaches registry/live-OpenShell sandbox divergence.

I am an independent DGX Spark owner/operator and am happy to reproduce a
targeted fix or newer LKG on the same hardware and provide additional sanitized
evidence if useful.

Reproduction Steps

  1. Install/onboard Hermes using stock NemoClaw at
    db31c286129e878c3356eed49f76ab259561e47e
    (the LKG revision used for the trial), with no product patches or custom MCP
    bridges.

  2. Configure sandbox hermes through the supported onboarding path using the
    NVIDIA hosted inference endpoint and
    nvidia/nemotron-3-super-120b-a12b.

  3. Confirm the sandbox and Hermes gateway are healthy with:

    nemohermes hermes status

  4. Use Hermes normally. In this trial it autonomously claimed and completed
    disposable queued/Kanban work.

  5. Perform a supported managed gateway restart:

    nemohermes hermes gateway restart

    Observed restart record across the trial was 1 success in 3 attempts.
    The two failures occurred after normal Hermes work, but a planned clean
    work/no-work discriminator was not completed, so this is not claimed as a
    causal requirement for reproduction.

  6. On failure, check:

    nemohermes hermes status

    Observed: sandbox remained live/Ready but Hermes Agent: not running, with
    startup logging HERMES_MCP_CONFIG_DRIFT and automatic respawn quarantine.

  7. Attempt the documented lightweight recovery:

    nemohermes hermes recover

    Observed: exit 1 after 151.553 s; Hermes remained not running. The command
    instructed rebuilding the sandbox.

  8. Run the supported rebuild:

    nemoclaw hermes rebuild --yes

    Observed: state backup succeeded; sandbox deletion was accepted but could
    not be confirmed; rebuild aborted before registry removal/recreation.

  9. Check the resulting state:

    nemohermes hermes status
    nemohermes list

    Observed:

    • status exits 1 and says hermes is registered locally but absent from the
      live OpenShell gateway
    • list exits 0 and still lists hermes
  10. Wait and repeat only the read-only status/list checks.

    The same registry/live-gateway divergence remained present approximately
    ten minutes after the failed rebuild. No repair action was attempted.

Environment

  • OS: Ubuntu 24.04.4 LTS
  • Kernel: 6.17.0-1026-nvidia
  • Architecture: aarch64
  • Hardware: NVIDIA DGX Spark / GB10
  • Node.js: v22.23.2
  • Docker: 29.2.1 (build a5c7197)
  • NemoClaw: v0.0.103
  • NemoClaw source revision: db31c286129e878c3356eed49f76ab259561e47e
  • OpenShell: 0.0.85
  • Hermes Agent: v0.19.0
  • Inference: NVIDIA hosted endpoint, nvidia/nemotron-3-super-120b-a12b

Debug Output

Sanitized output from the issue form's requested command:

nemoclaw debug --quick

Personal hostname/username, process IDs, unrelated Docker container inventory,
local paths, and other machine-specific details have been omitted. Relevant
error text has not been altered.

Warning: default sandbox 'hermes' exists in the local registry but not in OpenShell.
  Use --sandbox NAME to target a specific sandbox, or run nemoclaw onboard again.

[debug] Collecting diagnostics for sandbox 'hermes'...
[debug] Quick mode: true

═══ System ═══

OS: Ubuntu 24.04.4 LTS
Kernel: 6.17.0-1026-nvidia
Architecture: aarch64

═══ GPU ═══

NVIDIA GB10
NVIDIA driver: 580.159.03
CUDA: 13.0

═══ OpenShell ═══

Server Status

  Gateway: nemoclaw
  Status: Connected
  Version: 0.0.85

No sandboxes found.

Error: × code: 'Some requested entity was not found', message: "sandbox not found"
  (command exited with non-zero status)

Error: × code: 'Some requested entity was not found', message: "sandbox not found"
  (command exited with non-zero status)

═══ Onboard Session ═══

status: complete
resumable: false
mode: non-interactive
sandboxName: hermes
provider: nvidia-prod
model: nvidia/nemotron-3-super-120b-a12b
failure: null

gatewayAuthority:
  gatewayName: nemoclaw
  mode: nemoclaw-managed

machine:
  state: complete

[debug] Done.

debug_quick_exit_code=0

Additional read-only consistency checks:

nemoclaw list

  • exit code: 0
  • lists sandbox hermes

nemohermes list

  • exit code: 0
  • lists sandbox hermes

nemohermes debug --quick --sandbox hermes

  • exit code: 1
  • reports: Error: Sandbox 'hermes' is not registered.
  • then instructs: Run nemoclaw list to see available sandboxes.

No repair or state-changing operation was performed between these commands.

Logs

Relevant preserved lifecycle excerpts follow. Credential values, personal
identifiers, absolute local paths, and unrelated configuration/log content are
intentionally omitted.

### Family A — gateway restart / integrity quarantine

After a supported:

`nemohermes hermes gateway restart`

the preserved startup log contained:


[config] Config integrity check skipped for mutable default (/sandbox/.hermes/.config-hash is not locked)
[SECURITY] Hermes config hash does not match persisted inputs
[SECURITY] HERMES_MCP_CONFIG_DRIFT: MCP intent cannot be matched to the persisted gateway state; rebuild the sandbox from its NemoClaw registry state
[SECURITY] Hermes automatic respawn is quarantined until MCP integrity is restored by rebuilding the sandbox


The persisted MCP marker at that time showed matching digests:


intended=44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a
applied=44136fa355b3678a1146ad16f7e8649e94fb4fc21fe77e8310c060f61caaff8a


Managed MCP bridge registry:


"bridges": []


### Documented recovery attempt

Command:

`nemohermes hermes recover`

Relevant result:


Probe failed: Hermes Agent gateway is not running in 'hermes' and automatic recovery failed.
The in-sandbox supervisor quarantined gateway relaunch after a startup refusal. Retrying the restart cannot clear it.
Restore the registered configuration and refresh its integrity metadata with `nemoclaw hermes rebuild --yes`.


Observed:

- exit code: 1
- elapsed: 151.553 s
- post-recovery: `Hermes Agent: not running`

No manual gateway launch or unsupported repair was attempted.

### Family B — supported rebuild

Command:

`nemoclaw hermes rebuild --yes`

Relevant output:


Backing up sandbox state...
✓ State backed up (15 directories, 5 files)

Deleting old sandbox...

Sandbox delete was accepted, but OpenShell did not confirm that the sandbox is absent.
Aborting rebuild before registry removal and sandbox recreation.
State backup is preserved at: [local path omitted]
Sandbox deletion could not be confirmed.


Observed:

- exit code: 1
- elapsed: 40.336 s

Subsequent status reported:


Sandbox 'hermes' is registered locally, but is not present in the live OpenShell gateway.


Later read-only checks continued to show:

- `nemoclaw list` -> exit 0, lists `hermes`
- `nemohermes list` -> exit 0, lists `hermes`
- live OpenShell -> no sandboxes
- targeted debug -> exit 1, reports `Sandbox 'hermes' is not registered.`

No subsequent recovery, rebuild retry, onboard, deletion, manual registry
reconciliation, OpenShell repair, patch, or reinstall was attempted.

Checklist

  • I confirmed this bug is reproducible
  • I searched existing issues and this is not a duplicate

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area: sandboxOpenShell sandbox lifecycle, runtime, config, or recoveryintegration: hermesHermes integration behaviorplatform: dgx-sparkAffects DGX Spark hardware or workflows

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions