Skip to content

fix(dcode): improve managed first-run sessions - #6680

Merged
cv merged 22 commits into
mainfrom
codex/fix-managed-deep-code-ux-6678
Jul 11, 2026
Merged

fix(dcode): improve managed first-run sessions#6680
cv merged 22 commits into
mainfrom
codex/fix-managed-deep-code-ux-6678

Conversation

@jyaunches

@jyaunches jyaunches commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Summary

This PR removes managed Deep Agents Code first-run friction and ensures each terminal session cleans up its associated LangGraph process descendants.
The root cause was that the managed image left optional upstream onboarding, tool warnings, and child lifecycle behavior at upstream defaults; existing acceptance coverage allowed the name prompt and did not prove descendant cleanup or native OpenRouter usage identity.

Related Issue

Fixes #6678.

Changes

  • Install pinned ripgrep in the Deep Agents Code base image and pre-complete the optional upstream name onboarding marker.
  • Suppress the optional Tavily warning in generated managed config while preserving errors when web search is configured or invoked.
  • Run managed DCode launches under a Linux child-subreaper supervisor that forwards disconnect signals and terminates only descendants associated with that launch.
  • Normalize managed OpenRouter status identity and extend installed-runtime acceptance to require native OpenRouter config, identity, usage output, and a headless turn through inference.local.
  • Update the Deep Agents quickstart for the new first-run and terminal cleanup behavior.

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: Issue-scoped review of the root-owned launcher and sandbox image boundary; cleanup is limited to descendants adopted by one DCode launch, with regression coverage for orphan termination and signal/exit behavior.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Verification

  • PR description includes the DCO sign-off declaration and every commit appears as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push hooks passed, or npm run check:diff passed when hooks were skipped or unavailable
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — npx vitest run test/langchain-deepagents-code-config.test.ts test/langchain-deepagents-code-image.test.ts test/dcode-wrapper-identity.test.ts test/deepagents-code-tui-startup-check.test.ts test/dcode-session-supervisor.test.ts test/langchain-deepagents-code-proxy-launcher.test.ts (67 passed on macOS; 25 Linux-only tests skipped for CI), plus focused ShellCheck and Python compile validation.
  • Applicable broad gate passed — npm test for broad runtime/test-harness changes; npm run check for repo-wide validation/coverage changes — command/result:
  • 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

Summary by CodeRabbit

  • New Features
    • Managed sessions now include a supervisor that monitors and cleans up descendant processes on terminal exit/disconnect.
    • Deep Agents Code images now ship with ripgrep and default onboarding as completed.
  • Bug Fixes
    • Managed process exit codes are preserved more reliably, with improved signal forwarding/handling.
    • Identity/provider reporting is normalized for OpenRouter openrouter: models and base URL fallback.
  • Documentation
    • Quickstart/considerations updated to reflect pre-completed managed flows and session cleanup behavior.
  • Tests
    • Updated and expanded managed/integration checks for Linux-only supervision and OpenRouter identity scenarios.

@jyaunches jyaunches added the area: docs Documentation, examples, guides, or docs build label Jul 11, 2026
@jyaunches jyaunches self-assigned this Jul 11, 2026
@coderabbitai

coderabbitai Bot commented Jul 11, 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

Managed Deep Agents Code now preloads onboarding state and ripgrep, supervises launched process descendants, normalizes native OpenRouter identity, suppresses optional Tavily warnings, and expands runtime and startup validation.

Changes

Managed Deep Agents Code runtime

Layer / File(s) Summary
Image entrypoint and session lifecycle
agents/langchain-deepagents-code/Dockerfile, agents/langchain-deepagents-code/dcode-launcher.sh, agents/langchain-deepagents-code/dcode-session-supervisor.py, test/dcode-session-supervisor.test.ts, test/langchain-deepagents-code-image.test.ts, test/langchain-deepagents-code-proxy-launcher.test.ts, docs/get-started/...
The managed launcher runs the Python supervisor around ordinary commands, which reaps and terminates descendants; identity commands remain direct wrapper executions, with corresponding contracts and documentation.
Provider identity and warning configuration
agents/langchain-deepagents-code/dcode-wrapper.sh, agents/langchain-deepagents-code/generate-config.ts, test/dcode-wrapper-identity.test.ts, test/langchain-deepagents-code-config.test.ts, test/e2e/.../07-deepagents-code-headless-inference.sh
Generated config suppresses Tavily warnings, and native OpenRouter configuration is reflected in identity and headless inference checks.
Managed onboarding state and startup validation
agents/langchain-deepagents-code/Dockerfile.base, test/langchain-deepagents-code-image.test.ts, test/deepagents-code-tui-startup-check.test.ts, test/e2e/.../10-deepagents-code-tui-startup.sh, docs/get-started/...
The base image pre-seeds completed onboarding and installs ripgrep; startup checks reject pending onboarding and validate repeated sessions, cleanup, and sanitized captures.

Estimated code review effort: 4 (Complex) | ~45 minutes

Suggested labels: bug-fix, integration: dcode, area: onboarding, area: sandbox

Suggested reviewers: prekshivyas, sandl99

Sequence Diagram(s)

sequenceDiagram
  participant Launcher as dcode-launcher.sh
  participant Supervisor as dcode-session-supervisor.py
  participant Wrapper as dcode-wrapper.sh
  participant Descendants as Managed descendants
  Launcher->>Supervisor: launch wrapper and arguments
  Supervisor->>Wrapper: execute managed wrapper
  Wrapper->>Descendants: spawn session processes
  Supervisor->>Descendants: terminate descendants during shutdown
Loading
🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly summarizes the managed first-run session UX and cleanup work.
Linked Issues check ✅ Passed The PR implements the requested onboarding, ripgrep, Tavily, cleanup, and OpenRouter behaviors.
Out of Scope Changes check ✅ Passed The changes stay focused on managed Deep Agents Code UX, cleanup, docs, and tests.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/fix-managed-deep-code-ux-6678

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

@github-code-quality

github-code-quality Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage remains at 96%, unchanged from the main branch.

TypeScript / code-coverage/cli

The overall coverage in the codex/fix-managed-de... branch is 79%. The coverage in the main branch is 78%.

Show a code coverage summary of the most impacted files.
File main 0b99487 codex/fix-managed-de... bc8c962 +/-
src/lib/state/m...-acquisition.ts 85% 78% -7%
src/lib/state/registry.ts 88% 82% -6%
src/lib/messagi.../persistence.ts 90% 93% +3%
src/lib/actions...ateway-state.ts 76% 80% +4%
src/lib/messagi...onfig-prompt.ts 91% 97% +6%
src/lib/actions...ard-recovery.ts 83% 91% +8%
src/lib/state/sandbox.ts 75% 85% +10%
src/lib/state/tar-listing.ts 76% 93% +17%
src/lib/cli/com...and-registry.ts 60% 90% +30%
src/lib/actions/global.ts 53% 83% +30%

Updated July 11, 2026 16:26 UTC
Code Coverage is in Public Preview. Learn more and provide us with your feedback.

@github-actions

Copy link
Copy Markdown
Contributor

Comment thread agents/langchain-deepagents-code/dcode-session-supervisor.py Fixed
Comment thread agents/langchain-deepagents-code/dcode-session-supervisor.py Fixed
@github-actions

github-actions Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: cloud-onboard, ubuntu-repo-cloud-langchain-deepagents-code
Optional E2E: None

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • cloud-onboard (high): Required by the deterministic risk plan floor for platform-install changes to agents/langchain-deepagents-code/Dockerfile and Dockerfile.base; validates clean hosted onboarding and pinned runtime dependency installation.
  • ubuntu-repo-cloud-langchain-deepagents-code (high): The changed DCode image, launcher, session supervisor, config generator, headless inference check, fresh re-onboard check, and TUI startup check directly affect the LangChain Deep Agents Code live target and real terminal-agent user flows.

Optional E2E

  • None.

New E2E recommendations

  • deepagents-code-pr-dispatch (high): The most relevant Deep Agents Code coverage is the typed live target ubuntu-repo-cloud-langchain-deepagents-code, while the PR-gated workflow path is job-selector oriented. A discrete dispatchable job for the DCode cloud target or its TUI/headless/fresh-reonboard checks would make this risk floor easier to request and enforce.
    • Suggested test: Add a workflow-dispatch job id for the LangChain Deep Agents Code cloud target that runs test/e2e/live/registry-targets.test.ts for ubuntu-repo-cloud-langchain-deepagents-code.

@github-actions

github-actions Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

E2E Target Recommendation

Required E2E targets: cloud-onboard, ubuntu-repo-cloud-langchain-deepagents-code
Optional E2E targets: None

Dispatch required E2E targets:

  • gh workflow run e2e.yaml --ref <pr-head-ref> --field jobs=cloud-onboard
  • gh workflow run e2e.yaml --ref <pr-head-ref> --field targets=ubuntu-repo-cloud-langchain-deepagents-code

Workflow run

Full E2E target advisor summary

E2E Target Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E targets

  • cloud-onboard: Installer and platform changes must work on a clean supported host with the pinned runtime dependencies.
    • Dispatch: gh workflow run e2e.yaml --ref <pr-head-ref> --field jobs=cloud-onboard
  • ubuntu-repo-cloud-langchain-deepagents-code: Deep Agents Code launcher, wrapper, config, image, and cloud check changes affect the live-supported typed Deep Agents Code target, including terminal-agent and deepagents-code-policy validation.
    • Dispatch: gh workflow run e2e.yaml --ref <pr-head-ref> --field targets=ubuntu-repo-cloud-langchain-deepagents-code

Optional E2E targets

  • None.

Relevant changed files

  • agents/langchain-deepagents-code/Dockerfile
  • agents/langchain-deepagents-code/Dockerfile.base
  • agents/langchain-deepagents-code/dcode-launcher.sh
  • agents/langchain-deepagents-code/dcode-session-supervisor.py
  • agents/langchain-deepagents-code/dcode-wrapper.sh
  • agents/langchain-deepagents-code/generate-config.ts
  • test/e2e/e2e-cloud-experimental/checks/07-deepagents-code-headless-inference.sh
  • test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh

@github-actions

github-actions Bot commented Jul 11, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings

Merge posture: No blocking advisor findings
Primary next action: No advisor follow-up required beyond maintainer review.
Findings: 0 required · 0 warnings · 0 optional suggestions
Since last review: 0 prior items resolved · 0 still apply · 0 new items found

Workflow run details

This is an automated review. Required findings need action before merge. Warnings and optional suggestions do not require a response or follow-up. A human maintainer makes the final merge decision.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ❌ Some jobs failed

Run: 29155835210
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested jobs: (default — all default-enabled free-standing jobs; explicit-only jobs openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
live ❌ failure

Failed jobs: live. Check run artifacts for logs.

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested jobs passed

Run: 29155824202
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: (default — all supported)
Requested jobs: cloud-onboard
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
cloud-onboard ✅ success

@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 `@agents/langchain-deepagents-code/dcode-session-supervisor.py`:
- Around line 109-137: Move the SIGINT no-op and SIGHUP/SIGTERM forwarding
handler registration in run before subprocess.Popen, ensuring the handlers are
active before the child is created and remain in effect through child.wait and
_cleanup_adopted_descendants. Keep forward targeting the spawned child via its
pid, so preserve the handler setup without weakening signal or cleanup behavior.
🪄 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: a4ba88c4-73f7-4d60-af5a-07fa96603d1f

📥 Commits

Reviewing files that changed from the base of the PR and between e4d2e91 and 1e7f3ae.

📒 Files selected for processing (15)
  • agents/langchain-deepagents-code/Dockerfile
  • agents/langchain-deepagents-code/Dockerfile.base
  • agents/langchain-deepagents-code/dcode-launcher.sh
  • agents/langchain-deepagents-code/dcode-session-supervisor.py
  • agents/langchain-deepagents-code/dcode-wrapper.sh
  • agents/langchain-deepagents-code/generate-config.ts
  • docs/get-started/quickstart-langchain-deepagents-code.mdx
  • test/dcode-session-supervisor.test.ts
  • test/dcode-wrapper-identity.test.ts
  • test/deepagents-code-tui-startup-check.test.ts
  • test/e2e/e2e-cloud-experimental/checks/07-deepagents-code-headless-inference.sh
  • test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh
  • test/langchain-deepagents-code-config.test.ts
  • test/langchain-deepagents-code-image.test.ts
  • test/langchain-deepagents-code-proxy-launcher.test.ts

Comment thread agents/langchain-deepagents-code/dcode-session-supervisor.py
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ❌ Some jobs failed

Run: 29156030382
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested jobs: (default — all default-enabled free-standing jobs; explicit-only jobs openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
live ❌ failure

Failed jobs: live. Check run artifacts for logs.

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>

@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

🧹 Nitpick comments (1)
test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh (1)

430-434: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚡ Quick win

Capture the expected non-zero status without disabling errexit.

The non-zero run_tui_expect result is intentional, but an if statement makes that handling explicit and prevents future commands added to this window from silently ignoring failures.

Suggested refactor
-    set +e
-    run_tui_expect "$raw_capture_file" "$marker_capture_file" "$expect_name_prompt" >"$expect_log_file" 2>&1
-    expect_rc=$?
-    set -e
+    if run_tui_expect "$raw_capture_file" "$marker_capture_file" "$expect_name_prompt" >"$expect_log_file" 2>&1; then
+      expect_rc=0
+    else
+      expect_rc=$?
+    fi
🤖 Prompt for 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.

In `@test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh`
around lines 430 - 434, Update the run_tui_expect invocation in the startup
check to capture its intentional non-zero status through an explicit if
statement, rather than temporarily disabling errexit with set +e/set -e.
Preserve assignment of the command’s exit status to expect_rc and ensure
failures in any subsequent commands remain subject to errexit.

Source: Linters/SAST tools

🤖 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 `@test/deepagents-code-tui-startup-check.test.ts`:
- Around line 205-212: Replace the source-text assertions in the test “runs two
managed TUI sessions and waits for the process count to return to baseline” with
helper-backed execution of the startup check, following the existing lifecycle
test pattern. Assert the public command’s status, stdout, and process-capture
outcomes to verify both sessions run and the process count returns to baseline.

---

Nitpick comments:
In `@test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh`:
- Around line 430-434: Update the run_tui_expect invocation in the startup check
to capture its intentional non-zero status through an explicit if statement,
rather than temporarily disabling errexit with set +e/set -e. Preserve
assignment of the command’s exit status to expect_rc and ensure failures in any
subsequent commands remain subject to errexit.
🪄 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: 2f5d6e19-eb2c-49e7-9ebd-3d42edf210be

📥 Commits

Reviewing files that changed from the base of the PR and between 1e7f3ae and 6554547.

📒 Files selected for processing (3)
  • agents/langchain-deepagents-code/dcode-session-supervisor.py
  • test/deepagents-code-tui-startup-check.test.ts
  • test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh
🚧 Files skipped from review as they are similar to previous changes (1)
  • agents/langchain-deepagents-code/dcode-session-supervisor.py

Comment thread test/deepagents-code-tui-startup-check.test.ts Outdated
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested jobs passed

Run: 29156029318
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: (default — all supported)
Requested jobs: cloud-onboard
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
cloud-onboard ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ❌ Some jobs failed

Run: 29156140629
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested jobs: (default — all default-enabled free-standing jobs; explicit-only jobs openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
live ❌ failure

Failed jobs: live. Check run artifacts for logs.

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ❌ Some jobs failed

Run: 29156225307
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested jobs: (default — all default-enabled free-standing jobs; explicit-only jobs openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
live ❌ failure

Failed jobs: live. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested jobs passed

Run: 29156139725
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: (default — all supported)
Requested jobs: cloud-onboard
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
cloud-onboard ✅ success

@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.

🧹 Nitpick comments (1)
test/dcode-session-supervisor.test.ts (1)

19-49: 📐 Maintainability & Code Quality | 🔵 Trivial | ⚖️ Poor tradeoff

Signal-forwarding test asserts on mocked os.kill calls rather than observable behavior.

This test stubs _enable_child_subreaper/_cleanup_adopted_descendants to no-ops, monkeypatches module.os.kill, and asserts on the captured (pid, sig) tuples — a private-shape/mock-call assertion of an implementation detail rather than an outcome observable through the supervisor's public boundary (e.g., that the real descendant actually receives/reacts to the forwarded signal, as done in the black-box test at lines 58-87). Per path instructions for test files, prefer asserting observable outcomes over mock-call assertions, and flag broad mocks that bypass behavior under test.

I recognize the specific pending-signal race window this targets is difficult to reproduce deterministically with real subprocesses/signals, which is likely why this mock-heavy approach was chosen. If a fully black-box reproduction of this race isn't practical, consider at least narrowing the mock surface or documenting why this unit-level approach is necessary here.

As per path instructions for **/*.test.{ts,js,mts,mjs,cts,cjs}: "Prefer observable outcomes through the public boundary over source-text, private-shape, or mock-call assertions. Flag copied production algorithms, broad mocks that bypass the behavior under test, and conditionals that make a test pass without exercising its claim."

🤖 Prompt for 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.

In `@test/dcode-session-supervisor.test.ts` around lines 19 - 49, Replace the
mock-call assertion in the “installs disconnect handlers before spawning DCode”
test with an observable signal-forwarding outcome through the supervisor’s
public boundary, matching the black-box approach used by the nearby test. Avoid
broad stubs of _enable_child_subreaper, _cleanup_adopted_descendants, and
module.os.kill; if deterministic reproduction requires limited mocking, narrow
and document that boundary while still asserting the child’s observable
reaction.

Source: Path instructions

🤖 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.

Nitpick comments:
In `@test/dcode-session-supervisor.test.ts`:
- Around line 19-49: Replace the mock-call assertion in the “installs disconnect
handlers before spawning DCode” test with an observable signal-forwarding
outcome through the supervisor’s public boundary, matching the black-box
approach used by the nearby test. Avoid broad stubs of _enable_child_subreaper,
_cleanup_adopted_descendants, and module.os.kill; if deterministic reproduction
requires limited mocking, narrow and document that boundary while still
asserting the child’s observable reaction.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: dc868384-82fa-4f75-b621-f06c133363f1

📥 Commits

Reviewing files that changed from the base of the PR and between 6554547 and cdf55f2.

📒 Files selected for processing (4)
  • agents/langchain-deepagents-code/Dockerfile.base
  • agents/langchain-deepagents-code/dcode-session-supervisor.py
  • test/dcode-session-supervisor.test.ts
  • test/langchain-deepagents-code-image.test.ts
🚧 Files skipped from review as they are similar to previous changes (2)
  • agents/langchain-deepagents-code/Dockerfile.base
  • test/langchain-deepagents-code-image.test.ts

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ❌ Some jobs failed

Run: 29156344772
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested jobs: (default — all default-enabled free-standing jobs; explicit-only jobs openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
live ❌ failure

Failed jobs: live. Check run artifacts for logs.

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested jobs passed

Run: 29156343819
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: (default — all supported)
Requested jobs: cloud-onboard
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
cloud-onboard ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ❌ Some jobs failed

Run: 29156501976
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested jobs: (default — all default-enabled free-standing jobs; explicit-only jobs openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
live ❌ failure

Failed jobs: live. Check run artifacts for logs.

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ❌ Some jobs failed

Run: 29157514680
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested jobs: (default — all default-enabled free-standing jobs; explicit-only jobs openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 0 passed, 1 failed, 0 cancelled, 0 skipped

Job Result
live ❌ failure

Failed jobs: live. Check run artifacts for logs.

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All selected jobs passed

Run: 29157831831
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested jobs: (default — all default-enabled free-standing jobs; explicit-only jobs openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped

Job Result
live ✅ success

…p-code-ux-6678

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested tests passed

Run: 29158345030
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: (default — all supported)
Requested test IDs: cloud-onboard
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped, 0 unknown

Test Result
cloud-onboard ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All selected tests passed

Run: 29158343848
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested test IDs: (default — all default-enabled tests; explicit-only tests openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped, 0 unknown

Test Result
live ✅ success

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested tests passed

Run: 29158798591
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: (default — all supported)
Requested test IDs: cloud-onboard
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped, 0 unknown

Test Result
cloud-onboard ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All selected tests passed

Run: 29158797538
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested test IDs: (default — all default-enabled tests; explicit-only tests openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped, 0 unknown

Test Result
live ✅ success

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested tests passed

Run: 29159121344
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: (default — all supported)
Requested test IDs: cloud-onboard
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped, 0 unknown

Test Result
cloud-onboard ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All selected tests passed

Run: 29159120240
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested test IDs: (default — all default-enabled tests; explicit-only tests openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped, 0 unknown

Test Result
live ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested tests passed

Run: 29159300097
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: (default — all supported)
Requested test IDs: cloud-onboard
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped, 0 unknown

Test Result
cloud-onboard ✅ success

cv and others added 3 commits July 11, 2026 09:17
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
…678' into codex/fix-managed-deep-code-ux-6678

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ⚠️ Run cancelled — no signal

Run: 29159299034
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested test IDs: (default — all default-enabled tests; explicit-only tests openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 0 passed, 0 failed, 1 cancelled, 0 skipped, 0 unknown

Test Result
live ⚠️ cancelled

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All requested tests passed

Run: 29159581353
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: (default — all supported)
Requested test IDs: cloud-onboard
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped, 0 unknown

Test Result
cloud-onboard ✅ success

@github-actions

Copy link
Copy Markdown
Contributor

E2E Target Results — ✅ All selected tests passed

Run: 29159580246
Workflow ref: codex/fix-managed-deep-code-ux-6678
Requested targets: ubuntu-repo-cloud-langchain-deepagents-code
Requested test IDs: (default — all default-enabled tests; explicit-only tests openshell-gateway-auth-contract, mcp-bridge-dev, hermes-gpu-startup, sandbox-rlimits-connect, and jetson-nvmap-gpu are skipped unless selected)
Summary: 1 passed, 0 failed, 0 cancelled, 0 skipped, 0 unknown

Test Result
live ✅ success

@cv
cv merged commit 5b031d8 into main Jul 11, 2026
202 of 204 checks passed
@cv
cv deleted the codex/fix-managed-deep-code-ux-6678 branch July 11, 2026 16:35
@cv cv mentioned this pull request Jul 12, 2026
21 tasks
cv added a commit that referenced this pull request Jul 12, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Release-prep documentation for v0.0.81 now summarizes user-facing
changes merged since v0.0.80.
It also closes the Hermes dashboard-profile backup gap and distinguishes
direct blueprint-runner actions from public host CLI commands.

## Changes

- Add the `v0.0.81` section to `docs/about/release-notes.mdx` with links
to the detailed user guides.
- Document that Hermes rebuilds preserve `.hermes/dashboard-home/`,
including Dashboard `MEMORY.md` and `USER.md`.
- Update Hermes manual backup and restore examples to transfer those two
profile files without copying generated configuration or the
secret-bearing dashboard `.env`.
- Explain the new per-item backup failure causes.
- Clarify that migration snapshot retention fragments are direct-runner
arguments and are not exposed by the host `nemoclaw` CLI.

### Source summary

- #6445 -> `docs/about/release-notes.mdx`,
`docs/manage-sandboxes/backup-restore.mdx`, and
`docs/manage-sandboxes/workspace-files.mdx`: Summarize manifest-owned
key-level restore and current-config authority.
- #6617 -> `docs/about/release-notes.mdx` and
`docs/manage-sandboxes/backup-restore.mdx`: Record the fail-closed
`/proc` fallback used to verify an idle Deep Agents runtime before
snapshot creation.
- #6685 -> `docs/about/release-notes.mdx`,
`docs/manage-sandboxes/backup-restore.mdx`, and
`docs/manage-sandboxes/workspace-files.mdx`: Document Hermes Web
Dashboard profile persistence and safe manual transfer.
- #6649 -> `docs/about/release-notes.mdx`: Summarize host-validated
loopback compatible-endpoint routing through the sandbox gateway.
- #6643 -> `docs/about/release-notes.mdx`: Summarize automatic
`max_completion_tokens` handling for GPT-5 and o-series models.
- #6661 -> `docs/about/release-notes.mdx`: Summarize bounded connection
reuse for eligible provider-validation probes.
- #6704 -> `docs/about/release-notes.mdx`: Record that direct blueprint
apply stops instead of persisting incomplete state after provider or
inference setup fails.
- #6677 -> `docs/about/release-notes.mdx`: Summarize transactional
recovery for legacy Docker containers whose managed supervisor
disappeared after restart.
- #6625 -> `docs/about/release-notes.mdx`: Record Hermes managed-startup
persistence across direct Docker restarts.
- #6597 -> `docs/about/release-notes.mdx`: Record final-sandbox gateway
cleanup on macOS.
- #6680 -> `docs/about/release-notes.mdx`: Summarize managed Deep Agents
first-run and process-tree cleanup improvements.
- #6647 -> `docs/about/release-notes.mdx`: Record fail-closed validation
for the managed Deep Agents fetch CA bundle.
- #6645 -> `docs/about/release-notes.mdx`: Summarize WhatsApp loopback
pairing and trusted npm plugin provenance.
- #6673 -> `docs/about/release-notes.mdx` and
`docs/manage-sandboxes/backup-restore.mdx`: Document stopped-sandbox
backup remediation.
- #6631 -> `docs/about/release-notes.mdx` and
`docs/manage-sandboxes/backup-restore.mdx`: Document per-item backup
failure causes.
- #6620 -> `docs/about/release-notes.mdx`: Record the
created-but-not-ready sandbox lifecycle receipt.
- #6664 -> `docs/about/release-notes.mdx`: Record prompt-aware
onboarding progress output.
- #6598 -> `docs/about/release-notes.mdx`: Summarize stale replay-result
invalidation during resumed onboarding.
- #6593 -> `docs/about/release-notes.mdx`: Summarize contextual OpenClaw
audit findings for managed dashboard compatibility settings.
- #6650 -> `docs/about/release-notes.mdx`: Record redaction of
token-shaped URL query values.
- #6638 -> `docs/about/release-notes.mdx`: Record the exact-path MCP
`DELETE` policy recipe for session termination.
- #5453 -> `docs/reference/host-files-and-state.mdx`: Clarify that
snapshot retention actions belong to direct runner integrations and are
not standalone host CLI commands.

### Skipped from docs-skip

- #6633 matched the `openclaw-sandbox-permissive.yaml` path in
`docs/.docs-skip` and produced no documentation in this update.

## Type of Change

- [ ] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [ ] Doc only (prose changes, no code sample modifications)
- [x] 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 is a documentation-only
release-prep update; behavior is protected by the merged source PRs, and
the documentation build validates the changed examples and routes.
- [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:

## Verification

- [x] PR description includes the DCO sign-off declaration and every
commit appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run check:diff` passed when hooks were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — tests are not applicable for this
documentation-only change; `npm run docs` completed successfully.
- [ ] Applicable broad gate passed — `npm test` for broad
runtime/test-harness changes; `npm run check` for repo-wide
validation/coverage changes — command/result: not run for this
documentation-only change.
- [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) — 0
errors; two existing Fern warnings remain.
- [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)
— no new pages.

---
Signed-off-by: Carlos Villela <cvillela@nvidia.com>


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

## Summary by CodeRabbit

- **Documentation**
- Added release notes for v0.0.81 covering state preservation, inference
setup, sandbox recovery, session setup, pairing, diagnostics, and
security policy updates.
- Expanded backup and restore guidance to include dashboard profile
files and clarify files that must not be copied.
- Added dashboard profile persistence details to workspace and rebuild
documentation.
- Clarified snapshot retention guidance and the distinction between host
CLI capabilities and direct runner actions.
  - Added more detailed backup failure reporting information.

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

Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Hadar301 pushed a commit to Hadar301/NemoClaw-OpenShift that referenced this pull request Jul 12, 2026
<!-- markdownlint-disable MD041 -->
## Summary
This PR removes managed Deep Agents Code first-run friction and ensures
each terminal session cleans up its associated LangGraph process
descendants.
The root cause was that the managed image left optional upstream
onboarding, tool warnings, and child lifecycle behavior at upstream
defaults; existing acceptance coverage allowed the name prompt and did
not prove descendant cleanup or native OpenRouter usage identity.

## Related Issue
Fixes NVIDIA#6678.

## Changes
- Install pinned `ripgrep` in the Deep Agents Code base image and
pre-complete the optional upstream name onboarding marker.
- Suppress the optional Tavily warning in generated managed config while
preserving errors when web search is configured or invoked.
- Run managed DCode launches under a Linux child-subreaper supervisor
that forwards disconnect signals and terminates only descendants
associated with that launch.
- Normalize managed OpenRouter status identity and extend
installed-runtime acceptance to require native OpenRouter config,
identity, usage output, and a headless turn through `inference.local`.
- Update the Deep Agents quickstart for the new first-run and terminal
cleanup behavior.

## Type of Change

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

## Quality Gates
<!-- Check exactly one tests line and one docs line. Check other lines
when applicable. Add every requested justification or approval
reference. -->
- [x] Tests added or updated for changed behavior
- [ ] Existing tests cover changed behavior — justification:
- [ ] Tests not applicable — justification:
- [x] Docs updated for user-facing behavior changes
- [ ] Docs not applicable — justification:
- [x] Sensitive paths changed (security, policy, credentials, preflight,
onboarding, inference, runner, sandbox, or messaging)
- [x] Sensitive-path review completed or maintainer-approved waiver
recorded — reviewer/approval link/justification: Issue-scoped review of
the root-owned launcher and sandbox image boundary; cleanup is limited
to descendants adopted by one DCode launch, with regression coverage for
orphan termination and signal/exit behavior.
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Verification
<!-- Check each applicable item only when supported by the requested
evidence. Run targeted tests once per relevant change set and rerun
after later edits or hook autofixes that can affect the tested behavior.
Do not rerun hook-covered checks. -->
- [x] PR description includes the DCO sign-off declaration and every
commit appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run check:diff` passed 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
test/langchain-deepagents-code-config.test.ts
test/langchain-deepagents-code-image.test.ts
test/dcode-wrapper-identity.test.ts
test/deepagents-code-tui-startup-check.test.ts
test/dcode-session-supervisor.test.ts
test/langchain-deepagents-code-proxy-launcher.test.ts` (67 passed on
macOS; 25 Linux-only tests skipped for CI), plus focused ShellCheck and
Python compile validation.
- [ ] 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 pages only)

---
<!-- DCO sign-off is required in this PR description, and every commit
must appear as Verified in GitHub. Run: git config user.name && git
config user.email -->
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>


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

- **New Features**
- Managed sessions now include a supervisor that monitors and cleans up
descendant processes on terminal exit/disconnect.
- Deep Agents Code images now ship with `ripgrep` and default onboarding
as completed.
- **Bug Fixes**
- Managed process exit codes are preserved more reliably, with improved
signal forwarding/handling.
- Identity/provider reporting is normalized for OpenRouter `openrouter:`
models and base URL fallback.
- **Documentation**
- Quickstart/considerations updated to reflect pre-completed managed
flows and session cleanup behavior.
- **Tests**
- Updated and expanded managed/integration checks for Linux-only
supervision and OpenRouter identity scenarios.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
Co-authored-by: Carlos Villela <cvillela@nvidia.com>
Hadar301 pushed a commit to Hadar301/NemoClaw-OpenShift that referenced this pull request Jul 12, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Release-prep documentation for v0.0.81 now summarizes user-facing
changes merged since v0.0.80.
It also closes the Hermes dashboard-profile backup gap and distinguishes
direct blueprint-runner actions from public host CLI commands.

## Changes

- Add the `v0.0.81` section to `docs/about/release-notes.mdx` with links
to the detailed user guides.
- Document that Hermes rebuilds preserve `.hermes/dashboard-home/`,
including Dashboard `MEMORY.md` and `USER.md`.
- Update Hermes manual backup and restore examples to transfer those two
profile files without copying generated configuration or the
secret-bearing dashboard `.env`.
- Explain the new per-item backup failure causes.
- Clarify that migration snapshot retention fragments are direct-runner
arguments and are not exposed by the host `nemoclaw` CLI.

### Source summary

- NVIDIA#6445 -> `docs/about/release-notes.mdx`,
`docs/manage-sandboxes/backup-restore.mdx`, and
`docs/manage-sandboxes/workspace-files.mdx`: Summarize manifest-owned
key-level restore and current-config authority.
- NVIDIA#6617 -> `docs/about/release-notes.mdx` and
`docs/manage-sandboxes/backup-restore.mdx`: Record the fail-closed
`/proc` fallback used to verify an idle Deep Agents runtime before
snapshot creation.
- NVIDIA#6685 -> `docs/about/release-notes.mdx`,
`docs/manage-sandboxes/backup-restore.mdx`, and
`docs/manage-sandboxes/workspace-files.mdx`: Document Hermes Web
Dashboard profile persistence and safe manual transfer.
- NVIDIA#6649 -> `docs/about/release-notes.mdx`: Summarize host-validated
loopback compatible-endpoint routing through the sandbox gateway.
- NVIDIA#6643 -> `docs/about/release-notes.mdx`: Summarize automatic
`max_completion_tokens` handling for GPT-5 and o-series models.
- NVIDIA#6661 -> `docs/about/release-notes.mdx`: Summarize bounded connection
reuse for eligible provider-validation probes.
- NVIDIA#6704 -> `docs/about/release-notes.mdx`: Record that direct blueprint
apply stops instead of persisting incomplete state after provider or
inference setup fails.
- NVIDIA#6677 -> `docs/about/release-notes.mdx`: Summarize transactional
recovery for legacy Docker containers whose managed supervisor
disappeared after restart.
- NVIDIA#6625 -> `docs/about/release-notes.mdx`: Record Hermes managed-startup
persistence across direct Docker restarts.
- NVIDIA#6597 -> `docs/about/release-notes.mdx`: Record final-sandbox gateway
cleanup on macOS.
- NVIDIA#6680 -> `docs/about/release-notes.mdx`: Summarize managed Deep Agents
first-run and process-tree cleanup improvements.
- NVIDIA#6647 -> `docs/about/release-notes.mdx`: Record fail-closed validation
for the managed Deep Agents fetch CA bundle.
- NVIDIA#6645 -> `docs/about/release-notes.mdx`: Summarize WhatsApp loopback
pairing and trusted npm plugin provenance.
- NVIDIA#6673 -> `docs/about/release-notes.mdx` and
`docs/manage-sandboxes/backup-restore.mdx`: Document stopped-sandbox
backup remediation.
- NVIDIA#6631 -> `docs/about/release-notes.mdx` and
`docs/manage-sandboxes/backup-restore.mdx`: Document per-item backup
failure causes.
- NVIDIA#6620 -> `docs/about/release-notes.mdx`: Record the
created-but-not-ready sandbox lifecycle receipt.
- NVIDIA#6664 -> `docs/about/release-notes.mdx`: Record prompt-aware
onboarding progress output.
- NVIDIA#6598 -> `docs/about/release-notes.mdx`: Summarize stale replay-result
invalidation during resumed onboarding.
- NVIDIA#6593 -> `docs/about/release-notes.mdx`: Summarize contextual OpenClaw
audit findings for managed dashboard compatibility settings.
- NVIDIA#6650 -> `docs/about/release-notes.mdx`: Record redaction of
token-shaped URL query values.
- NVIDIA#6638 -> `docs/about/release-notes.mdx`: Record the exact-path MCP
`DELETE` policy recipe for session termination.
- NVIDIA#5453 -> `docs/reference/host-files-and-state.mdx`: Clarify that
snapshot retention actions belong to direct runner integrations and are
not standalone host CLI commands.

### Skipped from docs-skip

- NVIDIA#6633 matched the `openclaw-sandbox-permissive.yaml` path in
`docs/.docs-skip` and produced no documentation in this update.

## Type of Change

- [ ] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [ ] Doc only (prose changes, no code sample modifications)
- [x] 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 is a documentation-only
release-prep update; behavior is protected by the merged source PRs, and
the documentation build validates the changed examples and routes.
- [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:

## Verification

- [x] PR description includes the DCO sign-off declaration and every
commit appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run check:diff` passed when hooks were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — tests are not applicable for this
documentation-only change; `npm run docs` completed successfully.
- [ ] Applicable broad gate passed — `npm test` for broad
runtime/test-harness changes; `npm run check` for repo-wide
validation/coverage changes — command/result: not run for this
documentation-only change.
- [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) — 0
errors; two existing Fern warnings remain.
- [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)
— no new pages.

---
Signed-off-by: Carlos Villela <cvillela@nvidia.com>


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

## Summary by CodeRabbit

- **Documentation**
- Added release notes for v0.0.81 covering state preservation, inference
setup, sandbox recovery, session setup, pairing, diagnostics, and
security policy updates.
- Expanded backup and restore guidance to include dashboard profile
files and clarify files that must not be copied.
- Added dashboard profile persistence details to workspace and rebuild
documentation.
- Clarified snapshot retention guidance and the distinction between host
CLI capabilities and direct runner actions.
  - Added more detailed backup failure reporting information.

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

Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: docs Documentation, examples, guides, or docs build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Improve managed Deep Code first-run UX and clean up embedded terminal sessions

3 participants