Skip to content

fix(onboard): persist OpenClaw startup command - #7856

Merged
prekshivyas merged 38 commits into
mainfrom
codex/fix-sandbox-survival-status
Jul 31, 2026
Merged

fix(onboard): persist OpenClaw startup command#7856
prekshivyas merged 38 commits into
mainfrom
codex/fix-sandbox-survival-status

Conversation

@jyaunches

@jyaunches jyaunches commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Summary

An OpenShell Docker-driver sandbox can restart when its OpenShell gateway restarts. OpenClaw onboarding previously left the persisted container command as sleep infinity, so the container returned without nemoclaw-start or the OpenClaw gateway. OpenClaw now uses the existing restart-safe startup-command path already used by Hermes and Deep Agents Code.

Changes

  • Recognize OpenClaw's canonical null agent representation when selecting Docker startup-command persistence.
  • Persist the existing OpenClaw nemoclaw-start command during Docker-driver onboarding.
  • Keep the existing transactional recovery path for legacy sleep infinity sandboxes unchanged.
  • Exercise explicit recovery in sandbox-survival and capture credential-safe container, process, service, health, and startup diagnostics around the gateway restart.
  • Verify registry identity, writable state, sandbox execution, inference, and OpenClaw gateway health after restart.

Type of Change

  • Code change (feature, bug fix, or refactor)
  • Code change with doc updates
  • Doc only (prose changes, no code sample modifications)
  • Doc only (includes code sample changes)

Quality Gates

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • Docs updated for user-facing behavior changes
  • Docs not applicable — justification: Existing gateway lifecycle and recovery docs already describe the OpenShell PID 1 topology and restart-safe recovery; no command, flag, or supported workflow changed.
  • Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging)
  • Sensitive-path review completed or maintainer-approved waiver recorded — reviewer/approval link/justification: The change reuses the existing sanitized Docker startup-command persistence path. E2E diagnostics redact API key values and classify the startup command without printing command text or process argv.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Documentation Writer Review

  • Documentation writer subagent reviewed the completed changes
  • Result: no-docs-needed
  • Evidence: Reviewed exact head 8bf80331200fb7819a7c03404191ea97dc62bc4b. The merge from main did not alter the five PR files. Existing docs already cover OpenShell PID 1 launching nonroot nemoclaw-start and legacy transactional recovery. The canonical null agent fix and its controlled Docker test fixture add no command, flag, configuration, default, workflow, or support claim.
  • Agent: Codex CLI

DGX Station Hardware Evidence

  • Tested on DGX Station
  • Tested commit:
  • Station profile/scenario:
  • Result:
  • Supporting evidence:

Verification

  • PR description includes a Signed-off-by: line and every published commit appears as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push hooks passed for the exact head
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — command/result or justification: Focused regression passed 11 tests; the onboarding regression cluster passed 47 tests; shared subprocess fixture consumers passed 54 tests; npm run test:changed passed 44 tests; CLI typecheck, Biome, and git diff --check passed.
  • Applicable broad gate passed — npm test for broad runtime/test-harness changes; npm run check for repo-wide validation/coverage changes — command/result: Exact-head trusted sandbox-survival E2E is pending.
  • Quality Gates section completed with required justifications or waivers
  • No secrets, API keys, or credentials committed
  • npm run docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Julie Yaunches jyaunches@nvidia.com
Signed-off-by: Prekshi Vyas prekshiv@nvidia.com
Signed-off-by: San Dang sdang@nvidia.com

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@jyaunches jyaunches self-assigned this Jul 29, 2026
@coderabbitai

coderabbitai Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

The OpenShell readiness probe now retries qualifying follow-up failures after a retryable sandbox re-registration state. Unit tests cover blank and opaque retries plus terminal blanks, while sandbox survival coverage validates OpenClaw gateway health after restart.

Changes

OpenShell readiness recovery

Layer / File(s) Summary
Retryable blank follow-up handling
src/lib/actions/sandbox/process-recovery.ts, src/lib/actions/sandbox/process-recovery.test.ts
The probe tracks retryable re-registration states and treats qualifying blank or opaque follow-ups as inconclusive; tests cover repeated retries, eventual success, and isolated terminal failure.
Post-restart gateway health validation
test/e2e/live/sandbox-survival.test.ts
The survival contract, post-restart state validation, and completion artifact assert restored OpenClaw gateway health.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested labels: area: sandbox, area: e2e, bug-fix

