Skip to content

feat(onboard): add NEMOCLAW_MINIMAL_BOOTSTRAP workspace-seed flag#4870

Merged
cv merged 6 commits into
mainfrom
feat/minimal-bootstrap-2598
Jun 5, 2026
Merged

feat(onboard): add NEMOCLAW_MINIMAL_BOOTSTRAP workspace-seed flag#4870
cv merged 6 commits into
mainfrom
feat/minimal-bootstrap-2598

Conversation

@cjagwani

@cjagwani cjagwani commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Summary

Opt-in env var that skips default workspace template seeding (AGENTS.md, SOUL.md, IDENTITY.md, USER.md, TOOLS.md, HEARTBEAT.md) for new/pristine workspaces at sandbox boot. Does NOT delete files already present.

Partial mitigation for #2598: addresses the project-context contribution from NemoClaw's seeded workspace templates (~3k tokens off OpenClaw's per-turn bootstrap context injection). The remaining OpenClaw framework/non-project context overhead is out of NemoClaw's scope and tracked upstream at openclaw/openclaw#14785.

Changes

  • scripts/nemoclaw-start.sh: gate seed_default_workspace_templates on NEMOCLAW_MINIMAL_BOOTSTRAP=1
  • src/lib/onboard/host-proxy-env.ts: propagate the env from host through openshell sandbox create -- env so the in-sandbox check fires (bundled with proxy env propagation to keep src/lib/onboard.ts line-budget-neutral)
  • test/onboard.test.ts: host-side propagation tests (set/unset cases)
  • test/nemoclaw-start.test.ts: 2 tests (skips when flag=1, still seeds otherwise)
  • docs/manage-sandboxes/runtime-controls.mdx: operator-facing note in the mutability table

Verification (GCP Brev box, OpenClaw 2026.5.27 + Ollama + llama3.2:1b)

Section Without flag With flag Delta
Total systemPrompt 23,872 chars 11,622 chars -51%
Project context 12,350 chars 665 chars -94.6%
Non-project context 11,522 chars 10,957 chars -5%

New sandboxes onboarded with NEMOCLAW_MINIMAL_BOOTSTRAP=1 have a pristine workspace at /sandbox/.openclaw/workspace; skip log fires in /tmp/nemoclaw-start.log. The residual 665 chars of project context is OpenClaw's runtime-generated IDENTITY.md, not seeded by us. The non-project context (~10,957 chars) is OpenClaw framework boilerplate, tracked upstream as noted above.

Verification checklist

  • npm test passes (targeted vitest: 10/10 on seed_default_workspace_templates + 4/4 on host-proxy-env propagation)
  • Tests added for new behavior (both shell skip + host-side propagation)
  • Docs note added at docs/manage-sandboxes/runtime-controls.mdx
  • No secrets, API keys, or credentials committed

Refs #2598

Summary by CodeRabbit

  • New Features

    • Add an option to skip creating default workspace template files at startup by setting NEMOCLAW_MINIMAL_BOOTSTRAP=1; startup logs indicate when seeding is skipped.
  • Tests

    • Added coverage for the optional startup mode and for forwarding or omitting the environment flag.
  • Documentation

    • Documented the runtime knob for skipping default template seeding.

