Skip to content

fix(onboard): remove doubled "and" in license acceptance prompt (#7301)#7306

Merged
miyoungc merged 1 commit into
mainfrom
fix/7301-acceptance-prompt-doubled-and
Jul 22, 2026
Merged

fix(onboard): remove doubled "and" in license acceptance prompt (#7301)#7306
miyoungc merged 1 commit into
mainfrom
fix/7301-acceptance-prompt-doubled-and

Conversation

@jason-ma-nv

@jason-ma-nv jason-ma-nv commented Jul 21, 2026

Copy link
Copy Markdown
Collaborator

Summary

The license / third-party software acceptance prompt read "the NemoClaw license
and and third-party software notice", repeating "and". The text is served from a
single shared data field, so the doubled conjunction appeared in both the
curl|bash installer and nemoclaw onboard on every platform. This removes the
duplicate word.

Related Issue

Fixes #7301

Changes

  • Fixed interactivePrompt in bin/lib/usage-notice.json: "license and and
    third-party" → "license and third-party". This one field is consumed by
    scripts/install.sh (installer) and src/lib/onboard/usage-notice.ts
    (loadUsageNoticeConfig → the nemoclaw onboard prompt), so a single edit
    corrects every surface.
  • Added src/lib/onboard/usage-notice.test.ts, which reads the shipped prompt
    through loadUsageNoticeConfig() and asserts the exact grammatical form and
    the absence of any adjacent duplicated word.

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: fixes a typo in a runtime prompt string; no documentation quotes this line.
  • 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: Onboarding-adjacent, but the change is a single grammatical fix to prompt display text; acceptance logic, versioning, and gating are unchanged. Flagging for maintainer confirmation.
  • Non-success, skipped, or missing CI check accepted by maintainer — check name, approval link, and follow-up issue:

Verification

  • PR description includes a Signed-off-by: line and every commit appears as Verified in GitHub
  • Normal pre-commit, commit-msg, and pre-push hooks passed, or npm run check:diff passed when hooks were skipped or unavailable
  • Targeted behavior tests pass for the current change set, or tests are marked not applicable above — command/result: npx vitest run --project cli src/lib/onboard/usage-notice.test.ts → 1/1 passed locally and on a fresh clone + npm ci on an Ubuntu x86_64 host (exit 0).
  • Applicable broad gate passed — justification: single-string data fix with a focused source-lane test; not a broad runtime/test-harness change.
  • Quality Gates section completed with required justifications or waivers
  • No secrets, API keys, or credentials committed
  • npm run docs builds without warnings (doc changes only)
  • Doc pages follow the style guide (doc changes only)
  • New doc pages include SPDX header and frontmatter (new pages only)

Signed-off-by: Jason Ma jama@nvidia.com

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Bug Fixes

    • Corrected the license and third-party software acceptance prompt by removing duplicated wording.
  • Tests

    • Added coverage to verify the prompt’s grammar and prevent repeated adjacent words.

bin/lib/usage-notice.json's interactivePrompt read "the NemoClaw license and and
third-party software notice", repeating "and". This single field feeds both the
curl|bash installer and `nemoclaw onboard`, so the doubled conjunction appeared
in the acceptance prompt on every platform.

Drop the duplicate word and add a source-lane test that reads the shipped prompt
through loadUsageNoticeConfig() and asserts the exact grammatical form plus the
absence of any adjacent duplicated word.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@coderabbitai

coderabbitai Bot commented Jul 21, 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: b76860bc-9c23-4ce8-ab25-17ec2e87e3e2

📥 Commits

Reviewing files that changed from the base of the PR and between d5fa194 and a7c5dd3.

📒 Files selected for processing (2)
  • bin/lib/usage-notice.json
  • src/lib/onboard/usage-notice.test.ts

📝 Walkthrough

Walkthrough

The acceptance prompt removes the duplicated “and” before “third-party software notice.” A Vitest suite verifies the exact corrected prompt and rejects adjacent duplicated words.

Changes

Usage notice prompt

Layer / File(s) Summary
Correct prompt and verify wording
bin/lib/usage-notice.json, src/lib/onboard/usage-notice.test.ts
The prompt text is corrected, with tests covering its exact grammar and adjacent duplicated words.

Estimated code review effort: 1 (Trivial) | ~5 minutes

Possibly related issues

  • #7302 — Covers the same duplicated “and and” acceptance prompt correction and regression test.

Suggested reviewers: cv

🚥 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 fix to the onboarding license acceptance prompt.
Linked Issues check ✅ Passed The prompt text is corrected to remove the duplicated conjunction and the regression test covers the shipped notice wording.
Out of Scope Changes check ✅ Passed The changes are limited to the prompt text fix and a focused regression test, with no unrelated scope added.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ 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 fix/7301-acceptance-prompt-doubled-and

Warning

There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure.

🔧 Checkov (3.3.8)
bin/lib/usage-notice.json

Traceback (most recent call last):
File "/usr/local/bin/checkov", line 2, in
from checkov.main import Checkov
ModuleNotFoundError: No module named 'checkov'


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

@github-code-quality

github-code-quality Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit a7c5dd3 in the fix/7301-acceptance-... branch remains at 96%, unchanged from commit 65d78ee in the main branch.

TypeScript / code-coverage/cli

The overall coverage in commit a7c5dd3 in the fix/7301-acceptance-... branch remains at 80%, unchanged from commit 65d78ee in the main branch.

Show a code coverage summary of the most impacted files.
File main 65d78ee fix/7301-acceptance-... a7c5dd3 +/-
src/lib/onboard...ider-cleanup.ts 100% 88% -12%
src/lib/inference/local.ts 80% 80% 0%
src/lib/inferen...lama-version.ts 100% 100% 0%
src/lib/sandbox...rce-identity.ts 91% 91% 0%
src/lib/tunnel/services.ts 73% 73% 0%
src/lib/inferen...time-context.ts 92% 93% +1%
src/lib/state/g...way-registry.ts 94% 95% +1%

Updated July 21, 2026 10:06 UTC

@github-actions

github-actions Bot commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — Informational

Advisor assessment: Informational / high confidence
Next action: No advisor follow-up needed.
Findings: 0 blockers · 0 warnings · 0 suggestions
Status: No actionable findings remain in the canonical review ledger.

Model lanes

  • GPT-5.6 Terra (primary): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Nemotron 3 Ultra (second opinion): Completed · high confidence · 0 blockers · 0 warnings · 0 suggestions
  • Model comparison: normalized findings match; normalized E2E selections match; severity counts match.

Nemotron output stays in workflow artifacts and does not change the assessment above.

E2E guidance

Advisory only. E2E / PR Gate selects and runs jobs independently.

Recommended E2E: cloud-onboard

Workflow run details

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

@wscurran wscurran added area: install Install, setup, prerequisites, or uninstall flow area: onboarding Onboarding FSM, provider setup, sandbox launch, or first-run flow bug-fix PR fixes a bug or regression labels Jul 21, 2026
@miyoungc
miyoungc merged commit 7be3ef7 into main Jul 22, 2026
75 of 79 checks passed
@miyoungc
miyoungc deleted the fix/7301-acceptance-prompt-doubled-and branch July 22, 2026 02:04
@github-actions github-actions Bot added the v0.0.91 Release target label Jul 22, 2026
cv pushed a commit that referenced this pull request Jul 22, 2026
<!-- markdownlint-disable MD041 -->
## Summary

Add the canonical `v0.0.91` changelog entry that was missed before the
release tag was cut. Correct the custom-image compatibility guidance
because the tagged code still accepts the legacy inference route
selector instead of removing it in v0.0.91.

## Changes

- Add `docs/changelog/2026-07-22.mdx` with the release summary and
detailed security, rebuild, Hermes, DGX Station, and
historical-validation changes from the published v0.0.91 announcement.
- Link shipped behavior to the most specific published OpenClaw and
Hermes documentation routes.
- Correct the v0.0.90 changelog and command reference so they match the
compatibility fallback present in the tagged v0.0.91 code without
inventing a new removal version.
- Keep the immutable v0.0.91 release tag unchanged; this is the
documented post-release recovery path.

Source summary:

- [#7332](#7332),
[#7289](#7289), and
[#7294](#7294) ->
`docs/changelog/2026-07-22.mdx`: Summarize completed-image `node-tar`
remediation and current and historical container verification.
- [#7213](#7213),
[#7363](#7363),
[#7366](#7366), and
[#7369](#7369) ->
`docs/changelog/2026-07-22.mdx`: Summarize trusted base preparation,
backup reuse, deletion convergence, and rebuild confidence.
- [#7212](#7212) ->
`docs/changelog/2026-07-22.mdx`: Summarize the Hermes API bearer-token
lifecycle and supported retrieval command.
- [#7327](#7327) and
[#7328](#7328) ->
`docs/changelog/2026-07-22.mdx`: Summarize qualified DGX Station
guidance and reproducible coding-agent installation instructions.
- [#7355](#7355),
[#7360](#7360),
[#7362](#7362), and
[#7364](#7364) ->
`docs/changelog/2026-07-22.mdx`: Summarize restored historical OpenClaw
upgrade and Hermes rebuild validation.
- [#7189](#7189) ->
`docs/changelog/2026-07-20.mdx`, `docs/reference/commands.mdx`: Correct
its forward-looking removal deadline after v0.0.91 shipped with the
documented legacy fallback still present.
- [#7282](#7282),
[#7306](#7306), and
[#7341](#7341) need no additional
user-guide update because they already update their owned contributor or
user-facing text directly.

## Type of Change

- [ ] Code change (feature, bug fix, or refactor)
- [ ] Code change with doc updates
- [x] Doc only (prose changes, no code sample modifications)
- [ ] Doc only (includes code sample changes)

## Quality Gates

- [ ] Tests added or updated for changed behavior
- [x] Existing tests cover changed behavior — justification:
`test/changelog-docs.test.ts` validates dated changelog structure, SPDX
syntax, version ordering, and published routes.
- [ ] Tests not applicable — justification:
- [x] 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:
- [ ] Non-success, skipped, or missing CI check accepted by maintainer —
check name, approval link, and follow-up issue:

## DGX Station Hardware Evidence

- [ ] Tested on DGX Station
- Tested commit: Not applicable; this documentation-only PR does not
change Station preparation or runtime behavior.
- Station profile/scenario: Not applicable.
- Result: Not applicable.
- Supporting evidence: Not applicable.

## Verification

- [x] PR description includes a `Signed-off-by:` line and every commit
appears as `Verified` in GitHub
- [x] Normal `pre-commit`, `commit-msg`, and `pre-push` hooks passed, or
`npm run check:diff` passed when hooks were skipped or unavailable
- [x] Targeted behavior tests pass for the current change set, or tests
are marked not applicable above — `npx vitest run
test/changelog-docs.test.ts` (6 passed).
- [ ] Applicable broad gate passed — `npm test` for broad
runtime/test-harness changes; `npm run check` for repo-wide
validation/coverage changes — not run; this is a focused
documentation-only change.
- [x] Quality Gates section completed with required justifications or
waivers
- [x] No secrets, API keys, or credentials committed
- [ ] `npm run docs` builds without warnings (doc changes only) —
completed with 0 errors and 2 existing site-wide warnings.
- [x] Doc pages follow the [style
guide](https://github.com/NVIDIA/NemoClaw/blob/main/docs/CONTRIBUTING.md)
(doc changes only)
- [ ] New doc pages include SPDX header and frontmatter (new pages only)
— the native changelog entry uses the required parser-safe MDX SPDX
comment and intentionally has no frontmatter.

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


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

## Summary by CodeRabbit

* **Documentation**
* Updated v0.0.91 guidance for custom Dockerfiles, including continued
legacy compatibility and recommended migration to
`NEMOCLAW_INFERENCE_PROVIDER_ID`.
* Added release notes covering image security scanning, safer rebuild
behavior, token management, DGX Station guidance, and deterministic
release validation.
* Clarified that existing custom images may continue using the legacy
selector temporarily, with fallback removal planned for a future
release.

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

Signed-off-by: Apurv Kumaria <akumaria@nvidia.com>
Co-authored-by: cjagwani <cjagwani@nvidia.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: install Install, setup, prerequisites, or uninstall flow area: onboarding Onboarding FSM, provider setup, sandbox launch, or first-run flow bug-fix PR fixes a bug or regression v0.0.91 Release target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Ubuntu 24.04][CLI&UX] License/third-party-software acceptance notice has a doubled word "and and" — grammatically incorrect

3 participants