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
-
Install/onboard Hermes using stock NemoClaw at
db31c286129e878c3356eed49f76ab259561e47e
(the LKG revision used for the trial), with no product patches or custom MCP
bridges.
-
Configure sandbox hermes through the supported onboarding path using the
NVIDIA hosted inference endpoint and
nvidia/nemotron-3-super-120b-a12b.
-
Confirm the sandbox and Hermes gateway are healthy with:
nemohermes hermes status
-
Use Hermes normally. In this trial it autonomously claimed and completed
disposable queued/Kanban work.
-
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.
-
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.
-
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.
-
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.
-
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
-
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
Investigation Summary
lkginstall path resolved to NemoClawdb31c286129e878c3356eed49f76ab259561e47eon DGX Spark; Hermes v0.19.0 and OpenShell 0.0.85 were used with no product patches, custom integrations, or custom MCP bridges.Hermes config hash does not match persisted inputs/HERMES_MCP_CONFIG_DRIFTand quarantined automatic respawn. The MCP bridge registry was empty and persisted MCPintended/applieddigests matched.nemohermes hermes recoverfailed after 151.553 s and leftHermes Agent: not running; no manual gateway launch or unsupported recovery was attempted.nemoclaw hermes rebuild --yesbacked up state, accepted sandbox deletion, could not confirm deletion, and aborted before registry removal/recreation. Subsequent read-only checks consistently showedhermesregistered locally but absent from live OpenShell.Description
What happened
I ran a bounded Hermes persistence/lifecycle trial on DGX Spark using the
NVIDIA NemoClaw LKG revision:
db31c286129e878c3356eed49f76ab259561e47eAs of this filing, NVIDIA's installer still defaults to
lkg, and thelkgbranch 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 inputsand:
HERMES_MCP_CONFIG_DRIFT: MCP intent cannot be matched to the persisted gateway state; rebuild the sandbox from its NemoClaw registry stateAutomatic respawn was then quarantined.
Relevant negative controls:
"bridges": []intendedandapplieddigests were identicalThe documented lightweight recovery command:
nemohermes hermes recoverfailed 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 --yesPreflight 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
hermesremainedregistered locally but was absent from the live OpenShell gateway.
nemohermes liststill listed the sandbox whilenemohermes hermes statusexited 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
recoverpath can restore without manualintervention.
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
Install/onboard Hermes using stock NemoClaw at
db31c286129e878c3356eed49f76ab259561e47e(the LKG revision used for the trial), with no product patches or custom MCP
bridges.
Configure sandbox
hermesthrough the supported onboarding path using theNVIDIA hosted inference endpoint and
nvidia/nemotron-3-super-120b-a12b.Confirm the sandbox and Hermes gateway are healthy with:
nemohermes hermes statusUse Hermes normally. In this trial it autonomously claimed and completed
disposable queued/Kanban work.
Perform a supported managed gateway restart:
nemohermes hermes gateway restartObserved 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.
On failure, check:
nemohermes hermes statusObserved: sandbox remained live/Ready but
Hermes Agent: not running, withstartup logging
HERMES_MCP_CONFIG_DRIFTand automatic respawn quarantine.Attempt the documented lightweight recovery:
nemohermes hermes recoverObserved: exit 1 after 151.553 s; Hermes remained not running. The command
instructed rebuilding the sandbox.
Run the supported rebuild:
nemoclaw hermes rebuild --yesObserved: state backup succeeded; sandbox deletion was accepted but could
not be confirmed; rebuild aborted before registry removal/recreation.
Check the resulting state:
nemohermes hermes statusnemohermes listObserved:
hermesis registered locally but absent from thelive OpenShell gateway
hermesWait 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
db31c286129e878c3356eed49f76ab259561e47envidia/nemotron-3-super-120b-a12bDebug Output
Sanitized output from the issue form's requested command:
nemoclaw debug --quickPersonal 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.
Additional read-only consistency checks:
nemoclaw listhermesnemohermes listhermesnemohermes debug --quick --sandbox hermesError: Sandbox 'hermes' is not registered.Run nemoclaw list to see available sandboxes.No repair or state-changing operation was performed between these commands.
Logs
Checklist