Suggested reviewers: brandonpelfrey, cv, ericksoa

Sequence Diagram(s)

sequenceDiagram
  participant ReadinessLoop
  participant OpenShell
  participant SleepTimer
  ReadinessLoop->>OpenShell: Probe recreated sandbox
  OpenShell-->>ReadinessLoop: Retryable re-registration state
  ReadinessLoop->>OpenShell: Probe follow-up result
  ReadinessLoop->>SleepTimer: Wait 3 seconds
  SleepTimer-->>ReadinessLoop: Advance retry time
  OpenShell-->>ReadinessLoop: Success or terminal blank failure
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Title check ⚠️ Warning The title describes persisting an OpenClaw startup command, but the changes update sandbox recovery retries and gateway health validation. Use a title that identifies the sandbox recovery retry behavior and the added OpenClaw gateway health validation after restart.
✅ Passed checks (4 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/fix-sandbox-survival-status

Comment @coderabbitai help to get the list of available commands.

@github-code-quality

github-code-quality Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit 01d1b41 in the codex/fix-sandbox-su... branch remains at 96%, unchanged from commit 91fc63e in the main branch.

TypeScript / code-coverage/cli

The overall coverage in commit 01d1b41 in the codex/fix-sandbox-su... branch remains at 81%, unchanged from commit 91fc63e in the main branch.

Show a code coverage summary of the most impacted files.
File main 91fc63e codex/fix-sandbox-su... 01d1b41 +/-
src/lib/onboard...ommand-agent.ts 100% 100% 0%
src/lib/sandbox...rce-identity.ts 88% 88% 0%
src/lib/tunnel/services.ts 73% 73% 0%
src/lib/domain/.../connect-env.ts 89% 97% +8%

Updated July 31, 2026 04:47 UTC

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@src/lib/actions/sandbox/process-recovery.test.ts`:
- Around line 138-164: Update the test around
waitForRecreatedSandboxOpenShellReady to inject a controllable nowImpl clock,
advance that clock by each recorded sleep duration in sleepImpl, and increase
timeoutSeconds to 7. Preserve the three-probe sequence and assertions so the
test exercises the retry path with enough time for the final ready probe.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 87e0abbe-65c8-49f6-a406-36bffe96eede

📥 Commits

Reviewing files that changed from the base of the PR and between d52d459 and db52f20.

📒 Files selected for processing (2)
  • src/lib/actions/sandbox/process-recovery.test.ts
  • src/lib/actions/sandbox/process-recovery.ts

Comment thread src/lib/actions/sandbox/process-recovery.test.ts Outdated
@github-actions

github-actions Bot commented Jul 29, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings reported

Advisor assessment: No blocking advisor findings reported
Next action: No advisor follow-up needed.
Findings: 0 blockers · 0 warnings · 0 suggestions

Model lanes

  • GPT-5.6 Terra (primary): Completed · medium confidence · 0 blockers · 0 warnings · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Model comparison: normalized findings match; normalized E2E selections differ; severity counts match.

Nemotron output stays in workflow artifacts and does not change the assessment above.

E2E guidance

Advisory only. E2E / PR Gate selects and runs jobs independently.

Recommended E2E: cloud-inference, cloud-onboard, security-posture, onboard-repair, onboard-resume, sandbox-survival, ubuntu-repo-docker-post-reboot-recovery

Workflow run details

This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge.

jyaunches and others added 6 commits July 29, 2026 20:01
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@prekshivyas prekshivyas changed the title fix(recovery): retry blank OpenShell registration follow-up fix(recovery): preserve readiness during supervisor relaunch Jul 30, 2026
jyaunches and others added 5 commits July 29, 2026 22:34
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

Comment thread scripts/managed-gateway-control.py Fixed
Comment thread scripts/managed-gateway-control.py Fixed
Comment thread scripts/managed-gateway-control.py Fixed
Comment thread scripts/managed-gateway-control.py Fixed
Comment thread scripts/managed-gateway-control.py Fixed
Comment thread scripts/managed-gateway-control.py Fixed
Signed-off-by: San Dang <sdang@nvidia.com>
Comment thread scripts/managed-gateway-control.py Fixed
Comment thread scripts/managed-gateway-control.py Fixed
@sandl99 sandl99 changed the title fix(recovery): preserve readiness during supervisor relaunch fix(recovery): relaunch legacy sandbox supervisor Jul 30, 2026
Signed-off-by: San Dang <sdang@nvidia.com>
@sandl99 sandl99 changed the title fix(recovery): preserve supervisor during handoff fix(recovery): gate supervisor replacement on readiness Jul 30, 2026
sandl99 added 2 commits July 31, 2026 00:56
Signed-off-by: San Dang <sdang@nvidia.com>
Signed-off-by: San Dang <sdang@nvidia.com>
@sandl99 sandl99 changed the title fix(recovery): gate supervisor replacement on readiness fix(recovery): restart legacy supervisor in place Jul 30, 2026
@sandl99 sandl99 changed the title fix(recovery): restart legacy supervisor in place fix(onboard): persist OpenClaw startup command Jul 31, 2026
sandl99 and others added 4 commits July 31, 2026 09:00
Signed-off-by: San Dang <sdang@nvidia.com>
Signed-off-by: San Dang <sdang@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@prekshivyas
prekshivyas merged commit b675ed3 into main Jul 31, 2026
46 of 62 checks passed
@prekshivyas
prekshivyas deleted the codex/fix-sandbox-survival-status branch July 31, 2026 04:59
@cv

cv commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Post-merge verification against main E2E run 30594584034 and exact PR head 01d1b41:

Both available main-run attempts failed at the same restart boundary. sandbox-survival and ubuntu-repo-docker-post-reboot-recovery left the sandbox present, but recovery could not restart the managed agent gateway.

The final diff makes canonical OpenClaw use the existing restart-safe Docker startup-command path. It replaces persisted sleep infinity with the generated nemoclaw-start command. Unit and integration tests bind that selection and the recreated Docker command.

Exact-head trusted E2E run 30605105778 passed sandbox-survival. Its evidence showed the persisted command ending in nemoclaw-start, healthy Docker state, a running OpenClaw gateway, an HTTP 200 probe, and preserved state and inference.

This change directly addresses both reported failures through their shared Docker restart mechanism. The exact-head risk plan did not separately select ubuntu-repo-docker-post-reboot-recovery; that target conclusion relies on the shared mechanism and the exact sandbox-survival restart evidence.

@cv

cv commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

Follow-up after direct target validation: my earlier shared-mechanism inference was too broad for ubuntu-repo-docker-post-reboot-recovery. A later exact-head run containing #7856 executed that named target and failed after the lifecycle boundary: the managed Docker container remained stopped, OpenShell reported Error, Docker health was unhealthy, and nemoclaw status classified sandbox_container_stopped. The exact sandbox-survival pass still validates #7856 for that breakage, but it does not establish a complete fix for the Docker post-reboot target. Treat docker-post-reboot-recovery as still unresolved pending a direct passing run and a fix for the stopped-container path.

Direct target evidence: https://github.com/NVIDIA/NemoClaw/actions/runs/30606139059/job/91078772350

prekshivyas added a commit that referenced this pull request Jul 31, 2026
## Summary

The post-reboot E2E now retries the exact transient state where
OpenShell is connected but the preserved sandbox container has not
started. The gateway-guard recovery target now validates the persisted
managed startup command that `main` introduced in #7856 instead of
expecting the obsolete `sleep infinity` recreation path.

## Changes

- Retry only `sandbox_container_stopped` during the post-reboot status
readiness window; keep every other status failure terminal.
- Cover the stopped-container transition with an E2E-support regression
test.
- Validate Docker restart with the persisted credential-free
`nemoclaw-start` command, preserved container identity, supervisor
health, forwarding, and inference.

## Type of Change

- [x] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [ ] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Quality Gates

- [x] Tests added or updated for changed behavior
- [ ] Existing tests cover changed behavior — justification:
- [ ] Tests not applicable — justification:
- [ ] Docs updated for user-facing behavior changes
- [x] Docs not applicable — justification: This changes E2E retry
behavior and expectations for product behavior already implemented on
`main`; it does not change a user-facing API, CLI, configuration,
default, error, or supported workflow.
- [ ] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [ ] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification:
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Documentation Writer Review

- [x] Documentation writer subagent reviewed the completed changes
- Result: `no-docs-needed`
- Evidence: Final three-file E2E diff reviewed. Comments, test titles,
phase labels, artifact names, and session IDs use precise repository
terminology. Focused lifecycle tests passed 23/23, semantic phase
coverage passed 114 tests across 71 files, Biome and `git diff --check`
passed, and the trusted exact-head gateway-guard recovery job passed.
Cloud onboarding stopped before tests because an external download
connection reset.
- Agent: Codex Desktop
<!-- docs-review-head-sha: 6e55eb6 -->
<!-- docs-review-agents-blob-sha: c052d60 -->

## DGX Station Hardware Evidence

- [ ] Tested on DGX Station
- Tested commit: Not applicable
- Station profile/scenario: Not applicable
- Result: Not applicable
- Supporting evidence: Not applicable

## Verification

- [x] PR description includes a `Signed-off-by:` line and every commit
appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run validate:pr` passed after refreshing `origin/main` when hooks
were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — `npx vitest run --project e2e-support
test/e2e/support/e2e-phase-lifecycle.test.ts` (23/23); `npm run
test:e2e-phases:check` (114 tests across 71 files); Biome and `git diff
--check` passed.
- [ ] Applicable broad gate passed — `npm test` for broad
runtime/test-harness changes; `npm run check` for repo-wide
validation/coverage changes — `npm test` was attempted but did not pass
because unrelated host-sensitive timing and process tests failed across
existing suites. No maintainer waiver is claimed; exact-head CI is
authoritative.
- [x] Quality Gates section completed with required justifications or
waivers
- [x] No secrets, API keys, or credentials committed
- [ ] `npm run docs` builds without warnings (doc changes only)
- [ ] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only)
- [ ] New doc pages include SPDX header and frontmatter (new pages only)