…seed (#2598)

The default workspace seed (AGENTS.md, SOUL.md, IDENTITY.md, USER.md,
TOOLS.md, HEARTBEAT.md) in /sandbox/.openclaw/workspace contributes
roughly 12k chars to every agent prompt via OpenClaw's per-turn
bootstrap context injection. For trivial turns this is half the system
prompt with no behavioral benefit; agents already run with
skipBootstrap=true.

Add an opt-in env var that gates the seed in
scripts/nemoclaw-start.sh:seed_default_workspace_templates() and
propagates from the host through `openshell sandbox create -- env`.

Verified end-to-end on a Brev box (OpenClaw 2026.5.27 + Ollama):
- Unflagged: 23,872 chars (project 12,350 + non-project 11,522)
- Flagged:   11,622 chars (project 665 + non-project 10,957)
- Delta:    -12,250 chars (~-3,062 tokens, -51%)

Residual non-project context (~10,957 chars) is OpenClaw framework
boilerplate; tracked separately for upstream.

Refs #2598

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@coderabbitai

coderabbitai Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

PR changed again? Review this PR in Change Stack to compare snapshots and stay oriented.

Review Change Stack

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: b0891b98-7862-4ff4-a626-c2cb21f4a600

📥 Commits

Reviewing files that changed from the base of the PR and between 848d50e and 5e78299.

📒 Files selected for processing (1)
  • test/onboard.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • test/onboard.test.ts

📝 Walkthrough

Walkthrough

The PR adds support for a NEMOCLAW_MINIMAL_BOOTSTRAP=1 environment variable that conditionally skips default workspace template seeding. The flag is propagated from the host environment to sandbox startup args, and when set to exactly "1", the seeding function returns early without creating default template files.

Changes

Minimal Bootstrap Mode

Layer / File(s) Summary
Bootstrap flag propagation to sandbox
src/lib/onboard/host-proxy-env.ts, test/onboard.test.ts
appendHostProxyEnvArgs now appends NEMOCLAW_MINIMAL_BOOTSTRAP=1 to sandbox environment args when the host sets the variable to exactly "1", with tests validating that unset or non-"1" values do not forward the flag.
Workspace seeding guard
scripts/nemoclaw-start.sh, test/nemoclaw-start.test.ts, docs/manage-sandboxes/runtime-controls.mdx
seed_default_workspace_templates now checks NEMOCLAW_MINIMAL_BOOTSTRAP and returns early with a log when set to "1", skipping creation of default template files; test harness is updated to clear the variable by default and new cases validate both skip and normal seeding paths.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Possibly related PRs

  • NVIDIA/NemoClaw#4331: Extends appendHostProxyEnvArgs helper and related tests for forwarding host proxy environment variables.
  • NVIDIA/NemoClaw#4528: Modifies workspace template seeding dispatch in scripts/nemoclaw-start.sh during step-down initialization.

Suggested labels

enhancement: feature, area: sandbox, area: cli

Suggested reviewers

  • cv
  • prekshivyas

Poem

🐰 A tiny rabbit hops and peeks the cart,
A bootstrap flag that plays a clever part,
When "1" is set the seeder softly rests,
No templates born, the workspace keeps its nests,
Hooray for nimble starts and quieter arts!

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 33.33% 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 accurately describes the main change: adding a NEMOCLAW_MINIMAL_BOOTSTRAP flag to control workspace-seed behavior during onboarding.
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 feat/minimal-bootstrap-2598

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

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: test/e2e/test-full-e2e.sh with NEMOCLAW_MINIMAL_BOOTSTRAP=1
Optional E2E: ubuntu-repo-cloud-openclaw, test/e2e/test-cloud-onboard-e2e.sh

Dispatch hint: script=test/e2e/test-full-e2e.sh; runner=ubuntu-latest; timeout_minutes=60; artifact_name=minimal-bootstrap-full-e2e-logs; artifact_path=/tmp/nemoclaw-e2e-*.log\ntest/e2e/logs/**; env_json={"NEMOCLAW_NON_INTERACTIVE":"1","NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE":"1","NEMOCLAW_RECREATE_SANDBOX":"1","NEMOCLAW_MINIMAL_BOOTSTRAP":"1","NEMOCLAW_SANDBOX_NAME":"e2e-minimal-bootstrap"}; nvidia_api_key=true

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • test/e2e/test-full-e2e.sh with NEMOCLAW_MINIMAL_BOOTSTRAP=1 (high; live Docker sandbox plus NVIDIA Endpoints inference, typically several minutes): Merge-blocking confidence is needed because the PR changes the real onboard-to-sandbox startup environment and OpenClaw workspace bootstrap behavior. Running the full OpenClaw install/onboard/inference path with NEMOCLAW_MINIMAL_BOOTSTRAP=1 validates host env propagation into openshell sandbox create -- env ... nemoclaw-start, verifies the sandbox still starts, and proves an OpenClaw agent turn through inference.local still works when default workspace templates are skipped.

Optional E2E

  • ubuntu-repo-cloud-openclaw (high; live cloud OpenClaw scenario with NVIDIA_API_KEY): Useful default-path confidence for canonical typed scenario onboarding without NEMOCLAW_MINIMAL_BOOTSTRAP set, covering smoke, inference, and credentials on the standard OpenClaw cloud route. This is adjacent because the default template-seeding path should remain unchanged, but unit coverage already directly pins the non-flag behavior.
  • test/e2e/test-cloud-onboard-e2e.sh (high; public-style install plus live sandbox and NVIDIA Endpoints): Optional broader install/onboard/security validation for the cloud onboarding path, including sandbox health, Landlock/read-only checks, API key leak detection, and inference.local routing. It does not specifically assert minimal bootstrap behavior, so it is not the primary merge-blocking recommendation.

New E2E recommendations

  • minimal-bootstrap-real-sandbox-assertion (high): Existing E2E scripts validate that onboarding and OpenClaw inference work, but they do not explicitly inspect a real sandbox after onboarding with NEMOCLAW_MINIMAL_BOOTSTRAP=1 to assert that AGENTS.md, SOUL.md, IDENTITY.md, USER.md, TOOLS.md, and HEARTBEAT.md were not seeded while existing user files would remain untouched.
    • Suggested test: Add an E2E regression script or typed scenario for OpenClaw onboarding with NEMOCLAW_MINIMAL_BOOTSTRAP=1 that SSHes into the sandbox, checks /sandbox/.openclaw/workspace for absence of the default template files on a pristine workspace, then runs a short OpenClaw agent inference turn.

Dispatch hint

  • Workflow: .github/workflows/e2e-script.yaml
  • jobs input: script=test/e2e/test-full-e2e.sh; runner=ubuntu-latest; timeout_minutes=60; artifact_name=minimal-bootstrap-full-e2e-logs; artifact_path=/tmp/nemoclaw-e2e-*.log\ntest/e2e/logs/**; env_json={"NEMOCLAW_NON_INTERACTIVE":"1","NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE":"1","NEMOCLAW_RECREATE_SANDBOX":"1","NEMOCLAW_MINIMAL_BOOTSTRAP":"1","NEMOCLAW_SANDBOX_NAME":"e2e-minimal-bootstrap"}; nvidia_api_key=true

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

E2E Scenario Advisor Recommendation

Required scenario E2E: ubuntu-repo-cloud-openclaw
Optional scenario E2E: ubuntu-repo-cloud-hermes

Dispatch required scenario E2E:

  • gh workflow run e2e-scenarios.yaml --ref <pr-head-ref> --field scenarios=ubuntu-repo-cloud-openclaw

Workflow run

Full scenario advisor summary

E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required scenario E2E

  • ubuntu-repo-cloud-openclaw: Changes affect OpenClaw sandbox startup/onboarding behavior: host-side propagation of NEMOCLAW_MINIMAL_BOOTSTRAP into the sandbox startup env and nemoclaw-start.sh workspace-template seeding logic. The Ubuntu repo cloud OpenClaw scenario is the smallest ROUTES-backed scenario that exercises current-branch onboarding, sandbox start, and OpenClaw readiness on the primary runner.
    • Dispatch: gh workflow run e2e-scenarios.yaml --ref <pr-head-ref> --field scenarios=ubuntu-repo-cloud-openclaw

Optional scenario E2E

  • ubuntu-repo-cloud-hermes: Optional adjacent coverage for the shared onboarding env-argument path in a Hermes sandbox. The OpenClaw scenario is the primary target because the template-seeding change is OpenClaw-specific.
    • Dispatch: gh workflow run e2e-scenarios.yaml --ref <pr-head-ref> --field scenarios=ubuntu-repo-cloud-hermes

Relevant changed files

  • scripts/nemoclaw-start.sh
  • src/lib/onboard/host-proxy-env.ts

@cjagwani cjagwani self-assigned this Jun 5, 2026
@cjagwani cjagwani requested a review from cv June 5, 2026 22:06
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor

Findings: 0 needs attention, 0 worth checking, 0 nice ideas
Since last review: 0 prior items resolved, 0 still apply, 0 new items found

Consider writing more tests for
  • **Runtime validation** — createSandbox forwards NEMOCLAW_MINIMAL_BOOTSTRAP=1 in the final openshell sandbox create startup command when the host env is exactly "1". Unit coverage is strong for the changed helper logic and exact-value negative cases. Because the changed path crosses onboarding, `openshell sandbox create -- env`, and real sandbox startup, targeted runtime validation would further reduce integration risk.
  • **Runtime validation** — createSandbox omits NEMOCLAW_MINIMAL_BOOTSTRAP from the final openshell sandbox create startup command when the host env is unset, empty, "0", "true", or "yes". Unit coverage is strong for the changed helper logic and exact-value negative cases. Because the changed path crosses onboarding, `openshell sandbox create -- env`, and real sandbox startup, targeted runtime validation would further reduce integration risk.
  • **Runtime validation** — sandbox startup with NEMOCLAW_MINIMAL_BOOTSTRAP=1 writes the skip message to the real nemoclaw-start log path and leaves AGENTS.md, SOUL.md, IDENTITY.md, USER.md, TOOLS.md, and HEARTBEAT.md absent in a fresh workspace. Unit coverage is strong for the changed helper logic and exact-value negative cases. Because the changed path crosses onboarding, `openshell sandbox create -- env`, and real sandbox startup, targeted runtime validation would further reduce integration risk.
  • **Runtime validation** — NEMOCLAW_MINIMAL_BOOTSTRAP=1 preserves pre-existing AGENTS.md, SOUL.md, IDENTITY.md, USER.md, TOOLS.md, and HEARTBEAT.md files during startup. Unit coverage is strong for the changed helper logic and exact-value negative cases. Because the changed path crosses onboarding, `openshell sandbox create -- env`, and real sandbox startup, targeted runtime validation would further reduce integration risk.
  • **Acceptance clause:** Refs [DGX Spark][Agent&Skills] Trivial "hello" agent turn takes ~10s P50 / 17s max on local Ollama (nemotron-3-nano:30b) #2598 — add test evidence or identify existing coverage. No linked issue body or issue comments were provided in the deterministic context, so the literal issue acceptance requirements for [DGX Spark][Agent&Skills] Trivial "hello" agent turn takes ~10s P50 / 17s max on local Ollama (nemotron-3-nano:30b) #2598 could not be extracted or independently verified.

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.

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.ts`:
- Around line 3563-3566: The added 3-line conditional for the
NEMOCLAW_MINIMAL_BOOTSTRAP env flag increases file size and triggers the growth
guardrail; make it line-neutral by collapsing it into a single-line expression
or merging it with the nearby env assignment so no net new lines are
added—specifically adjust the block that references formatEnvAssignment and
envArgs.push for "NEMOCLAW_MINIMAL_BOOTSTRAP" (the new conditional) to be a
one-liner or integrated into the adjacent conditional/assignment so the
functionality remains but the added lines are eliminated.
🪄 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: 1c74746b-9dbd-482b-bd2f-a4ddd08ad420

📥 Commits

Reviewing files that changed from the base of the PR and between ed75d14 and a32ccbc.

📒 Files selected for processing (3)
  • scripts/nemoclaw-start.sh
  • src/lib/onboard.ts
  • test/nemoclaw-start.test.ts

Comment thread src/lib/onboard.ts Outdated
cjagwani added 3 commits June 5, 2026 15:10
… test env (#2598)

Address CodeRabbit feedback on #4870:

- Major (codebase-growth-guardrails): the 4-line conditional added to
  createSandbox tripped the file growth check. Collapse to a single
  line; semantics unchanged.
- Nice idea: runSeed inherits process.env, so a developer with
  NEMOCLAW_MINIMAL_BOOTSTRAP=1 in their shell would silently break the
  existing "seeds templates" tests. Default to "" in the env spread so
  each test still controls the flag via its own override.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
…lper (#2598)

codebase-growth-guardrails hard-caps src/lib/onboard.ts at net 0 since
the file is already ~12k lines. Even the 1-line conditional from the
previous fixup tripped the check.

Move the propagation into the existing
src/lib/onboard/host-proxy-env.ts helper, which already handles
host->sandbox env var forwarding via the same `openshell sandbox
create -- env ... nemoclaw-start` path. Remove the inline if from
onboard.ts, taking onboard.ts to net -1 vs main.

Also add the host-side propagation tests the PR Review Advisor's
worth-checking item asked for: assert NEMOCLAW_MINIMAL_BOOTSTRAP=1
propagates, and asserts unset/empty/"0"/"true"/"yes" do not.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 27042892079
Target ref: 33e38af5a2d354ce44a99268e93c59af0eb0e5cc
Workflow ref: main
Requested jobs: cloud-onboard-e2e
Summary: 0 passed, 0 failed, 0 skipped

Job Result
cloud-onboard-e2e ⚠️ cancelled

@cv

cv commented Jun 5, 2026

Copy link
Copy Markdown
Collaborator

Review note: the implementation looks directionally correct for an opt-in minimal-bootstrap mitigation, but I recommend tightening the PR before merge.

What I verified:

  • scripts/nemoclaw-start.sh skips seed_default_workspace_templates() when NEMOCLAW_MINIMAL_BOOTSTRAP=1.
  • src/lib/onboard/host-proxy-env.ts forwards only literal NEMOCLAW_MINIMAL_BOOTSTRAP=1 from host env into the sandbox startup env.
  • The added unit coverage exercises both the shell skip behavior and the helper-level host env forwarding.
  • Local targeted validation passed after rebuilding CLI: npm run build:cli && npm test -- --run test/onboard.test.ts test/nemoclaw-start.test.ts.

Recommendations:

  1. Please avoid saying this flag “empties” the workspace/default seed. The code does not delete existing files; it only skips default workspace-template seeding. Suggested wording: “skips default workspace template seeding for new/pristine workspaces.”
  2. Please add a short docs/reference note for this new operator-facing env var. It should state that NEMOCLAW_MINIMAL_BOOTSTRAP=1 skips the default AGENTS.md, SOUL.md, IDENTITY.md, USER.md, TOOLS.md, and HEARTBEAT.md seed files, and that it does not remove files already present in the workspace.
  3. Optional but useful: add one command-capture assertion on the actual createSandbox/openshell sandbox create -- env ... nemoclaw-start path, not just the extracted helper, to pin that the flag reaches the generated sandbox create command.
  4. Please frame this as a partial [DGX Spark][Agent&Skills] Trivial "hello" agent turn takes ~10s P50 / 17s max on local Ollama (nemotron-3-nano:30b) #2598 mitigation: it removes the project-context contribution from NemoClaw's seeded workspace templates, but it does not address the remaining OpenClaw framework/non-project context overhead.

I would not consider these blocking for the core mechanics, but docs/wording are important because this is a new user-visible runtime knob.

@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 27043126252
Target ref: b7b56d604f34d0aa236fa502aa5ccbf2c3ecdccd
Workflow ref: main
Requested jobs: cloud-e2e
Summary: 1 passed, 0 failed, 0 skipped

Job Result
cloud-e2e ✅ success

…ence note (#2598)

Address cv's review feedback on #4870:

1. Replace "empties workspace seed" wording. The flag does NOT delete
   files already present, it only skips default workspace template
   seeding for new/pristine workspaces. Update code comments in
   scripts/nemoclaw-start.sh and src/lib/onboard/host-proxy-env.ts.

2. Add operator-facing docs note in
   docs/manage-sandboxes/runtime-controls.mdx documenting the new env
   var, the exact templates it skips (AGENTS.md, SOUL.md, IDENTITY.md,
   USER.md, TOOLS.md, HEARTBEAT.md), and the non-deletion contract.

3. Frame as partial #2598 mitigation in both the code comment and the
   docs: this PR addresses the project-context contribution from
   NemoClaw's seeded workspace templates; the remaining OpenClaw
   framework/non-project context is tracked upstream at
   openclaw/openclaw#14785.

Signed-off-by: Charan Jagwani <cjagwani@nvidia.com>
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

@cjagwani

cjagwani commented Jun 5, 2026

Copy link
Copy Markdown
Contributor Author

wording fix, docs row, partial-mitigation framing all in. skipped the capture test since onboard.ts:3544 already invokes the helper unchanged

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
docs/manage-sandboxes/runtime-controls.mdx (1)

36-36: ⚡ Quick win

Remove bold emphasis from routine prose in the table cell.

**Does not delete files already present.** uses bold for non-warning text; keep this plain text (or use a proper callout only if it is a true warning). LLM pattern detected.
As per coding guidelines, bold is reserved for UI labels, parameter names, and genuine warnings.

🤖 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 `@docs/manage-sandboxes/runtime-controls.mdx` at line 36, Remove the bold
markup around the sentence "Does not delete files already present." in the table
cell that describes the Default OpenClaw workspace template seed (the cell
containing `AGENTS.md`, `SOUL.md`, `IDENTITY.md`, `USER.md`, `TOOLS.md`,
`HEARTBEAT.md` and the `NEMOCLAW_MINIMAL_BOOTSTRAP` / `$$nemoclaw onboard`
guidance); replace the `**...**` emphasis with plain text (or convert to a
proper callout only if it is an actual warning) so it follows the guideline that
bold is reserved for UI labels, parameter names, and real warnings.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@docs/manage-sandboxes/runtime-controls.mdx`:
- Line 36: Remove the bold markup around the sentence "Does not delete files
already present." in the table cell that describes the Default OpenClaw
workspace template seed (the cell containing `AGENTS.md`, `SOUL.md`,
`IDENTITY.md`, `USER.md`, `TOOLS.md`, `HEARTBEAT.md` and the
`NEMOCLAW_MINIMAL_BOOTSTRAP` / `$$nemoclaw onboard` guidance); replace the
`**...**` emphasis with plain text (or convert to a proper callout only if it is
an actual warning) so it follows the guideline that bold is reserved for UI
labels, parameter names, and real warnings.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 8f2e3ac9-0020-4972-a004-861138b45a85

📥 Commits

Reviewing files that changed from the base of the PR and between b7b56d6 and 848d50e.

📒 Files selected for processing (3)
  • docs/manage-sandboxes/runtime-controls.mdx
  • scripts/nemoclaw-start.sh
  • src/lib/onboard/host-proxy-env.ts
🚧 Files skipped from review as they are similar to previous changes (2)
  • src/lib/onboard/host-proxy-env.ts
  • scripts/nemoclaw-start.sh

@cv cv enabled auto-merge (squash) June 5, 2026 22:36
@github-actions

github-actions Bot commented Jun 5, 2026

Copy link
Copy Markdown
Contributor

Selective E2E Results — ✅ All requested jobs passed

Run: 27043589920
Target ref: 848d50eeb013524fbf9a5588545327864d66231e
Workflow ref: main
Requested jobs: cloud-onboard-e2e,openclaw-onboard-security-posture-e2e
Summary: 2 passed, 0 failed, 0 skipped

Job Result
cloud-onboard-e2e ✅ success
openclaw-onboard-security-posture-e2e ✅ success

@cv cv merged commit 3c713b2 into main Jun 5, 2026
34 checks passed
@cv cv deleted the feat/minimal-bootstrap-2598 branch June 5, 2026 22:52
miyoungc added a commit that referenced this pull request Jun 6, 2026
## Summary
- Adds the `v0.0.60` section to `docs/about/release-notes.mdx` using the
dev announcement from discussion #4877.
- Fills the source-doc gaps found during release-prep review across
inference, policy tiers, command behavior, security boundaries, Hermes
dashboard/tooling, runtime context, and troubleshooting.
- Refreshes generated agent skills under `.agents/skills/` from the
current Fern docs output and upgrades Fern from `5.44.3` to `5.45.0`.

## Source summary
- #4037 -> `docs/reference/architecture.mdx`,
`docs/about/how-it-works.mdx`, `docs/about/release-notes.mdx`: Documents
system-only runtime context that stays out of visible chat.
- #4875 -> `docs/reference/architecture.mdx`,
`docs/about/how-it-works.mdx`, `docs/about/release-notes.mdx`: Documents
try-first sandbox network/filesystem guidance and clearer failure
classification.
- #4788 -> `docs/security/best-practices.mdx`,
`docs/about/release-notes.mdx`: Documents shared OpenClaw
device-approval policy for startup and connect.
- #4768 -> `docs/reference/network-policies.mdx`,
`docs/network-policy/integration-policy-examples.mdx`,
`docs/get-started/quickstart.mdx`,
`docs/get-started/quickstart-hermes.mdx`, `docs/reference/commands.mdx`:
Documents `weather`, `public-reference`, and Hermes managed-tool gateway
preset behavior.
- #3788 and #4864 -> `docs/reference/network-policies.mdx`,
`docs/reference/commands.mdx`: Documents non-interactive policy-tier
fail-fast behavior and interactive prompt fallback.
- #4756 and #4866 -> `docs/reference/commands.mdx`: Documents env-aware
default sandbox resolution for `list`, `status`, and `tunnel` commands.
- #4320 -> `docs/reference/commands.mdx`: Documents `$$nemoclaw tunnel
status` behavior.
- #4328 -> `docs/reference/commands.mdx`: Documents line-scoped policy
preset descriptions in `policy-list`.
- #4580 and #4748 -> `docs/reference/architecture.mdx`: Documents
package-managed OpenShell gateway service and Docker-driver
gateway-marker behavior.
- #4598 -> `docs/manage-sandboxes/lifecycle.mdx`: Documents concurrent
gateway/dashboard cleanup isolation by sandbox name and port.
- #4777 -> `docs/reference/troubleshooting.mdx`: Documents Docker GPU
patch rollback behavior.
- #4610 -> `docs/reference/troubleshooting.mdx`,
`docs/reference/commands.mdx`: Keeps mutable OpenClaw config permission
guidance aligned and removes skipped experimental wording.
- #4868 -> `docs/reference/commands.mdx`: Keeps `.dockerignore` handling
for custom `onboard --from <Dockerfile>` contexts in generated skills.
- #4870 -> `docs/reference/commands.mdx`,
`docs/manage-sandboxes/runtime-controls.mdx`: Documents
`NEMOCLAW_MINIMAL_BOOTSTRAP` and generated skill coverage.
- #4641 -> `docs/inference/inference-options.mdx`,
`docs/reference/troubleshooting.mdx`: Documents local NVIDIA NIM
platform-digest pulls and served-model id adoption.
- #4810 and #4867 -> `docs/inference/inference-options.mdx`: Documents
stable NGC managed-vLLM image lineage and DGX Station DeepSeek V4 Flash
coverage.
- #4852 -> `docs/inference/use-local-inference.mdx`,
`docs/reference/troubleshooting.mdx`: Documents Ollama model fit
filtering, 16K context floor, cold-load retry, and failed-model
exclusion.
- #4847 -> `docs/inference/switch-inference-providers.mdx`: Documents
API-family sync, Hermes `api_mode`, and Bedrock Runtime exception.
- #4800 -> `docs/inference/tool-calling-reliability.mdx`: Documents
Nemotron managed-inference native tool-search fallback.
- #4333 -> `docs/inference/switch-inference-providers.mdx`: Documents
interactive multimodal input prompting.
- #4086 -> `docs/reference/troubleshooting.mdx`: Keeps proxy bypass
normalization in generated troubleshooting coverage.
- #4811 and #4855 -> `docs/get-started/quickstart-hermes.mdx`: Documents
prebuilt Hermes dashboard assets and TUI recovery without runtime
rebuilds.
- #4854 -> `docs/inference/switch-inference-providers.mdx`,
`docs/reference/commands.mdx`: Documents Hermes proxy API-key
placeholder preservation during inference switches.
- #4248 -> `docs/manage-sandboxes/messaging-channels.mdx`,
`.agents/skills/`: Keeps messaging enrollment behavior aligned with
manifest-hook implementation.
- #4771 -> `docs/security/best-practices.mdx`,
`docs/security/credential-storage.mdx`: Documents Hermes
placeholder-only secret boundary for sandbox-visible runtime files.
- #4787 -> `docs/security/best-practices.mdx`,
`docs/about/release-notes.mdx`: Documents expanded memory scanner
examples for OpenAI project keys and Slack app-level tokens.
- #4848 -> `docs/reference/commands.mdx`: Documents OpenClaw skill
install mirroring into the agent home directory.
- #4790 -> `docs/about/release-notes.mdx`: Uses the prior release-prep
structure and generated `.agents/skills/` refresh as the template for
this release.

## Verification
- `python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix
nemoclaw-user --doc-platform fern-mdx`
- `python3 scripts/docs-to-skills.py docs/ .agents/skills/ skills/
--prefix nemoclaw-user --doc-platform fern-mdx --dry-run`
- `npm run docs`
- `git diff --check`
- skip-term scan across `docs/`, `.agents/skills/`, and `skills/`
- `npm run build:cli`
- `npm run typecheck:cli`
- Commit and pre-push hook suites, including markdownlint, gitleaks,
env-var docs gate, docs-to-skills verification, and skills YAML tests

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

## Summary by CodeRabbit

## Release Notes

* **New Features**
* DeepSeek-V4-Flash now available as default inference model for DGX
Station.
* Hermes dashboard improved with dedicated port and OAuth-authenticated
tool gateway selection.
* Added weather and public-reference policy presets for expanded agent
capabilities.
* Enhanced Ollama model selection with GPU memory filtering and
automatic retry for timeouts.

* **Bug Fixes**
  * Improved policy tier validation to prevent invalid configurations.
* Better sandbox cleanup scoping by port to prevent conflicts across
deployments.
  * Added GPU patch failure recovery with automatic rollback.

* **Documentation**
* Expanded troubleshooting guides for inference, security, and sandbox
lifecycle.
  * Added .dockerignore best practices for custom deployments.

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

---------

Co-authored-by: Carlos Villela <cvillela@nvidia.com>
@wscurran wscurran added the feature PR adds or expands user-visible functionality label Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

feature PR adds or expands user-visible functionality

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants