Skip to content

test(ci): stabilize platform vitest on main - #4650

Merged
cv merged 1 commit into
mainfrom
fix/main-platform-vitest-failures
Jun 2, 2026
Merged

test(ci): stabilize platform vitest on main#4650
cv merged 1 commit into
mainfrom
fix/main-platform-vitest-failures

Conversation

@cv

@cv cv commented Jun 2, 2026

Copy link
Copy Markdown
Collaborator

Summary

Stabilizes the platform Vitest failures from the main push run by making the affected tests hermetic across macOS and WSL. The changes keep CI-only environment differences from steering tests into the wrong platform branches.

Changes

  • Stub healthy Docker for the connect-readiness gateway recovery test so it exercises the disconnected OpenShell gateway path instead of host Docker availability.
  • Clear inherited WSL environment for the generic Linux sandbox GPU preflight test so it stays on the CDI path.
  • Force the installer Docker group re-exec test to run its Linux branch even when the suite runs on macOS.
  • Update the Dockerfile runtime-tools snippet test to mock the newly required tmux runtime tool.

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)

Verification

  • npx prek run --all-files passes
  • npm test passes
  • Tests added or updated for new or changed behavior
  • No secrets, API keys, or credentials committed
  • Docs updated for user-facing behavior changes
  • 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: Carlos Villela cvillela@nvidia.com

Summary by CodeRabbit

  • Tests
    • Enhanced test coverage for GPU preflight validation, Docker daemon health checks, installer platform detection, and package installation verification to improve test reliability and prevent false failures on different runner environments.

@cv cv self-assigned this Jun 2, 2026
@coderabbitai

coderabbitai Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

PR updates four test fixtures across the sandbox, Docker, and installer verification suites. Changes include aligning GPU preflight function arguments, injecting Docker health stubs to isolate gateway tests, adding platform guards for non-Linux test runners, and extending provisioning mocks to verify tmux installation.

Changes

Test Fixture and Stub Corrections

Layer / File(s) Summary
GPU preflight test function call alignment
src/lib/onboard/sandbox-gpu-preflight.test.ts
Adds explicit env: {} argument to align the test's validateSandboxGpuPreflight call with the function's expected options shape.
Docker gateway test isolation stub
test/cli.test.ts
Injects writeHealthyDockerStub(localBin) to prevent CLI Docker-outage preflight checks from interfering with the disconnected-gateway scenario.
Installer platform guard bypass for test
test/install-docker-group-reexec.test.ts
Adds Bash uname() stub returning Linux so installer platform guards proceed and continue through ensure_docker slow-path logic on non-Linux test runners.
Provisioning tmux verification fixture extension
test/sandbox-provisioning.test.ts
Extends mocked apt-get and command behavior to track tmux installation: introduces tmuxMarker variable, updates script to touch marker when tmux=3.5a-3 is installed, and makes command -v tmux consult the marker.

Possibly related PRs

  • NVIDIA/NemoClaw#4605: Adds CLI Docker-outage preflight logic that this PR's Docker stub injection guards against.
  • NVIDIA/NemoClaw#4622: Similarly updates test/cli.test.ts to call writeHealthyDockerStub(localBin) to isolate Docker preflight behavior.

Suggested labels

Docker, fix, Sandbox

Poem

🐰 Four little fixtures get their fix today,
Stubs and markers guide the tests their way,
Platform guards and Docker health agree,
The sandbox runs just right, you'll see! ✨

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

🚥 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 'test(ci): stabilize platform vitest on main' directly relates to the primary objective of the pull request: stabilizing platform Vitest failures by making tests hermetic across macOS and WSL.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/main-platform-vitest-failures

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

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: None
Optional E2E: None

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • None. No E2E is recommended because this PR changes only test files and does not alter runtime/user-flow code for onboarding, installation, sandbox lifecycle, credentials, network policy, inference routing, deployment, or assistant behavior. The affected coverage should be handled by the existing unit/integration test jobs that execute these test files.

Optional E2E

  • None.

New E2E recommendations

  • None.

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

E2E Scenario Advisor Recommendation

Required scenario E2E: None
Optional scenario E2E: None

Workflow run

Full scenario advisor summary

E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required scenario E2E

  • None. Changes are limited to unit/integration test files outside test/e2e-scenario/ and do not affect scenario E2E runtime, metadata, workflows, suites, expected states, or scenario-relevant onboarding/install helper implementation paths.

Optional scenario E2E

  • None.

Relevant changed files

  • None.

@github-actions

github-actions Bot commented Jun 2, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor

Findings: 0 needs attention, 0 worth checking, 0 nice ideas
Top item: No actionable findings

Workflow run details

This is an automated advisory review. A human maintainer must make the final merge decision.

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
test/sandbox-provisioning.test.ts (1)

685-702: ⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add assertions to verify tmux installation.

