Skip to content

fix(cli): use provider-neutral onboarding copy - #8867

Merged
prekshivyas merged 24 commits into
mainfrom
fix/8853-onboarding-workspace-copy
Aug 13, 2026
Merged

fix(cli): use provider-neutral onboarding copy#8867
prekshivyas merged 24 commits into
mainfrom
fix/8853-onboarding-workspace-copy

Conversation

@yimoj

@yimoj yimoj commented Aug 12, 2026

Copy link
Copy Markdown
Collaborator

Summary

Resumed Local Ollama onboarding now uses the provider-neutral step title Configuring inference provider. The OpenClaw workspace documentation distinguishes seeded templates from memory files created on use and states the exact default-workspace seeding conditions.

Related Issue

Fixes #8853.

Changes

  • Change the onboarding provider-selection title to provider-neutral wording.
  • Exercise the label through the resumed Ollama workflow.
  • Document the six seeded OpenClaw templates and deferred MEMORY.md and memory/ paths.
  • State that template seeding requires an existing, empty, non-symlinked default workspace directory and does not run with NEMOCLAW_MINIMAL_BOOTSTRAP=1.
  • Verify the rendered table, tree, summaries, and seeding-condition statements against runtime behavior.
  • Refresh the exact managed-image staging source for the current libssh2 inventory.

Type of Change

  • 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

  • Tests added or updated for changed behavior
  • Existing tests cover changed behavior — justification:
  • Tests not applicable — justification:
  • 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: fix(cli): use provider-neutral onboarding copy #8867 (comment)
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Documentation Writer Review

  • Documentation writer subagent reviewed the completed changes
  • Result: docs-updated
  • Evidence: Independent review: PASS — the workspace page names the exact directory conditions for template seeding and preserves the minimal-bootstrap exception; the documentation contract protects both statements.
  • Agent: Codex Desktop documentation writer

DGX Station Hardware Evidence

  • Tested on DGX Station
  • Tested commit: Not applicable.
  • Station profile/scenario: Not applicable.
  • Result: Not applicable.
  • Supporting evidence: Not applicable.

Verification

  • PR description includes a Signed-off-by: line and every published commit before the latest update appeared as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push checks passed for the latest change
  • Tests protect the provider-neutral resume title, exact workspace inventory, seeding conditions, and managed-image staging source
  • Documentation writer review passed
  • No secrets, API keys, or credentials committed
  • Documentation follows the writing guide
  • New documentation pages include SPDX header and frontmatter (not applicable; no new page)

Signed-off-by: Yimo Jiang yimoj@nvidia.com

Signed-off-by: Yimo Jiang <yimoj@nvidia.com>
@yimoj yimoj self-assigned this Aug 12, 2026
@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

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: 8bdfdd26-4caf-4225-be04-8ea3558bcb19

📥 Commits

Reviewing files that changed from the base of the PR and between 1011969 and 2619dfe.

📒 Files selected for processing (1)
  • ci/source-shape-test-budget.json
🚧 Files skipped from review as they are similar to previous changes (1)
  • ci/source-shape-test-budget.json

📝 Walkthrough

Walkthrough

The workspace documentation now describes deferred creation of memory files and validates workspace inventory consistency. Onboarding progress text now uses provider-neutral wording, with regression coverage for resumed Ollama selection.

Changes

Workspace documentation

Layer / File(s) Summary
Document deferred memory files
docs/manage-sandboxes/workspace-files.mdx, test/agent-variant-docs.test.ts, ci/source-shape-test-budget.json
The documentation identifies seeded files separately from memory files created on first use. The integration test validates the file-reference table, workspace tree, and multi-agent text. The test budget allows the compatibility test.

Onboarding progress copy

Layer / File(s) Summary
Update provider progress title
src/lib/onboard/machine/definition.ts, src/lib/onboard/machine/progress.test.ts
The progress title no longer names NIM. Tests verify the provider-neutral title and resumed Ollama behavior.

Estimated code review effort: 2 (Simple) | ~10 minutes

Mergeability Score: ⚪ Minimal · up to 2619d

