fix(installer): default public installs to lkg#4613
Conversation
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 (4)
✅ Files skipped from review due to trivial changes (2)
📝 WalkthroughWalkthroughDefaults for the NemoClaw installer ref/tag change from "latest" to the maintained "lkg": shell and TypeScript resolution now use DEFAULT_INSTALL_REF="lkg", mutable-ref handling is broadened, maintained-version git lookups query lkg refs, and tests/docs updated to match. ChangesMaintained install tag defaults and infrastructure
Maintained version resolution from git
Test updates and documentation
🎯 3 (Moderate) | ⏱️ ~20 minutes Suggested labels:
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Comment |
|
🌿 Preview your docs: https://nvidia-preview-pr-4613.docs.buildwithfern.com/nemoclaw |
PR Review AdvisorFindings: 0 needs attention, 0 worth checking, 0 nice ideas This is an automated advisory review. A human maintainer must make the final merge decision. |
E2E Advisor RecommendationRequired E2E: Dispatch hint: Auto-dispatched E2E: Full advisor summaryE2E Recommendation AdvisorBase: Required E2E
Optional E2E
New E2E recommendations
Dispatch hint
|
E2E Scenario Advisor RecommendationRequired scenario E2E: Dispatch required scenario E2E:
Full scenario advisor summaryE2E Scenario AdvisorBase: Required scenario E2E
Optional scenario E2E
Relevant changed files
|
There was a problem hiding this comment.
🧹 Nitpick comments (2)
docs/reference/commands.mdx (1)
1382-1382: ⚡ Quick winReplace the clause colon with comma/period punctuation.
Line 1382 uses a colon as general punctuation in prose (
For internal installer commands: ...). Please rewrite with a comma or split sentence.As per coding guidelines, "Colons should only introduce a list. Flag colons used as general punctuation between clauses."
🤖 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/reference/commands.mdx` at line 1382, The table row for the environment variable NEMOCLAW_INSTALL_TAG uses a colon as general punctuation ("For internal installer commands: the release tag to install."); update the sentence to remove the colon and either use a comma or split into two sentences (e.g., "For internal installer commands, the release tag to install." or "For internal installer commands. The release tag to install."). Edit the text associated with NEMOCLAW_INSTALL_TAG in the table so it conforms to the guideline that colons only introduce lists.src/lib/domain/installer/ref.test.ts (1)
17-33: ⚡ Quick winAdd one assertion for
refs/tags/lkgmutable-ref behavior.The new mutable-ref set includes
refs/tags/lkg, but the updated test only assertslkg. A single extra case would guard this new branch.Proposed test addition
expect( resolveInstallerVersion({ defaultVersion: "0.1.0", env: { NEMOCLAW_INSTALL_TAG: "lkg" }, gitDescribeVersion: "v2.0.0-4-gabc", packageJsonVersion: "3.0.0", stampedVersion: "2.0.0", }), ).toBe("2.0.0-4-gabc"); + expect( + resolveInstallerVersion({ + defaultVersion: "0.1.0", + env: { NEMOCLAW_INSTALL_TAG: "refs/tags/lkg" }, + gitDescribeVersion: "v2.0.0-4-gabc", + packageJsonVersion: "3.0.0", + stampedVersion: "2.0.0", + }), + ).toBe("2.0.0-4-gabc");🤖 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 `@src/lib/domain/installer/ref.test.ts` around lines 17 - 33, Add one more assertion in the test for resolveInstallerVersion to cover the new mutable-ref form "refs/tags/lkg": replicate the existing case that asserts behavior for env NEMOCLAW_INSTALL_TAG: "lkg" but pass the tag as "refs/tags/lkg" (keeping other inputs same) and assert the same resulting version ("2.0.0-4-gabc"); update the test block in src/lib/domain/installer/ref.test.ts near the other expectations so the new branch for refs/tags/... is exercised.
🤖 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/reference/commands.mdx`:
- Line 1382: The table row for the environment variable NEMOCLAW_INSTALL_TAG
uses a colon as general punctuation ("For internal installer commands: the
release tag to install."); update the sentence to remove the colon and either
use a comma or split into two sentences (e.g., "For internal installer commands,
the release tag to install." or "For internal installer commands. The release
tag to install."). Edit the text associated with NEMOCLAW_INSTALL_TAG in the
table so it conforms to the guideline that colons only introduce lists.
In `@src/lib/domain/installer/ref.test.ts`:
- Around line 17-33: Add one more assertion in the test for
resolveInstallerVersion to cover the new mutable-ref form "refs/tags/lkg":
replicate the existing case that asserts behavior for env NEMOCLAW_INSTALL_TAG:
"lkg" but pass the tag as "refs/tags/lkg" (keeping other inputs same) and assert
the same resulting version ("2.0.0-4-gabc"); update the test block in
src/lib/domain/installer/ref.test.ts near the other expectations so the new
branch for refs/tags/... is exercised.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Path: .coderabbit.yaml
Review profile: CHILL
Plan: Enterprise
Run ID: 18aeb730-2bd0-4c6d-9d3a-33dec8a3d527
📒 Files selected for processing (10)
docs/reference/commands.mdxinstall.shscripts/install.shsrc/lib/actions/installer/plan.test.tssrc/lib/actions/update.test.tssrc/lib/actions/update.tssrc/lib/domain/installer/ref.test.tssrc/lib/domain/installer/ref.tstest/install-preflight.test.tstest/internal-cli.test.ts
Selective E2E Results — ✅ All requested jobs passedRun: 26770522465
|
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
|
Addressed the release-tag note in e6d687d: |
Selective E2E Results — ✅ All requested jobs passedRun: 26771498324
|
## Summary - Adds the v0.0.56 release notes section with links to the deeper docs pages for installer, status, inference, messaging, policy, and lifecycle changes. - Updates source docs for the remaining release-prep gaps around `uv` in the PyPI preset, compact WhatsApp pairing guidance, and `nemoclaw inference set` command boundaries. - Refreshes generated `nemoclaw-user-*` skills and removes skipped experimental command terms from generated skill surfaces. ## Source summary - #4613 -> `docs/manage-sandboxes/lifecycle.mdx`, `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Documents that public installs and `nemoclaw update` follow the maintained `lkg` tag by default. - #4419 -> `docs/about/release-notes.mdx`: Notes that non-interactive Linux installs can reactivate Docker group membership and continue in one installer run when `sg docker` is available. - #4550 -> `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Captures live sandbox agent-version probing for status, connect, and upgrade checks. - #4609 -> `docs/inference/use-local-inference.mdx`, `docs/about/release-notes.mdx`: Captures the GPU Docker-driver host-network local-inference reachability gate. - #4607 -> `docs/manage-sandboxes/messaging-channels.mdx`, `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Documents compact WhatsApp QR pairing guidance and gateway/session diagnostics. - #4582 -> `docs/manage-sandboxes/messaging-channels.mdx`, `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Reflects Slack credential validation before enabling the channel. - #4554 -> `docs/manage-sandboxes/messaging-channels.mdx`, `docs/reference/troubleshooting.mdx`, `docs/about/release-notes.mdx`: Keeps Telegram allowlist alias guidance in the generated user skills and release notes. - #4563 -> `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Includes the new `nemoclaw <name> skill remove <skill>` command in command docs and release notes. - #4566 -> `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Documents the `nemoclaw inference set` redirect boundary when `--provider` or `--model` is missing. - #4323 -> `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Captures per-sandbox status JSON support. - #4506 -> `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Captures debug command sandbox-name validation and safer tarball writing. - #4569 -> `docs/network-policy/integration-policy-examples.mdx`, `docs/about/release-notes.mdx`: Documents that the `pypi` preset allows `/usr/local/bin/uv`. - #4579 -> `docs/network-policy/integration-policy-examples.mdx`, `docs/about/release-notes.mdx`: Captures observable Jira preset validation guidance. - #4229 -> `docs/manage-sandboxes/lifecycle.mdx`, `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Documents user-data preservation defaults for uninstall. - #4399 -> `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Captures CPU-only sandbox intent preservation across rebuilds. - #4058 -> `docs/reference/commands.mdx`, `docs/about/release-notes.mdx`: Captures safer snapshot restore behavior around existing destinations. - #4155 and #4460 -> skipped by `docs/.docs-skip`: Removed skipped experimental command terms from source docs and generated skill evals instead of documenting those features. ## Verification - `python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user --doc-platform fern-mdx` - `npm run docs` (passes; Fern reports the pre-existing light-mode accent contrast warning) - `rg "permissive mode|shields down|shields up|shields status|config rotate-token|rotate-token" .agents/skills` (no matches) - `npm run build:cli` (run to refresh local CLI artifacts for the pre-push TypeScript hook) - Commit hooks passed, including `NEMOCLAW_* env-var documentation gate`, `Verify docs-to-skills output`, `markdownlint-cli2`, `gitleaks`, and `Test (skills YAML)`. <!-- This is an auto-generated comment: release notes by coderabbit.ai --> ## Summary by CodeRabbit * **Documentation** * Expanded Model Router setup with YAML examples, flow diagrams, and credential handling; strengthened agent-config immutability and integrity guidance; messaging channels updated (Telegram aliases, WhatsApp pairing/diagnostics); CLI docs revised (GPU detection, inference set behavior, uninstall/rebuild preservation); overview rebranded to NemoClaw and added v0.0.56 release notes. * **New Features** * Added `nemoclaw <name> channels status` (messaging diagnostics, JSON); added `nemoclaw <name> skill remove`; Hermes no longer marked experimental; DGX Spark quickstart sandbox-name note. <!-- end of auto-generated comment: release notes by coderabbit.ai -->
Summary
Switches the public installer default from the mutable
latesttag to thelkgtag so curl-piped installs and update checks follow the last-known-good release pointer by default. Keeps explicitNEMOCLAW_INSTALL_REFandNEMOCLAW_INSTALL_TAGoverrides working as before.Related Issue
None.
Changes
scripts/install.shpayload tolkgwhen no install ref/tag override is set.lkgas a mutable install ref for installer version display, matching the existinglatesthandling.nemoclaw update --checkversion discovery to resolve the maintainedlkgtag instead oflatest.Type of Change
Verification
npx prek run --all-filespassesnpm testpassesnpm run docsbuilds without warnings (doc changes only)Additional verification performed:
npx vitest run test/install-preflight.test.ts test/internal-cli.test.ts src/lib/domain/installer/ref.test.ts src/lib/actions/installer/plan.test.ts src/lib/actions/update.test.tspassed.npm run build:clipassed.cd nemoclaw && npm run buildpassed.npm run checkspassed.npm exec -- tsx scripts/check-env-var-docs.tspassed.python3 scripts/docs-to-skills.py docs/ .agents/skills/ --prefix nemoclaw-user --doc-platform fern-mdx --dry-runpassed.npm run docspassed with 2 pre-existing Fern warnings.npx prek run --all-filesand./node_modules/.bin/prek run --all-fileswere blocked before hook execution by certificate/repo-fetch errors (self-signed certificate in certificate chain; GitHub 503 while fetchingscop/pre-commit-shfmt).npm testwas run after rebuilding generated artifacts and failed in unrelated sandbox/rebuild/status tests: 12 failed files, 44 failed tests, 6242 passed, 25 skipped.Signed-off-by: Carlos Villela cvillela@nvidia.com
Summary by CodeRabbit
Improvements
Documentation
lkgas the default install tag; guidance updated to explain maintained-tag behavior.Tests
lkgdefault.