---

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>

---------

Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@sandl99 sandl99 mentioned this pull request Jul 31, 2026
23 tasks
sandl99 added a commit that referenced this pull request Jul 31, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Adds the canonical July 30 release entry for `v0.0.99` before the
release tag is captured.
The entry covers all 37 merged PRs since `v0.0.98` and bounds
experimental or dormant work without presenting it as supported
behavior.

## Changes

- Adds `docs/changelog/2026-07-30.mdx` with the exact `## v0.0.99`
heading, parser-safe MDX SPDX comment, summary, detailed release
bullets, and published documentation routes.
- Records user-visible recovery, snapshot, shared-route, Hermes,
readiness, inference, image, documentation, and release E2E changes.
- States that the managed-image selection and startup-profile contracts
remain dormant and do not activate buildless onboarding.

Source summary:

- [#7972](#7972) ->
`docs/changelog/2026-07-30.mdx`: Records restored managed OpenClaw
configuration modes during recovery.
- [#7834](#7834) ->
`docs/changelog/2026-07-30.mdx`: Records clone-bound pairing
verification after snapshot restore.
- [#7975](#7975) ->
`docs/changelog/2026-07-30.mdx`: Records managed startup recovery
coverage.
- [#7960](#7960) ->
`docs/changelog/2026-07-30.mdx`: Records dormant startup-profile
coordination without activating a supported surface.
- [#7856](#7856) ->
`docs/changelog/2026-07-30.mdx`: Records persistence of the
credential-free OpenClaw startup command.
- [#7959](#7959) ->
`docs/changelog/2026-07-30.mdx`: Records dormant startup-profile
construction without changing onboarding.
- [#7946](#7946) ->
`docs/changelog/2026-07-30.mdx`: Records the internal startup-profile
schema and transport contract.
- [#7951](#7951) ->
`docs/changelog/2026-07-30.mdx`: Records platform-pull cleanup before
managed-image validation.
- [#7949](#7949) ->
`docs/changelog/2026-07-30.mdx`: Records rejection of retained Hermes
`uv` build cache metadata.
- [#7597](#7597) ->
`docs/changelog/2026-07-30.mdx`: Records separate command and agent
first-turn latency evidence.
- [#7931](#7931) ->
`docs/changelog/2026-07-30.mdx`: Records focused E2E replacement
evidence for retired selectors.
- [#7950](#7950) ->
`docs/changelog/2026-07-30.mdx`: Records exclusion of build-only
BuildKit telemetry from the Deep Agents Code probe.
- [#7665](#7665) ->
`docs/changelog/2026-07-30.mdx`: Records consolidated priority 2 E2E
coverage.
- [#7911](#7911) ->
`docs/changelog/2026-07-30.mdx`: Records the corrected NVIDIA DORI
installation pin.
- [#7934](#7934) ->
`docs/changelog/2026-07-30.mdx`: Records the staging image-family wait
before Brev Launchable deployment.
- [#7772](#7772) ->
`docs/changelog/2026-07-30.mdx`: Records dormant managed-image selection
contracts without activating buildless onboarding.
- [#7941](#7941) ->
`docs/changelog/2026-07-30.mdx`: Records corrected agent-specific
provider and policy guidance.
- [#7819](#7819) ->
`docs/changelog/2026-07-30.mdx`: Records removal of empty Deep Agents
Code provider-switch sections.
- [#7932](#7932) ->
`docs/changelog/2026-07-30.mdx`: Records independent
credential-generation E2E execution.
- [#7840](#7840) ->
`docs/changelog/2026-07-30.mdx`: Records shared-route preservation and
pre-delete peer validation during upgrades.
- [#7874](#7874) ->
`docs/changelog/2026-07-30.mdx`: Records the split between pre-tag
release entries and post-tag Announcements.
- [#7876](#7876) ->
`docs/changelog/2026-07-30.mdx`: Records the writable Hermes runtime
root within lockdown.
- [#7756](#7756) ->
`docs/changelog/2026-07-30.mdx`: Records validated multi-platform
managed-image publication.
- [#7914](#7914) ->
`docs/changelog/2026-07-30.mdx`: Records accepted `uv` version metadata
in Hermes image validation.
- [#7686](#7686) ->
`docs/changelog/2026-07-30.mdx`: Records the explicitly experimental
Microsoft Entra runtime identity reference.
- [#7869](#7869) ->
`docs/changelog/2026-07-30.mdx`: Records classified gateway relaunch
quarantine and rebuild guidance.
- [#7814](#7814) ->
`docs/changelog/2026-07-30.mdx`: Records state restore into replacement
sandboxes and SQLite write verification.
- [#7839](#7839) ->
`docs/changelog/2026-07-30.mdx`: Records quieter onboarding test
execution without a user-facing behavior claim.
- [#7854](#7854) ->
`docs/changelog/2026-07-30.mdx`: Records generalized agent-selection
guidance.
- [#7845](#7845) ->
`docs/changelog/2026-07-30.mdx`: Records isolated CDI test evidence
without a user-facing behavior claim.
- [#7843](#7843) ->
`docs/changelog/2026-07-30.mdx`: Records the corrected Omni sub-agent
model ID.
- [#7908](#7908) ->
`docs/changelog/2026-07-30.mdx`: Records reviewed Hermes and Deep Agents
Code dependency pins.
- [#7887](#7887) ->
`docs/changelog/2026-07-30.mdx`: Records rejection of a symlinked DGX
Station release marker.
- [#7747](#7747) ->
`docs/changelog/2026-07-30.mdx`: Records the internal compute-driver
separation without a user-facing behavior claim.
- [#7660](#7660) ->
`docs/changelog/2026-07-30.mdx`: Records atomic publication of rebuild
recovery manifests.
- [#7661](#7661) ->
`docs/changelog/2026-07-30.mdx`: Records bounded local inference
health-response retention.
- [#7654](#7654) ->
`docs/changelog/2026-07-30.mdx`: Records state preservation across
supervisor relaunch recovery.

## Type of Change

- [ ] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [x] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Quality Gates

- [ ] Tests added or updated for changed behavior
- [x] Existing tests cover changed behavior — justification:
`test/changelog-docs.test.ts` validates the dated changelog contract,
SPDX comment, version heading, and published routes.
- [ ] Tests not applicable — justification:
- [x] Docs updated for user-facing behavior changes
- [ ] Docs not applicable — justification:
- [ ] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [ ] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification:
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Documentation Writer Review

- [x] Documentation writer subagent reviewed the completed changes
- Result: `docs-updated`
- Evidence: `docs/changelog/2026-07-30.mdx`; the documentation-only diff
passed review against `WRITING.md`, the controlled word list, and
`docs/CONTRIBUTING.md`. The review covered terminology, structure,
active voice, release meaning, product-scope boundaries, and link and
code presentation. Changelog tests passed 6/6, and the docs build
reported 0 errors with 2 pre-existing warnings.
- Agent: Codex CLI
<!-- docs-review-head-sha: 200940f -->
<!-- docs-review-agents-blob-sha: c052d60 -->

## DGX Station Hardware Evidence

- [ ] Tested on DGX Station
- Tested commit:
- Station profile/scenario:
- Result:
- Supporting evidence:

## Verification

- [x] PR description includes a `Signed-off-by:` line and every commit
appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run validate:pr` passed after refreshing `origin/main` when hooks
were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — command/result or justification: `npx
vitest run test/changelog-docs.test.ts` passed 6/6 tests.
- [ ] Applicable broad gate passed — `npm test` for broad
runtime/test-harness changes; `npm run check` for repo-wide
validation/coverage changes — command/result: Not applicable to this
documentation-only release entry.
- [x] Quality Gates section completed with required justifications or
waivers
- [x] No secrets, API keys, or credentials committed
- [ ] `npm run docs` builds without warnings (doc changes only) —
result: Build passed with 0 errors and 2 pre-existing warnings.
- [x] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only)
- [ ] New doc pages include SPDX header and frontmatter (new pages only)

---
Signed-off-by: San Dang <sdang@nvidia.com>


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Added release notes for v0.0.99 covering snapshot restoration, sandbox
recovery, gateway route upgrades, and Hermes security updates.
* Documented experimental Microsoft Entra runtime identity support and
enhanced readiness checks.
* Added details on managed image validation, trusted CI image promotion,
and end-to-end release evidence.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
sandl99 added a commit that referenced this pull request Jul 31, 2026
<!-- markdownlint-disable MD041 -->
## Summary

The full-E2E cold-path budget predates the restart-safe OpenClaw Docker
startup lifecycle from #7856. This change records five functional
post-change runs and adjusts only the root-start and sandbox-phase caps
to cover the observed container recreation cost.

## Changes

- Record five exact full-E2E run and job receipts that exercised
restart-safe Docker container recreation.
- Derive root-start and sandbox-phase caps of 263 seconds and 208
seconds from the observed maxima plus 10 percent.
- Recalculate the separate local-base-build allowance against the
adjusted published-image caps.
- Extend the existing calibration contract with evidence, provenance,
retirement, and arithmetic assertions.
- Declare the enforced cold-onboarding performance budget in the live
full-E2E target contract so the PR gate selects that job.

## Type of Change

- [x] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [ ] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Quality Gates

- [x] Tests added or updated for changed behavior
- [ ] Existing tests cover changed behavior — justification:
- [ ] Tests not applicable — justification:
- [ ] Docs updated for user-facing behavior changes
- [x] Docs not applicable — justification: This change updates internal
E2E calibration evidence and does not change a user command,
configuration, default, or runtime behavior.
- [ ] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [ ] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification:
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Documentation Writer Review

- [x] Documentation writer subagent reviewed the completed changes
- Result: `no-docs-needed`
- Evidence: Internal advisory E2E calibration, provenance, and selection
contracts. Calibration tests passed 14/14 after a full-history fetch;
selector tests passed 71/71; workflow inventory tests passed 46/46.
Normal hooks passed on the preceding authored commit.
- Agent: Codex Desktop
<!-- docs-review-head-sha: de59620 -->
<!-- docs-review-agents-blob-sha: c052d60 -->

## DGX Station Hardware Evidence

- [ ] Tested on DGX Station
- Tested commit:
- Station profile/scenario:
- Result:
- Supporting evidence:

## Verification

- [x] PR description includes a `Signed-off-by:` line and every commit
appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run validate:pr` passed after refreshing `origin/main` when hooks
were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — command/result or justification:
calibration tests passed 14/14; selector tests passed 71/71; E2E
workflow inventory tests passed 46/46.
- [ ] Applicable broad gate passed — `npm test` for broad
runtime/test-harness changes; `npm run check` for repo-wide
validation/coverage changes — command/result:
- [x] Quality Gates section completed with required justifications or
waivers
- [x] No secrets, API keys, or credentials committed
- [ ] `npm run docs` builds without warnings (doc changes only)
- [ ] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only)
- [ ] New doc pages include SPDX header and frontmatter (new doc pages
only)

---

Signed-off-by: San Dang <sdang@nvidia.com>

---------

Signed-off-by: San Dang <sdang@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Co-authored-by: Apurv Kumaria <akumaria@nvidia.com>
@wscurran wscurran added area: onboarding Onboarding FSM, provider setup, sandbox launch, or first-run flow bug-fix PR fixes a bug or regression integration: openclaw OpenClaw integration behavior labels Aug 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: onboarding Onboarding FSM, provider setup, sandbox launch, or first-run flow bug-fix PR fixes a bug or regression integration: openclaw OpenClaw integration behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants