Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
9da84b9
fix(onboard): use compatible receipt seed user
ericksoa Sep 17, 2026
8003d33
fix(onboard): allow standalone gateway fallback on macOS
ericksoa Sep 17, 2026
63bdd96
fix(macos): fall back after Homebrew service failures
ericksoa Sep 17, 2026
6e3beac
fix(install): preserve local Docker context socket
ericksoa Sep 17, 2026
817876d
fix(macos): support Colima installer and dead forwards
ericksoa Sep 17, 2026
21340e5
fix(onboard): delegate forwards to OpenShell
ericksoa Sep 17, 2026
4b0ab3a
fix(onboard): keep receipt compatibility change scoped
ericksoa Sep 17, 2026
4114e6c
merge: update receipt fix from main
ericksoa Sep 17, 2026
73d4e2b
fix(images): refresh managed startup runtime hash
ericksoa Sep 17, 2026
b460e24
test(images): consolidate reviewed runtime digest
ericksoa Sep 18, 2026
83e75d3
test(e2e): cover Docker 27 receipt transfer
ericksoa Sep 18, 2026
9e7a93f
test(e2e): add fast Docker 27 seed contract
ericksoa Sep 18, 2026
8382357
test(e2e): harden Docker 27 probe cleanup
ericksoa Sep 18, 2026
166969c
test(e2e): bound Docker 27 probe lifecycle
ericksoa Sep 18, 2026
acbf8e4
test(e2e): consolidate Docker 27 probe execution
ericksoa Sep 18, 2026
42334ef
test(e2e): isolate Docker 27 probe per platform
ericksoa Sep 18, 2026
ebe900e
test(e2e): preserve Docker 27 probe evidence
ericksoa Sep 18, 2026
56a6b1c
feat(installer): add force-fresh macOS reset (#12041)
ericksoa Sep 18, 2026
14098e6
merge: resolve conflicts with main
github-actions[bot] Sep 18, 2026
7e39724
fix(installer): fail closed during force-fresh reset
ericksoa Sep 18, 2026
b9e09bb
test(e2e): prove Docker receipt cleanup isolation
ericksoa Sep 18, 2026
dedcb9a
fix(installer): bound force-fresh preparation
ericksoa Sep 18, 2026
1483fa0
fix(e2e): centralize Docker 27 daemon identity
ericksoa Sep 18, 2026
2b0fb35
fix(uninstall): own force-fresh residual cleanup
ericksoa Sep 18, 2026
c8cbe1a
refactor(uninstall): isolate force-fresh cleanup
ericksoa Sep 18, 2026
54686ef
fix(uninstall): require receipt volume ownership
ericksoa Sep 18, 2026
af68e98
test(onboard): parse labelled receipt volume name
ericksoa Sep 18, 2026
53a32c0
fix(uninstall): verify managed OpenShell binaries
ericksoa Sep 18, 2026
3c5214b
test(installer): trust managed ownership template
ericksoa Sep 18, 2026
4a4f73b
fix(installer): record managed OpenShell ownership
ericksoa Sep 18, 2026
19f1eab
fix(installer): block unowned legacy receipts
ericksoa Sep 18, 2026
b20ed4f
fix(uninstall): fail closed on cleanup residue
ericksoa Sep 18, 2026
f40660c
fix(uninstall): prove Docker volume absence
ericksoa Sep 18, 2026
f3ba4ed
fix(uninstall): reconcile labelled containers
ericksoa Sep 18, 2026
756f560
Merge remote-tracking branch 'origin/main' into fix/docker-receipt-se…
ericksoa Sep 18, 2026
efebb60
fix(uninstall): capture Docker absence proof
ericksoa Sep 18, 2026
5da6600
fix(installer): preflight force-fresh ownership
ericksoa Sep 18, 2026
1fbfd62
fix(installer): fail closed on cleanup ownership
ericksoa Sep 18, 2026
92aa5c8
Merge remote-tracking branch 'origin/main' into fix/docker-receipt-se…
ericksoa Sep 18, 2026
3f55ca7
fix(installer): centralize force-fresh ownership
ericksoa Sep 18, 2026
ca64152
test(uninstall): assert Docker inventory
ericksoa Sep 18, 2026
ab18e8f
Merge remote-tracking branch 'origin/main' into fix/docker-receipt-se…
ericksoa Sep 18, 2026
d31a653
fix(installer): bound destructive cleanup
ericksoa Sep 18, 2026
a9bd2f8
fix(uninstall): inventory all receipt volumes
ericksoa Sep 18, 2026
63755a0
merge: update Docker receipt fix from main
rsliter Sep 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 11 additions & 0 deletions .github/workflows/e2e.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4620,6 +4620,17 @@ jobs:
run: >-
npx tsx tools/e2e/live-vitest-invocation.mts run --test-path test/e2e/live/managed-image-multiarch-startup.test.ts

- name: Remove owned Docker Engine 27 receipt daemon
if: always()
shell: bash
run: |
set -euo pipefail
node --import tsx scripts/checks/docker-engine-27-receipt-transfer-e2e.ts \
--cleanup-only \
--run-id "$GITHUB_RUN_ID" \
--run-attempt "$GITHUB_RUN_ATTEMPT" \
--platform "$NEMOCLAW_PROTECTED_MANAGED_IMAGE_PLATFORM"

- name: Validate OpenClaw managed-image security boundary
shell: bash
run: >-
Expand Down
13 changes: 13 additions & 0 deletions docs/reference/commands.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,19 @@ The global `$$nemoclaw doctor` command remains available without a sandbox name.

The hosted installer accepts options after `bash -s --`. These options control installation and the onboarding run that follows it.

### `--force-fresh-install`

On Apple silicon macOS, remove every NemoClaw- and OpenShell-managed sandbox, gateway, credential, configuration file, and recovery record before reinstalling and starting fresh onboarding. This destructive reset keeps downloaded model caches, but the removed state cannot be recovered without an external backup. Unlike `--fresh`, it removes the existing managed installation instead of only requesting fresh onboarding state.

Use the hosted installer so the selected candidate is staged outside the state it removes:

```bash
curl -fsSL https://www.nvidia.com/nemoclaw.sh | \
bash -s -- --force-fresh-install
```

The equivalent environment variable is `NEMOCLAW_FORCE_FRESH_INSTALL=1`. The installer rejects this option outside Apple silicon macOS and stops without deleting remaining state if the authoritative whole-host uninstall cannot complete.

### `--local-model-runtime=vllm`

Enable the fixed vLLM local model profile. The flag accepts only `vllm`. It makes the remaining onboarding non-interactive and disables Express profile selection.
Expand Down
2 changes: 2 additions & 0 deletions install.sh
Original file line number Diff line number Diff line change
Expand Up @@ -313,6 +313,7 @@ bootstrap_usage() {
printf " Use only with NEMOCLAW_AGENT=hermes, no registered sandboxes, no local model profile,\n"
printf " and the build, cloud, or routed NVIDIA hosted provider\n"
printf " --fresh Discard any failed/interrupted onboarding session and start over\n"
printf " --force-fresh-install Destroy all NemoClaw and OpenShell state, then reinstall (Apple silicon macOS only)\n"
printf " --force-station-install Validate an unrecognized Station GB300 release profile without onboarding\n"
printf " --version, -v Print installer version and exit\n"
printf " --help, -h Show this help message and exit\n\n"
Expand All @@ -326,6 +327,7 @@ bootstrap_usage() {
printf " Use only with NEMOCLAW_AGENT=hermes, no registered sandboxes, no local model profile,\n"
printf " and the build, cloud, or routed NVIDIA hosted provider\n"
printf " NEMOCLAW_FRESH=1 Same as --fresh\n"
printf " NEMOCLAW_FORCE_FRESH_INSTALL=1 Same as --force-fresh-install (Apple silicon macOS only)\n"
printf " NEMOCLAW_ACCEPT_THIRD_PARTY_SOFTWARE=1 Same as --yes-i-accept-third-party-software\n"
printf " NEMOCLAW_NO_EXPRESS=1 Skip express install prompt on supported platforms\n"
printf " NEMOCLAW_SANDBOX_NAME Sandbox name to create/use\n"
Expand Down
Loading
Loading