Skip to content

docs(reference): document OpenClaw build-time version pin (#2635)#3268

Merged
ericksoa merged 3 commits into
mainfrom
docs/2635-openclaw-version-policy
May 8, 2026
Merged

docs(reference): document OpenClaw build-time version pin (#2635)#3268
ericksoa merged 3 commits into
mainfrom
docs/2635-openclaw-version-policy

Conversation

@cjagwani

@cjagwani cjagwani commented May 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #2635 by documenting the existing build-time pin policy for OpenClaw inside the sandbox. The pin and detection machinery already exist — only the user-facing documentation was missing.

Related Issue

Closes #2635

What's already in main (no code change needed)

  • Build-time pin: min_openclaw_version: "2026.4.24" in nemoclaw-blueprint/blueprint.yaml. The Dockerfile (Dockerfile:60-83) upgrades the cached base image to that version on rebuild.
  • Version probe: src/lib/sandbox-version.ts SSHs into the sandbox, runs the agent's version command, caches the result in the registry.
  • User visibility: src/lib/actions/sandbox/status.ts:107 prints Agent: OpenClaw v<version> in nemoclaw <name> status. connect and doctor emit a staleness warning pointing at nemoclaw <name> rebuild when the running version is older than the pin.

What this PR adds

A new "Checking the OpenClaw version" subsection under nemoclaw <name> status in docs/reference/commands.md that explains:

  • We pin OpenClaw at build time, not auto-update at runtime.
  • The minimum version source-of-truth is min_openclaw_version in blueprint.yaml.
  • Existing sandboxes don't auto-upgrade — users rebuild to pick up a newer pin.
  • status prints the running version on the Agent line, and surfaces an Update line when stale.
  • rebuild reuses the existing sandbox name and persisted credentials.

Type of Change

  • Doc only (prose changes, no code sample modifications)

Verification

  • npx prek run --all-files passes (commit went through pre-commit hooks).
  • markdownlint clean on docs/reference/commands.md.
  • docs-to-skills dry-run clean.
  • No code change; doc claims spot-checked against blueprint.yaml, Dockerfile, src/lib/sandbox-version.ts, and src/lib/actions/sandbox/status.ts.

Summary by CodeRabbit

  • Documentation
    • Clarifies that sandbox builds pin the OpenClaw component version and that existing sandboxes do not auto-upgrade.
    • Describes how to view the running OpenClaw version via nemoclaw <name> status and explains the Agent and Update lines.
    • Documents using nemoclaw <name> rebuild to update the pinned version while retaining the sandbox name and credentials.

Closes #2635 by documenting the existing build-time pin policy that
satisfies the ticket's "OpenClaw version is pinned and documented in the
release notes" acceptance criterion. The pin and detection machinery
already exist; only the user-facing documentation was missing.

The new "Checking the OpenClaw version" subsection under
`nemoclaw <name> status` in commands.md explains:
- OpenClaw is pinned at build time via `min_openclaw_version` in
  `nemoclaw-blueprint/blueprint.yaml`; the Dockerfile upgrades the
  cached base image to that version on rebuild.
- Existing sandboxes do not auto-upgrade — users rebuild to pick up a
  newer pin.
- `nemoclaw <name> status` prints the running OpenClaw version on the
  `Agent` line.
- Stale sandboxes get an `Update` line in `status` and `connect`
  pointing at `nemoclaw <name> rebuild`.

No code change. The build-time pin (Dockerfile:60-83), the version
probe (src/lib/sandbox-version.ts), and the staleness warning wiring
into status/connect/doctor (src/lib/actions/sandbox/status.ts:107
prints the Agent line; status/connect emit the staleness warning) are
all on main today.

Signed-off-by: Charan Jagwani <charjags100@gmail.com>
@copy-pr-bot

copy-pr-bot Bot commented May 8, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented May 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack
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: ac5127c0-be0f-40f5-8d05-2ac33f6e86c9

📥 Commits

Reviewing files that changed from the base of the PR and between e3a2938 and 3f62f04.

📒 Files selected for processing (1)
  • docs/about/release-notes.md
✅ Files skipped from review due to trivial changes (1)
  • docs/about/release-notes.md

📝 Walkthrough

Walkthrough

This PR adds documentation describing how NemoClaw pins OpenClaw at sandbox build time, how to view the running OpenClaw version in nemoclaw <name> status, when an Update prompt appears, and that nemoclaw <name> rebuild applies the updated pinned version while preserving sandbox name and persisted credentials.

Changes

OpenClaw Version Management Documentation

Layer / File(s) Summary
Commands reference: version check and status output
docs/reference/commands.md
New "Checking the OpenClaw version" subsection documents build-time pinning sourced from the NemoClaw blueprint, Agent line showing running OpenClaw version, conditions that trigger an Update line directing users to nemoclaw <name> rebuild, and that rebuild preserves sandbox name and persisted credentials.
Release notes: Component Version Policy
docs/about/release-notes.md
Adds a release-notes section describing the Component Version Policy: pinning via min_openclaw_version in the blueprint, how to check the running OpenClaw version, and using nemoclaw <name> rebuild to apply updated pins; links to the command reference for details.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through docs to leave a clue,
Which OpenClaw your sandbox runs and who,
If versions lag, a friendly sign:
"Rebuild" — your name and keys align.
Rebuilt and ready, off you flew.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the main change: adding documentation for the OpenClaw build-time version pin policy in the reference section.
Linked Issues check ✅ Passed The PR implements the acceptance criteria from #2635 by documenting the build-time pin approach and providing users with methods to check OpenClaw versions.
Out of Scope Changes check ✅ Passed All changes are documentation-only and directly address the requirements of #2635 regarding version pinning and user visibility into running OpenClaw versions.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/2635-openclaw-version-policy

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

@cjagwani cjagwani self-assigned this May 8, 2026
@cjagwani cjagwani requested a review from miyoungc May 8, 2026 14:36
@cjagwani cjagwani requested a review from cv May 8, 2026 14:36
Adds a Component Version Policy section to release-notes.md so the
build-time pin choice for OpenClaw is captured in the literal location
the #2635 acceptance criterion calls out (release notes), not just in
the commands reference. The section links back to the full policy in
docs/reference/commands.md to avoid duplicating the explanation.

Signed-off-by: Charan Jagwani <charjags100@gmail.com>

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

Reviewed current head e3a2938. The OpenClaw version-policy docs match the current implementation: blueprint.yaml and the OpenClaw manifest both pin 2026.4.24, Dockerfile upgrades stale base images during build from min_openclaw_version, and status/connect surface stale-version rebuild guidance. Docs dry-run and diff checks passed. Note: this PR is currently conflicting with main in docs/about/release-notes.md after the newer release-note section landed; resolve by keeping both sections before merge.

…rsion-policy

# Conflicts:
#	docs/about/release-notes.md
@ericksoa ericksoa merged commit 30545bb into main May 8, 2026
11 checks passed
miyoungc added a commit that referenced this pull request May 9, 2026
## Summary
- Bump the docs release metadata to `0.0.38`.
- Document release-prep updates for status policy versions, Local Ollama
validation and cleanup, blueprint policy additions, rebuild backup
handling, and NemoHermes uninstall branding.
- Refresh generated `nemoclaw-user-*` skills from the updated docs.

## Source summary
- #3185 -> `docs/reference/commands.md`: Documents that `nemoclaw <name>
status` displays the gateway active policy version when OpenShell
reports one.
- #3167 -> `docs/reference/commands.md`,
`docs/inference/use-local-inference.md`: Documents uninstall cleanup for
matching Local Ollama auth proxy processes.
- #2737 -> `docs/inference/use-local-inference.md`,
`docs/network-policy/customize-network-policy.md`,
`docs/manage-sandboxes/lifecycle.md`, `docs/reference/commands.md`:
Documents stricter Local Ollama tool-call validation, blueprint policy
additions, and partial rebuild backup handling.
- #3220 -> `docs/reference/commands.md`: Documents NemoHermes-specific
uninstall progress and completion text.
- #3158 -> `.agents/skills/nemoclaw-user-configure-inference/*`:
Refreshes generated user skills from existing
`docs/inference/switch-inference-providers.md` heartbeat documentation.
- #3199 -> `.agents/skills/nemoclaw-user-get-started/SKILL.md`:
Refreshes generated user skills from existing
`docs/get-started/quickstart.md` Model Router wording.

## Skipped
- #3272 and #3268 were already documented by their merged docs updates
on `main`.
- #3154, #3216, #3166, and #3195 have no additional user-facing docs
impact for this release-prep pass.
- No commits matched `docs/.docs-skip`.

## Test plan
- `python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix
nemoclaw-user`
- `make docs`
- `npm run build:cli`
- Commit and pre-push hooks: markdownlint, docs-to-skills verification,
gitleaks, commitlint, skills YAML tests, CLI typecheck


Made with [Cursor](https://cursor.com)

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

## Summary by CodeRabbit

* **Behavior Changes**
* Rebuild now safely handles partial backups, preserving successfully
captured entries while reporting only unarchived paths
* Uninstall for Local Ollama setups now stops proxy processes before
cleanup
* Local Ollama models require stricter tool-call response validation
during onboarding
* Blueprint policy additions enable custom network policy extensions via
`components.policy.additions`
* New `NEMOCLAW_AGENT_HEARTBEAT_EVERY` configuration controls agent
periodic task frequency
  * Status display now shows active policy version when available

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

Co-authored-by: Cursor <cursoragent@cursor.com>
@wscurran wscurran added the chore Build, CI, dependency, or tooling maintenance label Jun 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

chore Build, CI, dependency, or tooling maintenance

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[All Platforms] OpenClaw version inside sandbox can become outdated — add auto-update or build-time pin

4 participants