The test sets up complete mocking infrastructure for tmux (marker variable, apt-get stub, command stub) but includes no assertions to verify that tmux is actually installed or that command -v tmux succeeds. This means the test cannot catch regressions if the Dockerfile stops installing tmux.

✅ Suggested assertions to add

After line 719, add assertions similar to the existing procps/e2fsprogs checks:

       expect(calls).toContain("apt-get install -y --no-install-recommends e2fsprogs=1.47.2-3+b11");
       expect(result.stdout).toContain("procps test version");
+      expect(calls).toContain("apt-get install -y --no-install-recommends tmux=3.5a-3");
+      expect(fs.existsSync(tmuxMarker)).toBe(true);
     } finally {
🤖 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/sandbox-provisioning.test.ts` around lines 685 - 702, The test defines
tmux_marker, the apt-get() stub that touches tmux_marker, and the command() stub
that checks tmux via tmux_marker but never asserts it; add assertions mirroring
the procps/e2fsprogs checks to verify tmux was installed and command -v tmux
succeeds by checking the tmux_marker (and/or examining the call_log) after the
Docker run—look for tmux_marker, the apt-get() stub, and command() stub in the
test and insert assertions similar to the existing checks for ps_marker and
chattr_marker.
🧹 Nitpick comments (1)
test/sandbox-provisioning.test.ts (1)

679-679: ⚡ Quick win

Update test name to include tmux.

The test now sets up tmux tracking infrastructure but the test name only mentions "procps and e2fsprogs". Since the PR summary describes tmux as a "newly required runtime tool", the test description should reflect this addition.

📝 Suggested test name update
-  it("runtime hardening installs procps and e2fsprogs when a stale base lacks ps and chattr", () => {
+  it("runtime hardening installs procps, e2fsprogs, and tmux when a stale base lacks ps, chattr, and tmux", () => {
🤖 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/sandbox-provisioning.test.ts` at line 679, Update the test description
string for the it(...) block currently reading "runtime hardening installs
procps and e2fsprogs when a stale base lacks ps and chattr" to also mention tmux
(e.g., "runtime hardening installs procps, e2fsprogs, and tmux when a stale base
lacks ps and chattr") so the test name reflects the added tmux tracking setup;
change the string in the it(...) invocation in the
test/sandbox-provisioning.test.ts file where that test is defined.
🤖 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.

Outside diff comments:
In `@test/sandbox-provisioning.test.ts`:
- Around line 685-702: The test defines tmux_marker, the apt-get() stub that
touches tmux_marker, and the command() stub that checks tmux via tmux_marker but
never asserts it; add assertions mirroring the procps/e2fsprogs checks to verify
tmux was installed and command -v tmux succeeds by checking the tmux_marker
(and/or examining the call_log) after the Docker run—look for tmux_marker, the
apt-get() stub, and command() stub in the test and insert assertions similar to
the existing checks for ps_marker and chattr_marker.

---

Nitpick comments:
In `@test/sandbox-provisioning.test.ts`:
- Line 679: Update the test description string for the it(...) block currently
reading "runtime hardening installs procps and e2fsprogs when a stale base lacks
ps and chattr" to also mention tmux (e.g., "runtime hardening installs procps,
e2fsprogs, and tmux when a stale base lacks ps and chattr") so the test name
reflects the added tmux tracking setup; change the string in the it(...)
invocation in the test/sandbox-provisioning.test.ts file where that test is
defined.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 883eaf8b-c312-4f12-bf73-6172212382b6

📥 Commits

Reviewing files that changed from the base of the PR and between 798d5a3 and 3af30c0.

📒 Files selected for processing (4)
  • src/lib/onboard/sandbox-gpu-preflight.test.ts
  • test/cli.test.ts
  • test/install-docker-group-reexec.test.ts
  • test/sandbox-provisioning.test.ts

@cv
cv merged commit 95ad201 into main Jun 2, 2026
33 checks passed
@cv
cv deleted the fix/main-platform-vitest-failures branch June 2, 2026 06:40
@wscurran wscurran added the chore Build, CI, dependency, or tooling maintenance label Jun 8, 2026
prekshivyas added a commit that referenced this pull request Aug 19, 2026
<!--
patch-walker:action=sha256:4664592e4dabe18250a1e41ea73d7121d7ef19dd4cbc6c01bfe297c519a75974
-->
<!--
patch-walker:manifest=sha256:95728f38d033eae61d4905337245c21043f166f5ef57eaac4908f89e2cc24d7f
-->
<!-- patch-walker:dependency=LangChain Deep Agents Code -->
<!-- patch-walker:target=0.1.55 -->

<!-- markdownlint-disable MD041 -->
## Summary

Updates LangChain Deep Agents Code from 0.1.34 to 0.1.55 using the
sealed NemoPin migration evidence. The implementation and
requested-review fixes are complete; the PR is ready for maintainer
re-review.
<!-- 1-3 plain sentences: what changes and why. Describe
before-and-after behavior when it applies. Follow the NemoClaw Writing
Guide: https://github.com/NVIDIA/NemoClaw/blob/main/WRITING.md. Do not
add unrelated prose cleanup. -->

## Related Issue

No issue closure is claimed.
<!-- Fixes #NNN or Closes #NNN. Remove this section if none. -->

## Changes\n\n- Keeps the dependency migration scoped to LangChain Deep
Agents Code and its onboarding, validation, documentation, and
managed-image checks.\n- Migrates the exact base
`5bb69ed66947fbd2fab6133748866567eb520692` across 21 adjacent release
ranges.\n- Changed paths: `.github/workflows/managed-images.yaml`,
`agents/langchain-deepagents-code/Dockerfile`,
`agents/langchain-deepagents-code/Dockerfile.base`,
`agents/langchain-deepagents-code/dcode-wrapper.sh`,
`agents/langchain-deepagents-code/dependency-review.md`,
`agents/langchain-deepagents-code/manifest.yaml`,
`agents/langchain-deepagents-code/patch-managed-deepagents-code.py`,
`agents/langchain-deepagents-code/profile-plugin/pyproject.toml`,
`agents/langchain-deepagents-code/profile-plugin/src/nemoclaw_deepagents_profile/__init__.py`,
`agents/langchain-deepagents-code/progressive_tool_disclosure.py`,
`agents/langchain-deepagents-code/requirements.in`,
`agents/langchain-deepagents-code/requirements.lock`,
`agents/langchain-deepagents-code/start.sh`,
`agents/langchain-deepagents-code/validate-nemotron-ultra-profile.py`,
`agents/langchain-deepagents-code/validate-observability.py`,
`agents/langchain-deepagents-code/validate-progressive-tool-disclosure.py`,
`docs/deployment/set-up-mcp-bridge.mdx`,
`docs/get-started/quickstart-langchain-deepagents-code.mdx`,
`src/lib/actions/sandbox/rebuild-flow-helpers.test.ts`,
`src/lib/agent/base-image.test.ts`,
`src/lib/agent/deep-agents-code-base-image.test.ts`,
`src/lib/agent/onboard-terminal-fixtures.test.ts`,
`src/lib/agent/onboard-terminal-fixtures.ts`,
`src/lib/agent/onboard-terminal.test.ts`,
`src/lib/inference/onboard-probes.test.ts`,
`src/lib/inference/onboard-probes.ts`,
`src/lib/inference/openai-validation-session.ts`, `src/lib/onboard.ts`,
`src/lib/onboard/created-sandbox-finalization.test.ts`,
`src/lib/onboard/created-sandbox-finalization.ts`,
`src/lib/onboard/dcode-selection-drift.test.ts`,
`src/lib/onboard/dcode-selection-drift.ts`,
`src/lib/onboard/inference-selection-validation.test.ts`,
`src/lib/onboard/machine/handlers/sandbox-checkpoint-crash-recovery.test.ts`,
`src/lib/onboard/machine/handlers/sandbox.ts`,
`src/lib/onboard/sandbox-lifecycle.test.ts`,
`src/lib/onboard/sandbox-lifecycle.ts`,
`src/lib/sandbox-base-image-agent-resolution.test.ts`,
`src/lib/sandbox-base-image-release-resolution.test.ts`,
`src/lib/sandbox-base-image/resolution-key.test.ts`,
`test/Dockerfile.dcode-profile-missing-dependencies`,
`test/cli/connect-terminal-agent.test.ts`,
`test/deepagents-code-tui-startup-check.test.ts`,
`test/e2e/e2e-cloud-experimental/checks/03-deepagents-code-nemotron-ultra-profile.sh`,
`test/e2e/e2e-cloud-experimental/checks/04-deepagents-code-fresh-reonboard.sh`,
`test/e2e/e2e-cloud-experimental/checks/10-deepagents-code-tui-startup.sh`,
`test/e2e/e2e-cloud-experimental/checks/12-deepagents-code-thread-auto-approval.sh`,
`test/e2e/lib/select-authorized-chat-model.mts`,
`test/e2e/live/mcp-bridge-servers.ts`,
`test/e2e/support/authorized-chat-model-selection.test.ts`,
`test/fixtures/deepagents-progressive-disclosure-harness.py`,
`test/fixtures/langchain-deepagents-code/server.py`,
`test/helpers/langchain-deepagents-code-patch-fixture.ts`,
`test/helpers/managed-image-buildless-e2e.ts`,
`test/issue-5667-hosted-inference-model-namespace.test.ts`,
`test/langchain-deepagents-code-direct-module-patch.test.ts`,
`test/langchain-deepagents-code-image.test.ts`,
`test/langchain-deepagents-code-nemotron-profile-plugin.test.ts`,
`test/langchain-deepagents-code-progressive-tool-disclosure.test.ts`,
`test/managed-image-publication-workflow.test.ts`,
`test/managed-image-staging-qa-workflow.test.ts`,
`test/mcp-bridge-servers.test.ts`,
`test/onboard-mcp-observability-redirect.test.ts`,
`test/onboard-prepared-build-context.test.ts`,
`test/onboard-terminal-dashboard.test.ts`\n\n### Release ranges

| Range | Commits | State | Concerns |
|---|---|---|---|
| 0.1.34 → 0.1.35 | `bd9bafaad3f5` → `09daab5772ff` | published | 1 |
| 0.1.35 → 0.1.36 | `09daab5772ff` → `2f56309d821d` | published | 1 |
| 0.1.36 → 0.1.37 | `2f56309d821d` → `def6369aed1a` | published | 2 |
| 0.1.37 → 0.1.38 | `def6369aed1a` → `4338671aa1d9` | published | 4 |
| 0.1.38 → 0.1.39 | `4338671aa1d9` → `8eb909a59b82` | published | 1 |
| 0.1.39 → 0.1.40 | `8eb909a59b82` → `019489edb9c0` | published | 6 |
| 0.1.40 → 0.1.41 | `019489edb9c0` → `d46a2cb033b8` | published | 4 |
| 0.1.41 → 0.1.42 | `d46a2cb033b8` → `18679a1a88a3` | published | 3 |
| 0.1.42 → 0.1.43 | `18679a1a88a3` → `e14e0adcbe78` | published | 2 |
| 0.1.43 → 0.1.44 | `e14e0adcbe78` → `2b9cd08f0492` | published | 5 |
| 0.1.44 → 0.1.45 | `2b9cd08f0492` → `7794b61a6e76` | published | 4 |
| 0.1.45 → 0.1.46 | `7794b61a6e76` → `efa86c51fedd` | published | 1 |
| 0.1.46 → 0.1.47 | `efa86c51fedd` → `8aa29ddc2833` | published | 3 |
| 0.1.47 → 0.1.48 | `8aa29ddc2833` → `803b8329db7d` | published | 3 |
| 0.1.48 → 0.1.49 | `803b8329db7d` → `44910bc2ef3f` | published | 0 |
| 0.1.49 → 0.1.50 | `44910bc2ef3f` → `63adb9645687` | published | 2 |
| 0.1.50 → 0.1.51 | `63adb9645687` → `d2b663fca277` | published | 0 |
| 0.1.51 → 0.1.52 | `d2b663fca277` → `b428644d31dd` | published | 3 |
| 0.1.52 → 0.1.53 | `b428644d31dd` → `0bd15dc0e1c5` | published | 2 |
| 0.1.53 → 0.1.54 | `0bd15dc0e1c5` → `81258067f4c7` | published | 0 |
| 0.1.54 → 0.1.55 | `81258067f4c7` → `80fe3d3cbcd2` | published | 9 |

### Concern dispositions

| Concern | Surface | Planned disposition | Failure prevented |
Remaining gate |
|---|---|---|---|---|
| `langchain-deep-agents-code-0.1.34..0.1.35-lifecycle-state-1` |
lifecycle state | test | 0.1.55 reports lifecycle state: ### Features -
Added a `/context` usage report for inspecting context consumption
([#5407](langchain-ai/deepagents#5407... |
none |
| `langchain-deep-agents-code-0.1.35..0.1.36-lifecycle-state-1` |
lifecycle state | test | 0.1.54 reports lifecycle state: ### Features -
Added Meta `muse-spark-1.2` to the model switcher
([#5389](langchain-ai/deepagents#5389)). -
Improved di... | none |
| `langchain-deep-agents-code-0.1.36..0.1.37-lifecycle-state-1` |
lifecycle state | test | 0.1.53 reports lifecycle state: ### Features -
Added pricing coverage with Baseten built-in overrides and local
fallback overrides when `genai-prices` is missing data ([#5312](h... |
none |
| `langchain-deep-agents-code-0.1.36..0.1.37-runtime-topology-2` |
runtime topology | test | 0.1.53 reports runtime topology: ### Features
- Added pricing coverage with Baseten built-in overrides and local
fallback overrides when `genai-prices` is missing data ([#5312](... |
none |
| `langchain-deep-agents-code-0.1.37..0.1.38-compatibility-change-1` |
compatibility change | test | 0.1.52 reports compatibility change: ###
Features - Hooks v2 is now generally available, with support for loading
hooks from installed plugins. ([#5307](https://github.com/langc... |
none |
| `langchain-deep-agents-code-0.1.37..0.1.38-configuration-2` |
configuration | test | 0.1.52 reports configuration: ### Features -
Hooks v2 is now generally available, with support for loading hooks from
installed plugins. ([#5307](https://github.com/langchain-ai... | none |
| `langchain-deep-agents-code-0.1.37..0.1.38-execution-control-3` |
execution control | guard | 0.1.52 reports execution control: ###
Features - Hooks v2 is now generally available, with support for loading
hooks from installed plugins. ([#5307](https://github.com/langchai... |
none |
| `langchain-deep-agents-code-0.1.37..0.1.38-lifecycle-state-4` |
lifecycle state | test | 0.1.52 reports lifecycle state: ### Features -
Hooks v2 is now generally available, with support for loading hooks from
installed plugins. ([#5307](https://github.com/langchain-... | none |
| `langchain-deep-agents-code-0.1.38..0.1.39-configuration-1` |
configuration | test | 0.1.51 reports configuration: ### Features - The
status bar and usage view now show the running session cost.
([#5036](langchain-ai/deepagents#5036)) -... |
none |
| `langchain-deep-agents-code-0.1.39..0.1.40-compatibility-change-1` |
compatibility change | test | 0.1.50 reports compatibility change: ###
Highlights - Added project hooks workspace trust and expanded Hooks v2
support with client and server lifecycle events plus runtime feed... |
none |
| `langchain-deep-agents-code-0.1.39..0.1.40-execution-control-2` |
execution control | guard | 0.1.50 reports execution control: ###
Highlights - Added project hooks workspace trust and expanded Hooks v2
support with client and server lifecycle events plus runtime feedbac...
| none |
| `langchain-deep-agents-code-0.1.39..0.1.40-lifecycle-state-3` |
lifecycle state | test | 0.1.50 reports lifecycle state: ### Highlights
- Added project hooks workspace trust and expanded Hooks v2 support with
client and server lifecycle events plus runtime feedback ... | none |
| `langchain-deep-agents-code-0.1.39..0.1.40-packaging-artifact-4` |
packaging artifact | test | 0.1.50 reports packaging artifact: ###
Highlights - Added project hooks workspace trust and expanded Hooks v2
support with client and server lifecycle events plus runtime feedba... |
none |
| `langchain-deep-agents-code-0.1.39..0.1.40-runtime-topology-5` |
runtime topology | test | 0.1.50 reports runtime topology: ###
Highlights - Added project hooks workspace trust and expanded Hooks v2
support with client and server lifecycle events plus runtime feedback...
| none |
| `langchain-deep-agents-code-0.1.39..0.1.40-security-identity-6` |
security identity | guard | 0.1.50 reports security identity: ###
Highlights - Added project hooks workspace trust and expanded Hooks v2
support with client and server lifecycle events plus runtime feedbac...
| none |
| `langchain-deep-agents-code-0.1.40..0.1.41-compatibility-change-1` |
compatibility change | test | 0.1.49 reports compatibility change: ###
Features - Added recognition for LangSmith Gateway credentials.
([#5042](langchain-ai/deepagents#5042)) -
Adde... | none |
| `langchain-deep-agents-code-0.1.40..0.1.41-execution-control-2` |
execution control | guard | 0.1.49 reports execution control: ###
Features - Added recognition for LangSmith Gateway credentials.
([#5042](langchain-ai/deepagents#5042)) -
Added s... | none |
| `langchain-deep-agents-code-0.1.40..0.1.41-lifecycle-state-3` |
lifecycle state | test | 0.1.49 reports lifecycle state: ### Features -
Added recognition for LangSmith Gateway credentials.
([#5042](langchain-ai/deepagents#5042)) -
Added sla... | none |
| `langchain-deep-agents-code-0.1.40..0.1.41-runtime-topology-4` |
runtime topology | test | 0.1.49 reports runtime topology: ### Features
- Added recognition for LangSmith Gateway credentials.
([#5042](langchain-ai/deepagents#5042)) -
Added sl... | none |
| `langchain-deep-agents-code-0.1.41..0.1.42-compatibility-change-1` |
compatibility change | test | 0.1.48 reports compatibility change: ###
Features - Added Fireworks `kimi-k3`, GLM-5.2-Fast, and Kimi-K3 to model
selection and recommended models. ([#5082](https://github.com/l... |
none |
| `langchain-deep-agents-code-0.1.41..0.1.42-execution-control-2` |
execution control | guard | 0.1.48 reports execution control: ###
Features - Added Fireworks `kimi-k3`, GLM-5.2-Fast, and Kimi-K3 to model
selection and recommended models. ([#5082](https://github.com/lang... |
none |
| `langchain-deep-agents-code-0.1.41..0.1.42-lifecycle-state-3` |
lifecycle state | test | 0.1.48 reports lifecycle state: ### Features -
Added Fireworks `kimi-k3`, GLM-5.2-Fast, and Kimi-K3 to model selection
and recommended models. ([#5082](https://github.com/langch... | none |
| `langchain-deep-agents-code-0.1.42..0.1.43-compatibility-change-1` |
compatibility change | test | 0.1.47 reports compatibility change: ###
Features - Added `yolo` mode to the `Shift+Tab` approval cycle
([#5035](langchain-ai/deepagents#5035)). -
Show... | none |
| `langchain-deep-agents-code-0.1.42..0.1.43-execution-control-2` |
execution control | guard | 0.1.47 reports execution control: ###
Features - Added `yolo` mode to the `Shift+Tab` approval cycle
([#5035](langchain-ai/deepagents#5035)). -
Show th... | none |
| `langchain-deep-agents-code-0.1.43..0.1.44-compatibility-change-1` |
compatibility change | test | 0.1.46 reports compatibility change: ###
Highlights - Auto mode is now generally available.
[#4957](langchain-ai/deepagents#4957) - Added
configurable ... | none |
| `langchain-deep-agents-code-0.1.43..0.1.44-configuration-2` |
configuration | test | 0.1.46 reports configuration: ### Highlights -
Auto mode is now generally available.
[#4957](langchain-ai/deepagents#4957) - Added
configurable Auto go... | none |
| `langchain-deep-agents-code-0.1.43..0.1.44-execution-control-3` |
execution control | guard | 0.1.46 reports execution control: ###
Highlights - Auto mode is now generally available.
[#4957](langchain-ai/deepagents#4957) - Added
configurable Aut... | none |
| `langchain-deep-agents-code-0.1.43..0.1.44-protocol-schema-4` |
protocol schema | test | 0.1.46 reports protocol schema: ### Highlights
- Auto mode is now generally available.
[#4957](langchain-ai/deepagents#4957) - Added
configurable Auto ... | none |
| `langchain-deep-agents-code-0.1.43..0.1.44-security-identity-5` |
security identity | guard | 0.1.46 reports security identity: ###
Highlights - Auto mode is now generally available.
[#4957](langchain-ai/deepagents#4957) - Added
configurable Aut... | none |
| `langchain-deep-agents-code-0.1.44..0.1.45-compatibility-change-1` |
compatibility change | test | 0.1.45 reports compatibility change: ###
Features - Added the Hooks v2 execution engine and typed hooks data
models ([#4880](langchain-ai/deepagents#48...
| none |
| `langchain-deep-agents-code-0.1.44..0.1.45-execution-control-2` |
execution control | guard | 0.1.45 reports execution control: ###
Features - Added the Hooks v2 execution engine and typed hooks data
models
([#4880](langchain-ai/deepagents#4880)... |
none |
| `langchain-deep-agents-code-0.1.44..0.1.45-lifecycle-state-3` |
lifecycle state | test | 0.1.45 reports lifecycle state: ### Features -
Added the Hooks v2 execution engine and typed hooks data models
([#4880](langchain-ai/deepagents#4880), ... |
none |
| `langchain-deep-agents-code-0.1.44..0.1.45-packaging-artifact-4` |
packaging artifact | test | 0.1.45 reports packaging artifact: ###
Features - Added the Hooks v2 execution engine and typed hooks data
models
([#4880](langchain-ai/deepagents#4880... |
none |
| `langchain-deep-agents-code-0.1.45..0.1.46-runtime-topology-1` |
runtime topology | test | 0.1.44 reports runtime topology: ### Bug Fixes
- Improved approval handling by hiding the `Auto` option when it isn't
eligible and moving Auto mode path checks off the event loo... | none |
| `langchain-deep-agents-code-0.1.46..0.1.47-compatibility-change-1` |
compatibility change | test | 0.1.43 reports compatibility change: ###
Features - Added classifier-backed Auto approval mode behind
`DEEPAGENTS_CODE_EXPERIMENTAL=1`
([#4804](https://github.com/langchain-ai/d... | none |
| `langchain-deep-agents-code-0.1.46..0.1.47-execution-control-2` |
execution control | guard | 0.1.43 reports execution control: ###
Features - Added classifier-backed Auto approval mode behind
`DEEPAGENTS_CODE_EXPERIMENTAL=1`
([#4804](https://github.com/langchain-ai/deep... | none |
| `langchain-deep-agents-code-0.1.46..0.1.47-lifecycle-state-3` |
lifecycle state | test | 0.1.43 reports lifecycle state: ### Features -
Added classifier-backed Auto approval mode behind
`DEEPAGENTS_CODE_EXPERIMENTAL=1`
([#4804](https://github.com/langchain-ai/deepag... | none |
| `langchain-deep-agents-code-0.1.47..0.1.48-compatibility-change-1` |
compatibility change | test | 0.1.42 reports compatibility change: ###
Features - Plugins are now generally available.
([#4797](langchain-ai/deepagents#4797)) -
Added search to the ... | none |
| `langchain-deep-agents-code-0.1.47..0.1.48-execution-control-2` |
execution control | guard | 0.1.42 reports execution control: ###
Features - Plugins are now generally available.
([#4797](langchain-ai/deepagents#4797)) -
Added search to the plu... | none |
| `langchain-deep-agents-code-0.1.47..0.1.48-lifecycle-state-3` |
lifecycle state | test | 0.1.42 reports lifecycle state: ### Features -
Plugins are now generally available.
([#4797](langchain-ai/deepagents#4797)) -
Added search to the plugi... | none |
| `langchain-deep-agents-code-0.1.49..0.1.50-compatibility-change-1` |
compatibility change | test | 0.1.40 reports compatibility change: ###
Features - Added plugin marketplace support
([#4554](langchain-ai/deepagents#4554)). -
Added an “always allow”... | none |
| `langchain-deep-agents-code-0.1.49..0.1.50-execution-control-2` |
execution control | guard | 0.1.40 reports execution control: ###
Features - Added plugin marketplace support
([#4554](langchain-ai/deepagents#4554)). -
Added an “always allow” op... | none |
| `langchain-deep-agents-code-0.1.51..0.1.52-compatibility-change-1` |
compatibility change | test | 0.1.38 reports compatibility change: ###
Features * Improve `/goal` criteria UX
([#4694](langchain-ai/deepagents#4694))
([06f46ff](https://github.com/l... | none |
| `langchain-deep-agents-code-0.1.51..0.1.52-configuration-2` |
configuration | test | 0.1.38 reports configuration: ### Features *
Improve `/goal` criteria UX
([#4694](langchain-ai/deepagents#4694))
([06f46ff](https://github.com/langchai... | none |
| `langchain-deep-agents-code-0.1.51..0.1.52-lifecycle-state-3` |
lifecycle state | test | 0.1.38 reports lifecycle state: ### Features *
Improve `/goal` criteria UX
([#4694](langchain-ai/deepagents#4694))
([06f46ff](https://github.com/langch... | none |
| `langchain-deep-agents-code-0.1.52..0.1.53-configuration-1` |
configuration | test | 0.1.37 reports configuration: ### Features * Add
Meta model provider
([#4650](langchain-ai/deepagents#4650))
([70829c5](https://github.com/langchain-ai... | none |
| `langchain-deep-agents-code-0.1.52..0.1.53-security-identity-2` |
security identity | guard | 0.1.37 reports security identity: ###
Features * Add Meta model provider
([#4650](langchain-ai/deepagents#4650))
([70829c5](https://github.com/langchai... | none |
| `langchain-deep-agents-code-0.1.54..0.1.55-compatibility-change-1` |
compatibility change | test | 0.1.35 reports compatibility change: ###
Features * Restore interrupted prompt to input on ESC
([#4544](langchain-ai/deepagents#4544))
([fccf037](https... | none |
| `langchain-deep-agents-code-0.1.54..0.1.55-configuration-2` |
configuration | test | 0.1.35 reports configuration: ### Features *
Restore interrupted prompt to input on ESC
([#4544](langchain-ai/deepagents#4544))
([fccf037](https://gith... | none |
| `langchain-deep-agents-code-0.1.54..0.1.55-execution-control-3` |
execution control | guard | 0.1.35 reports execution control: ###
Features * Restore interrupted prompt to input on ESC
([#4544](langchain-ai/deepagents#4544))
([fccf037](https://... | none |
| `langchain-deep-agents-code-0.1.54..0.1.55-lifecycle-state-4` |
lifecycle state | test | 0.1.35 reports lifecycle state: ### Features *
Restore interrupted prompt to input on ESC
([#4544](langchain-ai/deepagents#4544))
([fccf037](https://gi... | none |
| `langchain-deep-agents-code-0.1.54..0.1.55-protocol-schema-5` |
protocol schema | test | 0.1.35 reports protocol schema: ### Features *
Restore interrupted prompt to input on ESC
([#4544](langchain-ai/deepagents#4544))
([fccf037](https://gi... | none |
|
`langchain-deep-agents-code-0.1.54..0.1.55-code-impact-configuration-1`
| mapped configuration | test | The exact-ref diff reports configuration
changes in .pre-commit-config.yaml, libs/acp/deepagents_acp/server.py,
libs/acp/tests/test_agent.py. Mapped NemoClaw examples: src/lib/a... |
none |
|
`langchain-deep-agents-code-0.1.54..0.1.55-code-impact-contract-or-schema-2`
| mapped contract or schema | test | The exact-ref diff reports contract
or schema changes in libs/acp/deepagents_acp/_version.py,
libs/acp/deepagents_acp/server.py,
libs/code/deepagents_code/_ask_user_types.py. Ma... | none |
| `langchain-deep-agents-code-0.1.54..0.1.55-code-impact-security-3` |
mapped security | test | The exact-ref diff reports security changes in
libs/code/deepagents_code/_cli_context.py,
libs/code/deepagents_code/_env_vars.py,
libs/code/deepagents_code/_repository_bounds.py... | none |
| `langchain-deep-agents-code-0.1.54..0.1.55-code-impact-test-4` |
mapped test | test | The exact-ref diff reports test changes in
libs/acp/tests/chat_model.py, libs/acp/tests/test_agent.py,
libs/code/tests/integration_tests/benchmarks/test_local_context_benchmarks...
| none |

### Immutable artifacts

| Artifact | SHA-256 |
|---|---|
| deepagents_code-0.1.55-py3-none-any.whl | `3a0d3e332f132d0e…` |
| deepagents_code-0.1.55.tar.gz | `91c30b62cb96d5e8…` |

### Validation receipt

| Gate | Current result |
|---|---|
| targeted | Pass — 130 affected local tests, commit hooks, growth
guardrails, and pre-push typechecks passed on the unchanged PR patch now
at `78268b19e` |
| full-e2e | In progress on the latest PR commit — all required checks
pass; three non-required managed-image jobs are still running |
<!-- List concrete changes. If this adds an abstraction, configuration,
fallback, migration, or compatibility path, name its current requirement
and consumer, explain why a direct change is insufficient, and identify
the test that protects it. -->

## 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

- [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 — CodeRabbit completed successfully on the unchanged PR patch
and all inline review threads are resolved; human re-review remains
requested.
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## Documentation Writer Review

- [x] Documentation writer subagent reviewed the completed changes
- Result: `docs-updated`
- Evidence: `docs/deployment/set-up-mcp-bridge.mdx` and
`docs/get-started/quickstart-langchain-deepagents-code.mdx` accurately
document the changed Deep Agents Code behavior and versions. The
documented deepagents-code 0.1.55 and deepagents 0.7.5 versions match
the manifest, inputs, lockfile, and profile plugin. `npm run docs`
passed with 0 errors and two pre-existing Fern warnings.
- Agent: Codex Desktop
<!-- docs-review-head-sha: 78268b1 -->
<!-- docs-review-agents-blob-sha: e30afb2 -->

## DGX Station Hardware Evidence
<!-- Required only when scripts/prepare-dgx-station-host.sh changes.
Maintainers must review the linked evidence before approving or merging.
This is human-reviewed evidence, not authenticated hardware provenance.
Exceptional bypasses use existing repository governance and must be
documented on the PR. -->
- [ ] Tested on DGX Station
- Tested commit:
- Station profile/scenario:
- Result:
- Supporting evidence:

## 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 a `Signed-off-by:` line and all 81 commits
appear as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed on
the unchanged PR patch now at `78268b19e`
- [x] Targeted behavior tests pass for the current change set — affected
local suites: 130/130; growth guardrails passed
- [ ] Applicable broad gate passed — all required GitHub checks pass;
non-required managed-image validation is still in progress
- [x] Quality Gates section completed with required justifications
- [x] No secrets, API keys, or credentials committed; gitleaks passed
- [ ] `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: Prekshi Vyas <prekshiv@nvidia.com>

<!-- patch-walker-status:start -->
## NemoPatch latest PR commit status

- Status: **ready for maintainer re-review**
- Latest PR commit: `78268b19e8229ffbc2a0591ad310caf96aab7fa6`
- Checked: 2026-08-19T19:39:34Z
- Merge: GitHub reports **MERGEABLE**; the local patch check against
current `upstream/main` is clean.
- Review: all 8 inline review threads are resolved and no new review
finding was posted for the unchanged patch. Human approval remains
required.
- CI: all required checks pass. Three broader non-required managed-image
jobs are still running with no deterministic failure at this check.
- External advisor infrastructure: GPT-5.6 Terra and Nemotron 3 Ultra
failed with `investigate omitted required analysis`; the trusted
publisher reports 0 blockers, 0 warnings, 0 suggestions, and no
follow-up needed.
<!-- patch-walker-status:end -->

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

* **New Features**
* Upgraded Deep Agents Code support to 0.1.55 and Deep Agents to 0.7.5.
* Expanded approval controls with manual, automatic, startup, and YOLO
modes.
* Tool search and discovery now include registered tools across agents
and subagents.
* Added gateway-aware sandbox operations and authorized chat-model
selection during onboarding.

* **Bug Fixes**
  * Improved sandbox crash recovery and identity detection.
* Strengthened MCP result validation and protected private inference
endpoints.

* **Documentation**
  * Updated setup and quickstart guidance for supported versions.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

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

Labels

chore Build, CI, dependency, or tooling maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants