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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

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

3 participants