The PR updates onboarding wording and workspace documentation with targeted validation; no actionable merge-blocking risk remains at the current head beyond normal checks and review.

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Linked Issues check ✅ Passed The changes address the linked issue by fixing provider-neutral onboarding copy and documenting deferred memory files while validating generated documentation behavior.
Out of Scope Changes check ✅ Passed The documentation updates, regression tests, and CI budget exception support the linked copy and workspace-inventory objectives.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary onboarding copy change to use provider-neutral wording.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/8853-onboarding-workspace-copy

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

@github-code-quality

github-code-quality Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit cdd1cab in the fix/8853-onboarding-... branch remains at 96%, unchanged from commit 24eaba1 in the main branch.

TypeScript / code-coverage/cli

The overall coverage in commit cdd1cab in the fix/8853-onboarding-... branch remains at 82%, unchanged from commit 24eaba1 in the main branch.

Show a code coverage summary of the most impacted files.
File main 24eaba1 fix/8853-onboarding-... cdd1cab +/-
src/lib/onboard...tp-readiness.ts 100% 98% -2%
src/lib/onboard...hell-version.ts 85% 85% 0%
src/lib/sandbox...rce-identity.ts 86% 86% 0%
src/lib/tunnel/services.ts 80% 80% 0%
src/lib/onboard...step-message.ts 40% 100% +60%

Updated August 13, 2026 07:33 UTC

@github-actions

Copy link
Copy Markdown
Contributor

