Skip to content

fix(sandbox): honor recovery wait override - #8182

Merged
senthilr-nv merged 5 commits into
mainfrom
codex/pr7897-replacement
Aug 4, 2026
Merged

fix(sandbox): honor recovery wait override#8182
senthilr-nv merged 5 commits into
mainfrom
codex/pr7897-replacement

Conversation

@apurvvkumaria

@apurvvkumaria apurvvkumaria commented Aug 3, 2026

Copy link
Copy Markdown
Collaborator

Summary

Managed recovery now applies NEMOCLAW_GATEWAY_RECOVERY_WAIT_SECONDS
consistently to gateway-health and recreated-sandbox readiness waits. A valid operator override takes precedence over the caller's internal budget.
Without one, OpenClaw gateway health uses 30 seconds, Hermes gateway health uses
90 seconds, and recreated-sandbox OpenShell registration uses 120 seconds when
no other budget is supplied.

This preserves Deepak Jain as the commit author while refreshing the effective
change from #7897 onto current main. The original fork branch could not accept
a normal merge commit because the local secret scan evaluated an unrelated test
fixture inherited from main; no security check was bypassed.

Related Issue

Fixes #7893
Supersedes #7897 with the same effective behavior on current main.

Changes

  • Give the recovery-wait environment override precedence over internal timeout
    values.
  • Remove the unrelated onboarding-readiness timeout from the two managed
    recreation paths.
  • Preserve readiness-before-commit ordering, immediate managed-health failure,
    rollback behavior, and the stopped primary forward after failure.
  • Cover override precedence and production call shapes with regression tests.
  • Document the distinct parser contracts and command timing for onboarding and
    recovery settings.
  • Lower the measured source fan-out budget after removing the unused dependency.

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:
  • 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: Codex Desktop completed a fresh nine-category security review of the nine-file pull-request diff at current branch revision 379fead30: PASS in all categories with no findings. The current-main merge preserved the reviewed patch and accepted behavior. Recovery-wait input remains finite and nonnegative, the managed-health identity guard still runs before every readiness probe, failures remain fail-closed with rollback before any primary forward starts, no command or credential boundary changed, and no dependency was added. Gitleaks and private-key scans passed; 57 focused CLI tests and 20 focused integration tests passed.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue: No exception requested; all required checks must pass.

Documentation Writer Review

  • Documentation writer subagent reviewed the completed changes
  • Result: docs-updated
  • Evidence: Reviewed docs/inference/configure-inference-timeouts.mdx, docs/manage-sandboxes/recover-rebuild-sandboxes.mdx, and docs/reference/commands.mdx against current main, the recovery and onboarding-finalization implementations, focused tests, and the OpenClaw and Hermes manifests. Confirmed the 30-second OpenClaw health, 90-second Hermes health, and 120-second recreated-sandbox OpenShell registration fallbacks; finite nonnegative override precedence with fractional values preserved; immediate definitive managed-health failure; rollback behavior; and the stopped primary forward after failure. Fresh verification passed: 57 CLI tests, 20 integration tests, npm run typecheck:cli, npm run typecheck, test-title style, diff validation, and generated OpenClaw, Hermes, and Deep Agents variants. npm run docs completed with 0 errors and 2 warnings. The worktree remained clean.
  • Agent: Codex Desktop documentation writer subagent

DGX Station Hardware Evidence

  • Tested on DGX Station
  • Tested revision: Not applicable
  • Station profile/scenario: Not applicable
  • Result: Not applicable
  • Supporting evidence: Not applicable

Verification

  • PR description includes a Signed-off-by: line and every commit appears as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push hooks passed
  • Targeted behavior tests pass for the current change set — 77 tests passed across process recovery, finalization dependencies, and supervisor relaunch coverage
  • Applicable broad gate passed — npm run checks:repository passed
  • 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) — passed with 0 errors and 2 existing warnings
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Additional validation:

  • npm run build:cli: passed
  • npm run typecheck:cli: passed
  • git diff --check: passed
  • Pre-commit secret scan: passed

Signed-off-by: Deepak Jain deepujain@gmail.com
Signed-off-by: Apurv Kumaria akumaria@nvidia.com

Summary by CodeRabbit

  • Bug Fixes

    • Improved sandbox recovery with a dedicated gateway re-registration timeout.
    • Recovery failures now roll back cleanly while keeping the primary dashboard or API stopped.
    • Explicit recovery timeout settings override default readiness limits.
    • Improved timeout validation, including fractional values and fallback handling.
  • Documentation

    • Added configuration guidance, command examples, and phase-specific recovery timeout defaults.
    • Clarified sandbox recreation, onboarding readiness, and recovery behavior.
  • Tests

    • Expanded coverage for timeout selection, delegation, and sandbox readiness behavior.

Refresh the contributor's implementation on current main.

Preserve recovery rollback and readiness ordering.

Signed-off-by: Deepak Jain <deepujain@gmail.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@coderabbitai

coderabbitai Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

The change separates gateway recovery timing from sandbox readiness timing. Recreated-sandbox readiness now uses a validated gateway recovery override with a 120-second default. Onboarding uses a lazy-loaded recovery dependency. Tests and documentation reflect the updated behavior.

Changes

Sandbox recovery timeout

Layer / File(s) Summary
Shared timeout resolution and recovery tests
src/lib/actions/sandbox/process-recovery.ts, src/lib/actions/sandbox/process-recovery.test.ts, test/process-recovery-supervisor-relaunch.test.ts, ci/source-architecture-budget.json
Recreated-sandbox readiness applies NEMOCLAW_GATEWAY_RECOVERY_WAIT_SECONDS and defaults to 120 seconds. Callers no longer pass SANDBOX_READY_TIMEOUT_SECS. Tests verify the override and omitted timeout options.
Onboarding recovery wiring
src/lib/onboard/finalization-deps.ts, src/lib/onboard/finalization-deps.test.ts
Onboarding uses a typed lazy-loaded process-recovery dependency. Readiness delegation uses the shared recovery timeout.
Recovery timeout documentation
docs/inference/configure-inference-timeouts.mdx, docs/manage-sandboxes/recover-rebuild-sandboxes.mdx, docs/reference/commands.mdx
Documentation separates sandbox readiness from gateway recovery timing and adds validation, rollback, precedence, and command examples.

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

Possibly related PRs

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

Suggested reviewers: prekshivyas, cv

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes apply the recovery override consistently, remove conflicting readiness budgets, and add production-call coverage as required by issue #7893.
Out of Scope Changes check ✅ Passed The code, tests, documentation, and architecture-budget updates directly support the recovery timeout objectives in issue #7893.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the main change: honoring the recovery wait override for sandbox recovery.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/pr7897-replacement

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

@github-actions

github-actions Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

@github-code-quality

github-code-quality Bot commented Aug 3, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit 379fead in the codex/pr7897-replace... branch remains at 96%, unchanged from commit a556201 in the main branch.

TypeScript / code-coverage/cli

The overall coverage in commit 379fead in the codex/pr7897-replace... branch remains at 81%, unchanged from commit a556201 in the main branch.

Show a code coverage summary of the most impacted files.
File main a556201 codex/pr7897-replace... 379fead +/-
src/lib/domain/.../connect-env.ts 97% 89% -8%
src/lib/platform.ts 89% 84% -5%
src/lib/actions...eway-restart.ts 92% 92% 0%
src/lib/messagi...nnels/policy.ts 100% 100% 0%
src/lib/sandbox...rce-identity.ts 88% 88% 0%
src/lib/state/config-io.ts 93% 93% 0%
src/lib/tunnel/services.ts 76% 76% 0%
src/lib/actions...ess-recovery.ts 82% 84% +2%
src/lib/onboard...ization-deps.ts 58% 83% +25%

Updated August 04, 2026 05:41 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 `@docs/inference/configure-inference-timeouts.mdx`:
- Line 30: Update the timeout documentation in
docs/inference/configure-inference-timeouts.mdx at line 30 and
docs/reference/commands.mdx at lines 4001-4005: replace “An explicit value” with
“A valid finite, nonnegative value,” and document caller-specific fallbacks for
invalid or negative NEMOCLAW_GATEWAY_RECOVERY_WAIT_SECONDS overrides—30 seconds
for OpenClaw, 90 seconds for Hermes, and 120 seconds for recreated-sandbox
OpenShell registration when timeoutSeconds is omitted.
🪄 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: 0b44c27c-6488-422a-856d-f3991a823505

📥 Commits

Reviewing files that changed from the base of the PR and between a7237ea and 6fde8cc.

📒 Files selected for processing (9)
  • ci/source-architecture-budget.json
  • docs/inference/configure-inference-timeouts.mdx
  • docs/manage-sandboxes/recover-rebuild-sandboxes.mdx
  • docs/reference/commands.mdx
  • src/lib/actions/sandbox/process-recovery.test.ts
  • src/lib/actions/sandbox/process-recovery.ts
  • src/lib/onboard/finalization-deps.test.ts
  • src/lib/onboard/finalization-deps.ts
  • test/process-recovery-supervisor-relaunch.test.ts

Comment thread docs/inference/configure-inference-timeouts.mdx Outdated
@github-actions

github-actions Bot commented Aug 4, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings reported

Advisor assessment: No blocking advisor findings reported
Next action: Review the warnings below.
Findings: 0 blockers · 1 warning · 0 suggestions

Model lanes

  • GPT-5.6 Terra (primary): Completed · high confidence · 0 blockers · 1 warning · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Completed · high confidence · 0 blockers · 4 warnings · 0 suggestions
  • Model comparison: normalized findings differ; normalized terminology decisions differ; normalized E2E selections differ; Nemotron reported the same number of blockers, 3 more warnings, the same number of suggestions.
5 terminology differences from the second opinion

Advisory only. These are normalized differences from the primary terminology receipt.

  • recovery wait at docs/inference/configure-inference-timeouts.mdx:86: primary classified it as established; the second opinion classified it as define.
  • gateway health wait at test/process-recovery-supervisor-relaunch.test.ts:748: selected only by the second-opinion lane as established.
  • OpenShell re-registration at docs/inference/configure-inference-timeouts.mdx:104: selected only by the second-opinion lane as established.
  • recreate-readiness at test/process-recovery-supervisor-relaunch.test.ts:748: selected only by the second-opinion lane as define.
  • readiness budget at src/lib/actions/sandbox/process-recovery.test.ts:500: selected only by the second-opinion lane as established.
6 additional E2E selections from the second opinion

Advisory only. The primary lane did not select these E2E jobs or targets.

  • ubuntu-repo-docker-post-reboot-recovery: The completed second-opinion lane identified E2E coverage that the primary lane omitted.
  • sandbox-survival: The completed second-opinion lane identified E2E coverage that the primary lane omitted.
  • rebuild-openclaw: The completed second-opinion lane identified E2E coverage that the primary lane omitted.
  • rebuild-hermes: The completed second-opinion lane identified E2E coverage that the primary lane omitted.
  • sandbox-operations: The completed second-opinion lane identified E2E coverage that the primary lane omitted.
  • state-backup-restore: The completed second-opinion lane identified E2E coverage that the primary lane omitted.

Second-opinion terminology and E2E selections are advisory. They do not change the primary assessment or E2E / PR Gate.

2 semantic terminology decisions

Terminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.

  • established — recovery wait at docs/inference/configure-inference-timeouts.mdx:86: Use recovery wait for the recovery-specific budget and name the affected recovery phase when needed.
  • established — managed health at docs/manage-sandboxes/recover-rebuild-sandboxes.mdx:95: Keep managed health for the recovery gate; use gateway health for a basic service-response check.

E2E guidance

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

Recommended E2E: onboard-repair, onboard-resume, cloud-onboard

1 optional E2E recommendation
  • gateway-guard-recovery
1 warning · 0 suggestions

Warnings

Warnings do not block.

PRA-1 Warning — Cover invalid recovery overrides with an explicit readiness budget

  • Location: src/lib/actions/sandbox/process-recovery.test.ts:500
  • Category: tests
  • Problem: The changed precedence test covers a valid recovery override, but it does not cover the parser fallback when an explicit readiness budget is also present.
  • Impact: A future parser or precedence change can make invalid or negative operator input bypass the caller budget or select the wrong phase default without failing this regression suite.
  • Recommendation: Add focused cases with invalid and negative NEMOCLAW_GATEWAY_RECOVERY_WAIT_SECONDS values plus a short explicit timeoutSeconds value. Assert that readiness uses the explicit fallback budget.
  • Verification: Inspect the readiness test block near line 500 and confirm cases exist for invalid and negative recovery overrides with timeoutSeconds supplied.
  • Test coverage: A unit test for waitForRecreatedSandboxOpenShellReady that sets invalid and negative recovery overrides, supplies a short explicit timeoutSeconds value, and asserts the probe attempts follow that explicit fallback budget.
  • Evidence: src/lib/actions/sandbox/process-recovery.ts:669-674 falls back for blank, invalid, or negative environment values. src/lib/actions/sandbox/process-recovery.ts:821-830 passes the explicit requested timeout as the recovery-override fallback. src/lib/actions/sandbox/process-recovery.test.ts:500-523 tests only a valid override against an explicit readiness budget.

Workflow run details

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

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>

@senthilr-nv senthilr-nv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Approved at 379fead. The recovery-wait override and phase-specific 30/90/120-second fallbacks match #7893; fail-closed managed-health checks, rollback, and the stopped primary forward remain intact. Focused tests (77), CLI type-checking, source-architecture validation, and the docs build passed.

@senthilr-nv
senthilr-nv merged commit ee9ef92 into main Aug 4, 2026
101 of 102 checks passed
@senthilr-nv
senthilr-nv deleted the codex/pr7897-replacement branch August 4, 2026 06:32
apurvvkumaria added a commit that referenced this pull request Aug 4, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Prepares the canonical v0.0.102 release documentation from the current
release-labeled scope.
The change adds a dated changelog for all 38 user-facing shipping PRs
and corrects the OpenClaw agent command reference for the behavior
delivered by #8191.

## Changes

- Add `docs/changelog/2026-08-04.mdx` with the v0.0.102 release summary,
detailed behavior changes, support boundaries, security evidence links,
and links to durable documentation.
- Update `docs/reference/commands.mdx` to describe non-JSON OpenClaw
output capture, its combined limit, marker handling, stream suppression,
recovery guidance, and exit behavior.
- [#8167](#8167) ->
`docs/changelog/2026-08-04.mdx`: Records authenticated attachment of
operator-managed llama.cpp servers.
- [#8129](#8129) ->
`docs/changelog/2026-08-04.mdx`: Records the Experimental managed vLLM
profile for two DGX Spark systems.
- [#7983](#7983) ->
`docs/changelog/2026-08-04.mdx`: Records qualification of the May 2026
GB300WS factory image.
- [#8207](#8207) ->
`docs/changelog/2026-08-04.mdx`: Records the qualified DGX Station
driver transaction.
- [#8208](#8208) ->
`docs/changelog/2026-08-04.mdx`: Records mode-bound Express resume
state.
- [#8158](#8158) ->
`docs/changelog/2026-08-04.mdx`: Records recovery of host-global
dual-Station runtime ownership.
- [#8145](#8145) ->
`docs/changelog/2026-08-04.mdx`: Records Windows-host Ollama validation
from Docker Desktop's network context.
- [#8190](#8190) ->
`docs/changelog/2026-08-04.mdx`: Records HTTP model pulls when WSL has
no local Ollama executable.
- [#8195](#8195) ->
`docs/changelog/2026-08-04.mdx`: Records reuse of a healthy
installer-managed CLI.
- [#8053](#8053) ->
`docs/changelog/2026-08-04.mdx`: Records early rejection of incompatible
OpenShell gateway versions.
- [#8098](#8098) ->
`docs/changelog/2026-08-04.mdx`: Records the bounded
package-service-to-standalone gateway recovery transition.
- [#8216](#8216) ->
`docs/changelog/2026-08-04.mdx`: Records the final dashboard port
selected during multi-sandbox onboarding.
- [#8146](#8146) ->
`docs/changelog/2026-08-04.mdx`: Records managed startup-state
restoration for stopped sandboxes.
- [#8092](#8092) ->
`docs/changelog/2026-08-04.mdx`: Records gateway watchdog recovery for
classified not-serving states.
- [#8182](#8182) ->
`docs/changelog/2026-08-04.mdx`: Records consistent managed-recovery
wait configuration.
- [#8040](#8040) ->
`docs/changelog/2026-08-04.mdx`: Records Docker sandbox rollback
authority through late validation.
- [#8130](#8130) ->
`docs/changelog/2026-08-04.mdx`: Records bounded Shields deadline
recovery and durable containment.
- [#8086](#8086) ->
`docs/changelog/2026-08-04.mdx`: Records repair of narrowly validated
permission-only configuration drift.
- [#8122](#8122) ->
`docs/changelog/2026-08-04.mdx`: Records prompt failure and guidance for
corrupt transition locks.
- [#8124](#8124) ->
`docs/changelog/2026-08-04.mdx`: Records policy restoration flags,
previews, and target revalidation.
- [#7886](#7886) ->
`docs/changelog/2026-08-04.mdx`: Records explicit destruction after
pre-delete Shields hardening failures while preserving recovery
authority.
- [#7901](#7901) ->
`docs/changelog/2026-08-04.mdx`: Records multi-port uninstall behavior
and shared-resource preservation.
- [#7984](#7984) ->
`docs/changelog/2026-08-04.mdx`: Records one classified transient remote
MCP startup retry.
- [#7954](#7954) ->
`docs/changelog/2026-08-04.mdx`: Records bounded hosted-inference probe
replies.
- [#7574](#7574) ->
`docs/changelog/2026-08-04.mdx`: Records preservation of validated
reasoning capabilities through onboarding.
- [#8089](#8089) ->
`docs/changelog/2026-08-04.mdx`: Records proxy routing for Hermes
WhatsApp pairing and media traffic.
- [#7682](#7682) ->
`docs/changelog/2026-08-04.mdx`: Records native Hermes session deletion
and identifier validation.
- [#8150](#8150) ->
`docs/changelog/2026-08-04.mdx`: Records corporate CA trust for
LangChain Deep Agents Code image builds.
- [#8156](#8156) ->
`docs/changelog/2026-08-04.mdx`: Records reviewed managed runtime
dependency remediation.
- [#8180](#8180) ->
`docs/changelog/2026-08-04.mdx`: Records reviewed MCP discovery runtime
dependency updates.
- [#8196](#8196) ->
`docs/changelog/2026-08-04.mdx`: Records private npm dependency
remediation across managed images.
- [#8203](#8203) ->
`docs/changelog/2026-08-04.mdx`: Records reviewed Hermes and LangChain
Deep Agents Code Python dependency updates.
- [#8125](#8125) ->
`docs/changelog/2026-08-04.mdx`: Records bounded diagnostics for invalid
enumerated CLI values.
- [#8193](#8193) ->
`docs/changelog/2026-08-04.mdx`: Records bounded diagnostics for
unresolved sandbox base images.
- [#8118](#8118) ->
`docs/changelog/2026-08-04.mdx`: Records bounded diagnostics for changed
gateway authority.
- [#8191](#8191) ->
`docs/changelog/2026-08-04.mdx`, `docs/reference/commands.mdx`: Records
output capture, marker handling, recovery guidance, and exit behavior
for non-JSON OpenClaw agent commands.
- [#8187](#8187) ->
`docs/changelog/2026-08-04.mdx`: Records the aligned
interactive-installation start across supported agents.
- [#8153](#8153) ->
`docs/changelog/2026-08-04.mdx`: Records current product capabilities
and support boundaries.

## 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
- [ ] Existing tests cover changed behavior — justification:
- [x] Tests not applicable — justification: This documentation-only
release preparation does not change executable behavior. Existing
changelog and published-route tests pass.
- [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: Independently reviewed `docs/changelog/2026-08-04.mdx` and
`docs/reference/commands.mdx` at commit `b89913780`. All 38 user-facing
v0.0.102 PRs are represented, #8191 behavior matches the implementation,
and the writing rules, documentation style, controlled terminology,
route structure, and skip policy pass review. Targeted tests pass 36/36
and the documentation build completes with 0 errors.
- Agent: Codex Desktop independent documentation writer
<!-- docs-review-head-sha: b899137 -->
<!-- docs-review-agents-blob-sha: 3dd7c24 -->

## 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 integration
test/changelog-docs.test.ts test/check-docs-published-routes.test.ts`
passed 36/36.
- [x] Applicable broad gate passed — not applicable to
documentation-only changes; `npm run docs` completed successfully with 0
errors.
- [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) —
completed with 0 errors and 2 existing Fern warnings.
- [x] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only)
- [x] New doc pages include SPDX header and frontmatter (new pages only)
— the native dated changelog uses the required parser-safe MDX SPDX
comment and intentionally has no frontmatter.

---
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>


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

## Summary by CodeRabbit

- **Documentation**
- Added release notes for v0.0.102, covering authentication, hardware
setup, WSL, installer recovery, sandbox resilience, policy management,
inference reliability, CLI improvements, and unified quickstarts.
- Updated command documentation to explain how non-JSON agent output is
collected, replayed, and reported.

- **Bug Fixes**
- Improved command-output recovery guidance when output exceeds limits
or contains unsupported fallback markers.
- Preserved accurate command exit-status reporting after output
processing.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@wscurran wscurran added the bug-fix PR fixes a bug or regression label Aug 25, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug-fix PR fixes a bug or regression

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(sandbox): the recreate readiness-wait default and its env override do not reach the paths they target

4 participants