perf(docker): preserve warm sandbox build cache - #6034
Conversation
Co-authored-by: Angel Mata <amata@nvidia.com> Signed-off-by: Angel Mata <amata@nvidia.com> Signed-off-by: Carlos Villela <cvillela@nvidia.com>
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: 📒 Files selected for processing (5)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthrough
ChangesConditional NEMOCLAW_BUILD_ID patching for warm build cache
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in the Show a code coverage summary of the most covered files.
TypeScript / code-coverage/cliThe overall coverage in the Show a code coverage summary of the most covered files.
Updated |
E2E Advisor RecommendationRequired E2E: Dispatch hint: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
E2E Target RecommendationRequired E2E targets: Dispatch required E2E targets:
Full E2E target advisor summaryE2E Target AdvisorBase: Required E2E targets
Optional E2E targets
Relevant changed files
|
PR Review Advisor — No blocking findingsMerge posture: No blocking advisor findings Action checklist
Test follow-ups to resolve or justifyIf these cover changed behavior, prefer adding them in this PR; otherwise state why existing coverage is enough or link the follow-up.
This is an automated, non-binding review; it still expects maintainers and agents to respond to each required or warning item. Treat suggestions as current-PR improvements when they touch changed code; defer only with maintainer rationale or a linked follow-up. A human maintainer must make the final merge decision. |
There was a problem hiding this comment.
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 `@src/lib/onboard/dockerfile-patch.ts`:
- Around line 80-89: The dockerfileConsumesBuildId helper is still over-matching
plain NEMOCLAW_BUILD_ID text, so update the detection logic to recognize only
real build-id expansions in the dockerfile-patch flow rather than any literal
token. Adjust dockerfileConsumesBuildId to key off expansion syntax used by
Dockerfile directives and shell interpolation, and keep it from treating
LABEL/text/escaped mentions as consumers; then add a regression test covering a
literal-only NEMOCLAW_BUILD_ID mention so the rewrite path in dockerfile
patching stays skipped for that case.
🪄 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: f39c59a0-90b7-4d00-a635-eb9854a28a44
📒 Files selected for processing (4)
Dockerfilesrc/lib/onboard/dockerfile-patch.test.tssrc/lib/onboard/dockerfile-patch.tstest/fixtures/warm-build-cache-evidence.md
PR Review Advisor (Nemotron Ultra) — Changes requestedMerge posture: Do not merge yet Action checklist
Findings index
Review findings by urgency: 0 required fixes, 1 item to resolve/justify, 0 in-scope improvements
|
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Vitest E2E Target Results — ❌ Some jobs failedRun: 28428908792
|
Vitest E2E Target Results — ✅ All selected jobs passedRun: 28429086924
|
|
Maintainer resolution for exact head c740d4c: Nemotron PRA-1 is already satisfied by the code it reviewed. Before readFileSync, the parameterized test executes expect(fs.existsSync(stockDockerfile), missing managed ${agentName} Dockerfile).toBe(true). A moved or missing OpenClaw/Hermes Dockerfile therefore fails with the requested descriptive agent-specific assertion rather than an ENOENT. Reading the real checked-in Dockerfiles is intentional: copying them into fixtures would decouple this cache invariant from the production inputs and allow drift. GPT-5.5 is exact-head merge_as_is, standard CI is green, and the exact-head ubuntu-repo-cloud-openclaw E2E passed. The required cloud-onboard and sandbox-rebuild jobs are still running; no merge will occur until they pass and an external human approves. |
Vitest E2E Target Results — ✅ All requested jobs passedRun: 28429091895
|
cv
left a comment
There was a problem hiding this comment.
Exact-head maintainer review for c740d4c:
GPT-5.5 recommends merge_as_is. Nemotron's remaining items are maintenance warnings, not a correctness blocker:
- The test already performs an explicit existence assertion with
missing managed <agent> DockerfilebeforereadFileSync. Reading the checked-in Dockerfiles is deliberate source-of-truth coverage; a copied fixture would mask drift. - The stable-agent allowlist is compatibility-safe: only stock OpenClaw/Hermes preserve an ID proven unused. Custom
--from, LangChain, and every unlisted/future agent retain the historical rewrite. Missing a future entry costs cache performance only. - Exact-head E2E is green (28429086924 and 28429091895), and real BuildKit evidence shows the expected warm-layer reuse for both managed agents.
- Any overlapping PR that lands first requires rebase/re-review; no overlap is being silently accepted.
All commits are Verified/DCO and ordinary CI/CodeRabbit are green. This is a rationale/evidence review, not independent approval; required human approval and a clean advisor gate still apply.
<!-- markdownlint-disable MD041 --> ## Summary Refreshes the public documentation for NemoClaw v0.0.71 after scanning commits since v0.0.70. Adds release notes and fills the remaining doc gaps for Windows bootstrap diagnostics, OpenClaw agent auto-relock warnings, auto-pair cadence tuning, and plugin-install recovery hints. ## Changes - `docs/about/release-notes.mdx`: adds the v0.0.71 release-note section, grouped by gateway recovery, OpenShell auth, policy provenance, day-two maintenance, messaging/inference, and Windows setup. - `docs/get-started/windows-preparation.mdx`: documents sanitized WSL install output and reboot gating in the Windows bootstrap. - `docs/reference/commands.mdx`: documents the host `agent` wrapper's shields auto-relock warning and OpenClaw auto-pair watcher tuning variables. - `docs/reference/troubleshooting.mdx`: adds plugin-install network failure recovery guidance and updates Windows WSL troubleshooting for sanitized install logs and reboot-required handling. Source summary: - #6065 -> `docs/about/release-notes.mdx`: Notes explicit model override preservation and gateway-log guard-chain recovery diagnostics. - #5874 -> `docs/about/release-notes.mdx`: Summarizes host-mediated `recover` and `gateway restart`, linking to lifecycle, command, troubleshooting, and trusted-boundary docs already added by the source PR. - #5596 -> `docs/about/release-notes.mdx`: Summarizes OpenShell 0.0.71 gateway auth, loopback binding, and compatibility-container docs already added by the source PR. - #5797 and #5798 -> `docs/about/release-notes.mdx`: Summarizes `policy-list` provenance, Restricted tier suppression, and Balanced tier weather behavior already reflected in policy docs. - #5784 -> `docs/about/release-notes.mdx`: Summarizes `--destroy-user-data` and the safe `--yes` uninstall behavior already documented in lifecycle and command docs. - #6034 -> `docs/about/release-notes.mdx`: Summarizes custom Dockerfile warm-build cache behavior already documented in the command reference. - #5951 -> `docs/reference/commands.mdx`: Documents the stderr-only host `agent` wrapper warning after recent shields auto-relock. - #5387 -> `docs/reference/commands.mdx`: Documents OpenClaw auto-pair watcher cadence and fast-reentry tuning variables. - #5835 -> `docs/reference/troubleshooting.mdx`: Adds recovery guidance for OpenClaw plugin-install network failures. - #5995 and #5956 -> `docs/about/release-notes.mdx`: Summarizes Microsoft Teams final-message delivery and runtime mention hints already covered by messaging docs. - #5716 -> `docs/about/release-notes.mdx`: Summarizes non-interactive Ollama loopback safety already covered by local inference docs. - #5505, #5527, and #5528 -> `docs/about/release-notes.mdx`: Summarizes compatible local endpoint, model task-fit, and model capability audit docs. - #6009 -> `docs/get-started/windows-preparation.mdx`, `docs/reference/troubleshooting.mdx`: Documents sanitized Windows bootstrap WSL output and reboot-required gating. - #6055 -> no additional source doc page change needed beyond the already-merged quickstart update; release notes did not duplicate routine quickstart cleanup. No matching v0.0.71 GitHub announcement discussion was found in the latest 20 discussions, so this refresh is based on the commit scan and existing source PR docs. ## 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 <!-- Check all that apply. For any "covered by existing tests", "not applicable", or waiver entry, add a brief justification on the same line or in the Changes section. --> - [ ] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [x] Tests not applicable — justification: docs-only refresh with no runtime behavior changes. - [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 <!-- Check each item you ran and confirmed. Leave unchecked items you skipped. Doc-only changes do not require npm test unless you ran it. --> - [x] PR description includes the DCO sign-off declaration and every commit appears as `Verified` in GitHub - [x] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [ ] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [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) — ran `npm run docs`; Fern reported 0 errors and 2 existing warnings. - [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) --- <!-- 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 * **Documentation** * Added a new release-notes entry covering gateway recovery, authentication, network policy/provenance output, uninstall safety, Windows bootstrap diagnostics, messaging defaults, and inference setup guidance. * Clarified Windows preparation steps around reboot behavior and redacting troubleshooting transcripts. * Expanded command reference details for OpenClaw wrapper behavior and new auto-pair tuning options. * Improved troubleshooting guidance for plugin installation issues, WSL repair/reboot cases, and install timing problems. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Julie Yaunches <jyaunches@nvidia.com> Co-authored-by: Prekshi Vyas <34834085+prekshivyas@users.noreply.github.com>
<!-- markdownlint-disable MD041 --> ## Summary Preserve Docker layer reuse for identical warm sandbox builds by leaving `NEMOCLAW_BUILD_ID` stable in stock OpenClaw and Hermes Dockerfiles. Custom `--from` Dockerfiles and managed agents that consume the compatibility argument retain the historical sanitized per-run rewrite. This is a signed, narrowed replacement for NVIDIA#6019. It intentionally drops that PR's late-`ENV` relocation because an empirical BuildKit control proved that changing any in-scope `ARG` still invalidates following `RUN` layers even when the instruction does not mention the argument. ## Related Issue Fixes NVIDIA#4682 ## Changes - Select build-ID policy from explicit provenance: preserve only the known-safe managed OpenClaw/Hermes Dockerfiles; custom `--from` and other managed agents retain unconditional rewriting. - Keep the stock Dockerfile's `ARG NEMOCLAW_BUILD_ID=default`, with an explicit comment that gateway tokens are generated at container startup and are not baked into image layers. - Add focused behavioral coverage for indirect custom consumers, newline sanitization, managed provenance selection, and OpenClaw/Hermes byte identity; move cache coverage out of the large shared patcher test. - Require patched stock Dockerfiles to remain byte-identical when only the per-run build ID changes. - Preserve the contributor’s cold/warm evidence: OpenClaw `20.9s` to `0.1s`; Hermes `21.5s` to `0.4s`, with real rebuilt-versus-`CACHED` BuildKit excerpts, the measurement boundary, and the ARG-scope caveat recorded in the test fixture. ## Type of Change - [x] 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 - [x] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [ ] Tests not applicable — justification: - [ ] Docs updated for user-facing behavior changes - [x] Docs not applicable — internal build-context/cache behavior; no user command, configuration, or support contract changes - [x] Sensitive paths changed (security, policy, credentials, preflight, onboarding, inference, runner, sandbox, or messaging) - [x] Sensitive-path review completed or maintainer-approved waiver recorded — the salvage preserves the existing ARG/ENV and runtime-token boundaries; custom values still pass through `sanitizeDockerArg`; no credential material is added to layers - [ ] 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] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [x] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [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) Evidence: 37 focused patch/policy assertions; the normal hook passed 8,330 tests (8,299 passed, 31 skipped) plus source-shape, size, security, lint, DCO, and commitlint gates; CLI pre-push typecheck passed. Real BuildKit controls identified and then cached OpenClaw’s 3.7s plugin + 10.9s layout layers and Hermes’s 9.0s config + 4.8s layout layers. Parent timing record: NVIDIA#3776 (comment). Commits `22c39549bbb6d2aa1796647ecc26973293252545` and `c740d4cc3b63d541e7881e3d8206dc31d581501b` are GitHub Verified. --- Co-authored-by: Angel Mata <amata@nvidia.com> Signed-off-by: Angel Mata <amata@nvidia.com> Signed-off-by: Carlos Villela <cvillela@nvidia.com> <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **New Features** * Improved Docker build handling for onboarded environments, with smarter per-run build ID behavior for managed and custom Dockerfiles. * Added support for preserving stable build IDs in selected managed-agent flows to reduce unnecessary rebuilds. * **Bug Fixes** * Fixed cases where build ID changes could trigger avoidable cache misses during repeated sandbox image builds. * Strengthened build ID sanitization so unexpected input can’t affect generated Dockerfile instructions. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Signed-off-by: Angel Mata <amata@nvidia.com> Signed-off-by: Carlos Villela <cvillela@nvidia.com> Co-authored-by: Angel Mata <amata@nvidia.com>
<!-- markdownlint-disable MD041 --> ## Summary Refreshes the public documentation for NemoClaw v0.0.71 after scanning commits since v0.0.70. Adds release notes and fills the remaining doc gaps for Windows bootstrap diagnostics, OpenClaw agent auto-relock warnings, auto-pair cadence tuning, and plugin-install recovery hints. ## Changes - `docs/about/release-notes.mdx`: adds the v0.0.71 release-note section, grouped by gateway recovery, OpenShell auth, policy provenance, day-two maintenance, messaging/inference, and Windows setup. - `docs/get-started/windows-preparation.mdx`: documents sanitized WSL install output and reboot gating in the Windows bootstrap. - `docs/reference/commands.mdx`: documents the host `agent` wrapper's shields auto-relock warning and OpenClaw auto-pair watcher tuning variables. - `docs/reference/troubleshooting.mdx`: adds plugin-install network failure recovery guidance and updates Windows WSL troubleshooting for sanitized install logs and reboot-required handling. Source summary: - NVIDIA#6065 -> `docs/about/release-notes.mdx`: Notes explicit model override preservation and gateway-log guard-chain recovery diagnostics. - NVIDIA#5874 -> `docs/about/release-notes.mdx`: Summarizes host-mediated `recover` and `gateway restart`, linking to lifecycle, command, troubleshooting, and trusted-boundary docs already added by the source PR. - NVIDIA#5596 -> `docs/about/release-notes.mdx`: Summarizes OpenShell 0.0.71 gateway auth, loopback binding, and compatibility-container docs already added by the source PR. - NVIDIA#5797 and NVIDIA#5798 -> `docs/about/release-notes.mdx`: Summarizes `policy-list` provenance, Restricted tier suppression, and Balanced tier weather behavior already reflected in policy docs. - NVIDIA#5784 -> `docs/about/release-notes.mdx`: Summarizes `--destroy-user-data` and the safe `--yes` uninstall behavior already documented in lifecycle and command docs. - NVIDIA#6034 -> `docs/about/release-notes.mdx`: Summarizes custom Dockerfile warm-build cache behavior already documented in the command reference. - NVIDIA#5951 -> `docs/reference/commands.mdx`: Documents the stderr-only host `agent` wrapper warning after recent shields auto-relock. - NVIDIA#5387 -> `docs/reference/commands.mdx`: Documents OpenClaw auto-pair watcher cadence and fast-reentry tuning variables. - NVIDIA#5835 -> `docs/reference/troubleshooting.mdx`: Adds recovery guidance for OpenClaw plugin-install network failures. - NVIDIA#5995 and NVIDIA#5956 -> `docs/about/release-notes.mdx`: Summarizes Microsoft Teams final-message delivery and runtime mention hints already covered by messaging docs. - NVIDIA#5716 -> `docs/about/release-notes.mdx`: Summarizes non-interactive Ollama loopback safety already covered by local inference docs. - NVIDIA#5505, NVIDIA#5527, and NVIDIA#5528 -> `docs/about/release-notes.mdx`: Summarizes compatible local endpoint, model task-fit, and model capability audit docs. - NVIDIA#6009 -> `docs/get-started/windows-preparation.mdx`, `docs/reference/troubleshooting.mdx`: Documents sanitized Windows bootstrap WSL output and reboot-required gating. - NVIDIA#6055 -> no additional source doc page change needed beyond the already-merged quickstart update; release notes did not duplicate routine quickstart cleanup. No matching v0.0.71 GitHub announcement discussion was found in the latest 20 discussions, so this refresh is based on the commit scan and existing source PR docs. ## 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 <!-- Check all that apply. For any "covered by existing tests", "not applicable", or waiver entry, add a brief justification on the same line or in the Changes section. --> - [ ] Tests added or updated for changed behavior - [ ] Existing tests cover changed behavior — justification: - [x] Tests not applicable — justification: docs-only refresh with no runtime behavior changes. - [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 <!-- Check each item you ran and confirmed. Leave unchecked items you skipped. Doc-only changes do not require npm test unless you ran it. --> - [x] PR description includes the DCO sign-off declaration and every commit appears as `Verified` in GitHub - [x] Git hooks passed during commit and push, or `npx prek run --from-ref main --to-ref HEAD` passes - [ ] Targeted tests pass for changed behavior - [ ] Full `npm test` passes (broad runtime changes only) - [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) — ran `npm run docs`; Fern reported 0 errors and 2 existing warnings. - [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) --- <!-- 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 * **Documentation** * Added a new release-notes entry covering gateway recovery, authentication, network policy/provenance output, uninstall safety, Windows bootstrap diagnostics, messaging defaults, and inference setup guidance. * Clarified Windows preparation steps around reboot behavior and redacting troubleshooting transcripts. * Expanded command reference details for OpenClaw wrapper behavior and new auto-pair tuning options. * Improved troubleshooting guidance for plugin installation issues, WSL repair/reboot cases, and install timing problems. <!-- end of auto-generated comment: release notes by coderabbit.ai --> Signed-off-by: Julie Yaunches <jyaunches@nvidia.com> Co-authored-by: Prekshi Vyas <34834085+prekshivyas@users.noreply.github.com>
Summary
Preserve Docker layer reuse for identical warm sandbox builds by leaving
NEMOCLAW_BUILD_IDstable in stock OpenClaw and Hermes Dockerfiles. Custom--fromDockerfiles and managed agents that consume the compatibility argument retain the historical sanitized per-run rewrite.This is a signed, narrowed replacement for #6019. It intentionally drops that PR's late-
ENVrelocation because an empirical BuildKit control proved that changing any in-scopeARGstill invalidates followingRUNlayers even when the instruction does not mention the argument.Related Issue
Fixes #4682
Changes
--fromand other managed agents retain unconditional rewriting.ARG NEMOCLAW_BUILD_ID=default, with an explicit comment that gateway tokens are generated at container startup and are not baked into image layers.20.9sto0.1s; Hermes21.5sto0.4s, with real rebuilt-versus-CACHEDBuildKit excerpts, the measurement boundary, and the ARG-scope caveat recorded in the test fixture.Type of Change
Quality Gates
sanitizeDockerArg; no credential material is added to layersVerification
Verifiedin GitHubnpx prek run --from-ref main --to-ref HEADpassesnpm testpasses (broad runtime changes only)npm run docsbuilds without warnings (doc changes only)Evidence: 37 focused patch/policy assertions; the normal hook passed 8,330 tests (8,299 passed, 31 skipped) plus source-shape, size, security, lint, DCO, and commitlint gates; CLI pre-push typecheck passed. Real BuildKit controls identified and then cached OpenClaw’s 3.7s plugin + 10.9s layout layers and Hermes’s 9.0s config + 4.8s layout layers. Parent timing record: #3776 (comment). Commits
22c39549bbb6d2aa1796647ecc26973293252545andc740d4cc3b63d541e7881e3d8206dc31d581501bare GitHub Verified.Co-authored-by: Angel Mata amata@nvidia.com
Signed-off-by: Angel Mata amata@nvidia.com
Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit
New Features
Bug Fixes