@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/machine/progress.test.ts`:
- Around line 39-44: The test title claims resume-flow coverage, but it only
checks provider-selection metadata. Either extend the test to exercise the
resumed flow through skippedStepMessage, including its rendered title, or rename
the test to describe the provider-selection metadata returned by
getOnboardProgressStep.
🪄 Autofix

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: 16237997-563c-4be1-ad9e-e3acc0b3b4bb

📥 Commits

Reviewing files that changed from the base of the PR and between 5aaf22b and 0227ad7.

📒 Files selected for processing (3)
  • docs/manage-sandboxes/workspace-files.mdx
  • src/lib/onboard/machine/definition.ts
  • src/lib/onboard/machine/progress.test.ts

Comment thread src/lib/onboard/machine/progress.test.ts Outdated
@github-actions

github-actions Bot commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings reported

Advisor assessment: No blocking advisor findings reported
Next action: Review the warnings below.
Findings: 0 blockers · 1 warning · 0 suggestions

Model lanes

  • GPT-5.6 Terra (primary): Completed · high confidence · 0 blockers · 1 warning · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Model comparison: normalized findings differ; normalized terminology decisions differ; normalized E2E selections differ; Nemotron reported the same number of blockers, 1 fewer warning, the same number of suggestions.
2 terminology differences from the second opinion

Advisory only. These are normalized differences from the primary terminology receipt.

  • deferred at test/agent-variant-docs.test.ts:62: selected only by the second-opinion lane as define.
  • runtime-seeded template at test/agent-variant-docs.test.ts:35: selected only by the second-opinion lane as define.
1 additional E2E selection from the second opinion

Advisory only. The primary lane did not select these E2E jobs or targets.

  • openclaw-inference-switch: The completed second-opinion lane identified E2E coverage that the primary lane omitted.

Second-opinion terminology and E2E selections are advisory. Live E2E does not run automatically for pull requests.

2 semantic terminology decisions

Terminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.

  • established — provider-neutral at src/lib/onboard/machine/progress.test.ts:43: Keep `provider-neutral` for text that intentionally does not identify one provider.
  • established — default workspace template seeding at docs/manage-sandboxes/workspace-files.mdx:81: Keep the established term when documenting the entrypoint operation.

E2E guidance

Advisory only. A maintainer can dispatch the default E2E suite for the commit under review.

Recommended E2E: None

Manual-only E2E: cloud-onboard, managed-image-multiarch-startup, onboard-repair, onboard-resume
The manual PR workflow does not run these selectors for the commit under review. Run them from reviewed code on main.

1 optional E2E recommendation
  • managed-image-protected-runtime
1 warning · 0 suggestions

Warnings

Warnings do not block.

PRA-1 Warning — Document every condition that controls default workspace seeding

  • Location: docs/manage-sandboxes/workspace-files.mdx:80
  • Category: docs
  • Problem: The page states that NemoClaw seeds templates when the default workspace directory exists, is not a symbolic link, and is empty. The entrypoint also skips seeding when minimal bootstrap is enabled, the configuration is unavailable or does not set `agents.defaults.skipBootstrap=true`, Node.js is unavailable, or no template directory is found.
  • Impact: Operators can expect a fresh default workspace to contain templates when the directory conditions hold, although the entrypoint can leave it empty under other documented-state conditions.
  • Recommendation: State the additional entrypoint prerequisites and the skip result, or state that the listed directory conditions are necessary but not sufficient and link to the authoritative runtime-control documentation.
  • Verification: Read `seed_default_workspace_templates` in `scripts/nemoclaw-start.sh` and compare each early return with the workspace-files page.
  • Test coverage: Update `test/agent-variant-docs.test.ts` to require the revised complete condition or explicit skip behavior in the rendered OpenClaw page.
  • Evidence: docs/manage-sandboxes/workspace-files.mdx:80-81 scripts/nemoclaw-start.sh:4487-4550

Workflow run details

This automated review informs maintainers. Warnings and suggestions do not require a response. A maintainer decides whether to merge.

@yimoj yimoj removed their assignment Aug 12, 2026
@wscurran wscurran added area: cli Command line interface, flags, terminal UX, or output area: docs Documentation, examples, guides, or docs build area: onboarding Onboarding FSM, provider setup, sandbox launch, or first-run flow bug-fix PR fixes a bug or regression integration: openclaw OpenClaw integration behavior labels Aug 12, 2026
@apurvvkumaria apurvvkumaria self-assigned this Aug 12, 2026
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator

The branch is now synchronized with current main through a signed ordinary merge that preserves the contributor's original commits and attribution.

This incorporates the upstream test-harness repair associated with the previous gateway-helper failures. On the synchronized branch, the three formerly failing gateway suites pass with 51 tests passed and one intentionally skipped. The PR's own effective change remains three files with 25 additions and 8 deletions.

Scoped security review: the production change replaces one static progress label with provider-neutral text. It does not change input handling, command construction, credentials, network policy, filesystem access, privilege boundaries, or dependencies. The documentation accurately describes OpenClaw's first-use memory-file behavior, and the regression exercises the resumed Ollama path.

Local validation:

  • onboarding progress tests — 4 passed
  • agent-variant documentation tests — 18 passed
  • formerly failing gateway suites — 51 passed, 1 skipped
  • documentation build — 0 errors, with 2 Fern upgrade notices
  • CLI and plugin builds and the required pre-push type-check — passed

Fresh repository checks, the documentation receipt, and human review remain required.

@cv cv left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

docs/manage-sandboxes/workspace-files.mdx:126 says each per-agent workspace has the same Markdown file structure as the default workspace, but it names only SOUL.md, USER.md, IDENTITY.md, and AGENTS.md. At this commit, scripts/nemoclaw-start.sh:4554 also seeds TOOLS.md and HEARTBEAT.md, and test/nemoclaw-start.test.ts:2446-2477 verifies that six-file set. The changed documentation therefore leaves the workspace-layout fix incomplete and can lead operators to conclude that tool and heartbeat configuration files are absent. Add TOOLS.md and HEARTBEAT.md to the per-agent description and the default reference/tree where the page presents the workspace inventory. Retain the first-use conditions for MEMORY.md and memory/. Add a documentation or generated-variant regression assertion that keeps the documented seeded-file set aligned with runtime behavior.

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator

Addressed the current workspace-documentation change request.

  • Added TOOLS.md and HEARTBEAT.md to the file reference, default workspace tree, and per-agent seeded-file inventory.
  • Added a generated-variant regression that derives the seeded file list from the runtime template loop and requires each file in the rendered OpenClaw page.

Validation:

  • focused generated-documentation suite: 19 tests passed
  • documentation and repository hooks passed
  • source-shape and test-size budgets passed
  • documentation writer review: documentation updated, no remaining documentation blocker
  • latest pushed commit is Verified and retains its DCO sign-off

Fresh checks and human re-review are pending. Reviewer routing was not changed.

@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 `@test/agent-variant-docs.test.ts`:
- Around line 65-71: Update the test around the seededFiles assertions to
validate the documented inventory in both directions: ensure the rendered seeded
table, file tree, and summary contain exactly the seededFiles entries and reject
deferred paths such as MEMORY.md or memory/. Preserve the existing per-file
presence checks while adding assertions that detect undocumented extra entries.
🪄 Autofix

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: af02879e-e851-4baf-94a4-cced6c777464

📥 Commits

Reviewing files that changed from the base of the PR and between 8637936 and c7b0094.

📒 Files selected for processing (3)
  • ci/source-shape-test-budget.json
  • docs/manage-sandboxes/workspace-files.mdx
  • test/agent-variant-docs.test.ts
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/manage-sandboxes/workspace-files.mdx

Comment thread test/agent-variant-docs.test.ts Outdated
Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
@apurvvkumaria

Copy link
Copy Markdown
Collaborator

The latest PR commit addresses the remaining workspace-inventory review finding.

  • The test now extracts entries from the table, directory tree, and per-agent summary.
  • It compares the six seeded templates and two first-use paths in both directions.
  • All 19 focused documentation tests pass.
  • The source-shape check, Biome, repository hooks, pre-push type-check, and full documentation build pass.
  • GitHub reports commit 1011969 as Verified, and the commit includes the DCO sign-off.
  • The documentation writer found no additional documentation change.

The previous managed runtime activation failure is infrastructure-related. Image builds and direct agent startups passed, but the OpenClaw gateway and port forward did not become available within the runner deadline. Fresh required checks are running and will exercise this path again.

Human review remains required because the prior change request remains active until the reviewer evaluates the updated branch.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator

The managed-runtime activation failure is classified as infrastructure-related. The image builds and direct startups for OpenClaw, Hermes, and Deep Agents Code passed, while the managed OpenClaw gateway did not become available before the runner deadline. I have started the single permitted retry of the failed activation job. No code change is indicated by this failure.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator

The single permitted retry is exhausted. It did not reach runtime activation because the rerun did not receive the three image-contract artifacts produced by the earlier successful build jobs; those producer jobs were not part of the failed-job retry. This is a CI orchestration blocker, not evidence of a PR-related failure. The prior direct startups for all three agents passed. A repository workflow owner must provide a fresh complete run or repair artifact reuse before this gate can pass.

@github-actions github-actions Bot added v0.0.109 Release target and removed v0.0.108 labels Aug 13, 2026
@apurvvkumaria

Copy link
Copy Markdown
Collaborator

Current readiness blocker: the managed-image workflow fails while rebuilding the unchanged Hermes and Deep Agents Code images. Both jobs stop in the completed-image security inventory verification, before exercising this PR’s onboarding or workspace-documentation changes. This PR changes only five files and does not modify either managed image, its package inventory, or the verification step. The same base-image inventory drift is also reproducing on unrelated PRs.

Classification: infrastructure/base-image drift, not PR-related and not a transient runner failure. I am not rerunning it because the deterministic assertion has already reproduced independently in both image jobs. The OpenClaw and staging jobs, the remaining repository checks, and automated review are still running. The PR stays unready until the managed-image baseline is corrected and every required gate passes.

@apurvvkumaria

Copy link
Copy Markdown
Collaborator

CI classification update:

  • Hermes, Deep Agents Code, OpenClaw, and staging QA all fail at the same completed-image security package inventory assertion.
  • This PR changes workspace provisioning, documentation, onboarding progress coverage, test budgeting, and documentation parity; it does not change managed-image construction or package inventory inputs.
  • The normal test, documentation, DCO, commit, and security-analysis gates pass, and the primary review advisor passes.

I classify the four managed-image failures as shared CI or base-image drift rather than a PR-caused regression. Because the failure is deterministic across the variants, I am not rerunning those jobs. The independent advisor retry is still in progress.

prekshivyas and others added 8 commits August 12, 2026 21:34
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
Signed-off-by: Prekshi Vyas <prekshiv@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Aug 13, 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.

github-actions Bot and others added 5 commits August 13, 2026 06:20
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
Signed-off-by: Carlos Villela <cvillela@nvidia.com>
@prekshivyas
prekshivyas merged commit 305bb4c into main Aug 13, 2026
86 of 89 checks passed
@prekshivyas
prekshivyas deleted the fix/8853-onboarding-workspace-copy branch August 13, 2026 07:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: cli Command line interface, flags, terminal UX, or output area: docs Documentation, examples, guides, or docs build area: onboarding Onboarding FSM, provider setup, sandbox launch, or first-run flow bug-fix PR fixes a bug or regression integration: openclaw OpenClaw integration behavior v0.0.109 Release target

Projects

None yet

5 participants