Skip to content

fix(e2e): add docker build retry for transient registry timeouts - #4694

Closed
hunglp6d wants to merge 1 commit into
mainfrom
fix/nightly-e2e-docker-registry-timeout-retry-f90000b
Closed

hunglp6d wants to merge 1 commit into
mainfrom
fix/nightly-e2e-docker-registry-timeout-retry-f90000b

Conversation

@hunglp6d

@hunglp6d hunglp6d commented Jun 3, 2026 •

Copy link
Copy Markdown
Collaborator

Fixes #4696

✨ [AI-generated PR]

Summary

The rebuild-hermes-e2e / run job failed in
nightly-e2e run #26856257187
(job #79199640102)
with a Docker Hub registry timeout:

dial tcp 54.224.69.1:443: i/o timeout
ERROR: failed to build: failed to solve: DeadlineExceeded: node:22-trixie-slim@sha256:2d9f…

Root cause

Docker Hub (registry-1.docker.io) was transiently unreachable from the GitHub-hosted
runner during Phase 2 ("Building Hermes base image with v2026.4.13"). The docker build
command had no retry logic, so a single transient network error failed the entire test.

Fix

Wrap both docker build invocations in test/e2e/test-rebuild-hermes.sh with a
3-attempt retry loop and exponential backoff (10 s, 20 s, 30 s):

  • Phase 2 — old Hermes base image build (nemoclaw-hermes-old-base:e2e-rebuild)
  • Phase 5 — current Hermes base image build (ghcr.io/nvidia/nemoclaw/hermes-sandbox-base:latest)

Both hit Docker Hub for the node:22-trixie-slim digest-pinned base image and are
equally vulnerable to transient registry outages.

Validation

The GitHub token used for this PR does not have the workflow scope required to push a
custom-e2e.yaml validation branch. To validate the fix, re-run the
rebuild-hermes-e2e job from this branch:

gh workflow run nightly-e2e.yaml --repo NVIDIA/NemoClaw \
  --ref fix/nightly-e2e-docker-registry-timeout-retry-f90000b \
  -f jobs=rebuild-hermes-e2e

Test plan

  • Re-run rebuild-hermes-e2e on this branch and confirm the retry loop handles a transient registry timeout
  • Verify no regressions in the rebuild flow (marker file survival, version upgrade, credential preservation)

Signed-off-by: Hung Le hple@nvidia.com

The rebuild-hermes E2E test failed in nightly-e2e run 26856257187 because
Docker Hub was unreachable during the docker build step (dial tcp
54.224.69.1:443: i/o timeout). The build had no retry logic, so a single
transient network error failed the entire test.

Wrap both docker build invocations (Phase 2: old Hermes base image,
Phase 5: current Hermes base image) with a 3-attempt retry loop and
exponential backoff (10s, 20s, 30s). This matches the standard CI
resilience pattern for registry-dependent operations.

Fixes nightly-e2e run 26856257187 job rebuild-hermes-e2e.

Signed-off-by: Hung Le <hple@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Jun 3, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 187379df-957b-4d11-b6bd-d240d500ea7a

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/nightly-e2e-docker-registry-timeout-retry-f90000b

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

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: None
Optional E2E: rebuild-hermes-e2e, rebuild-hermes-stale-base-e2e

Dispatch hint: rebuild-hermes-e2e,rebuild-hermes-stale-base-e2e

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • None. No merge-blocking E2E is required because this PR changes only an existing E2E test script and cannot affect runtime/user flows directly.

Optional E2E

  • rebuild-hermes-e2e (high): Optional validation that the modified test script still exercises the standard Hermes rebuild upgrade path; this path uses both the old-base and current-base Docker build retry blocks touched by the PR.
  • rebuild-hermes-stale-base-e2e (high): Optional validation that the modified test script still exercises the stale cached Hermes base-image rebuild path; this path uses the changed old-base Docker build retry logic.

New E2E recommendations

  • None.

Dispatch hint

  • Workflow: .github/workflows/nightly-e2e.yaml
  • jobs input: rebuild-hermes-e2e,rebuild-hermes-stale-base-e2e

@github-actions

github-actions Bot commented Jun 3, 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. Changed file is under legacy test/e2e/ and outside the scenario E2E suite/workflows; it does not directly affect test/e2e-scenario/ behavior.

Optional scenario E2E

  • None.

Relevant changed files

  • None.

@github-actions

github-actions Bot commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor

Findings: 0 needs attention, 2 worth checking, 1 nice ideas
Top item: Retry workaround lacks direct coverage/removal criteria

Review findings

🛠️ Needs attention

  • None.

🔎 Worth checking

  • Source-of-truth review needed: Docker build retry loops in Hermes rebuild E2E: The advisor marked localized patch analysis as needs_followup.
    • Recommendation: Identify the invalid state, source boundary, source-fix constraint, regression test, and removal condition before merging the localized behavior.
    • Evidence: Lines 160-175 and 303-315 add inline retry loops around the two Docker builds, with comments identifying transient Docker Hub registry timeouts as the reason.
  • Retry workaround lacks direct coverage/removal criteria (test/e2e/test-rebuild-hermes.sh:160): The PR adds recovery behavior for transient external Docker registry failures, but the retry branch is only exercised if the live E2E happens to hit a real transient failure. There is also no in-code note for when this workaround can be removed, such as after reliable registry mirroring/caching is introduced.
    • Recommendation: Consider documenting the external source of the invalid state and the removal condition near the retry logic. If this retry pattern is expected to grow, factor it into a small helper that can be tested with a failing-then-succeeding command stub.
    • Evidence: The old-base build and current-base build now use inline `for _attempt in 1 2 3` loops with sleeps at lines 160-175 and 303-315; no deterministic injected-failure test or helper-level coverage accompanies the recovery behavior.

🌱 Nice ideas

  • Final failed build attempt still logs and sleeps as if another retry remains (test/e2e/test-rebuild-hermes.sh:172): On the third failed attempt, the script prints `retrying in 30s...` and sleeps for 30 seconds before immediately failing, which adds avoidable delay and misleading output for deterministic Dockerfile/build failures.
    • Recommendation: Only log and sleep when `_attempt` is less than the maximum attempt count, or change the final-attempt message to indicate that no retries remain.
    • Evidence: Both retry loops unconditionally run `info "docker build attempt ${_attempt}/3 failed; retrying in $((10 * _attempt))s..."` followed by `sleep` after any failed attempt, including attempt 3.

Workflow run details

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

@wscurran wscurran added area: e2e End-to-end tests, nightly failures, or validation infrastructure bug-fix PR fixes a bug or regression labels Jun 3, 2026
@wscurran

wscurran commented Jun 3, 2026

Copy link
Copy Markdown
Contributor

@hunglp6d

hunglp6d commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator Author

Closed due to fixed

@hunglp6d hunglp6d closed this Jun 5, 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

area: e2e End-to-end tests, nightly failures, or validation infrastructure bug-fix PR fixes a bug or regression

Projects

None yet

Development

Successfully merging this pull request may close these issues.

bug(e2e): Docker Hub registry timeout fails rebuild-hermes-e2e with no retry

2 participants