Skip to content

fix(cli): clarify live gateway drift in list#3907

Merged
cv merged 2 commits into
mainfrom
fix/3822_gateway-drift-list-status-v2
May 27, 2026
Merged

fix(cli): clarify live gateway drift in list#3907
cv merged 2 commits into
mainfrom
fix/3822_gateway-drift-list-status-v2

Conversation

@chengjiew

@chengjiew chengjiew commented May 20, 2026

Copy link
Copy Markdown
Contributor

Summary

Clarifies the nemoclaw list drift annotation so users can tell the row is using live OpenShell gateway inference state, not only the onboarded snapshot. This addresses the confusion in #3822 where killing a sandbox container leaves the gateway reachable and the drift line still valid.

Related Issue

Fixes #3822

Changes

  • Rename the default-sandbox list drift annotation from (onboarded: ...) to (live OpenShell gateway differs from onboarded: ...).
  • Keep offline gateway fallback behavior unchanged: no drift annotation is shown when live gateway inference cannot be fetched.
  • Update source-level and executable CLI regression expectations.

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)

Verification

  • npx prek run --all-files passes
  • npm test passes
  • Tests added or updated for new or changed behavior
  • No secrets, API keys, or credentials committed
  • Docs updated for user-facing behavior changes
  • make 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)

Focused commands run:

  • git diff --check
  • npx vitest run --project cli src/lib/inventory/index.test.ts
  • npx vitest run --project cli test/cli.test.ts -t "list shows live gateway inference"
  • npm run typecheck:cli

Note: I did not mark npx prek run --all-files because the repo pre-commit hook recursively invoked itself when the full CLI coverage suite ran a nested git-commit test with the parent hook Git environment. The focused tests and typecheck above passed.


Signed-off-by: Chengjie Wang chengjiew@nvidia.com

Summary by CodeRabbit

  • Bug Fixes
    • Improved diagnostic messaging to explicitly indicate when live OpenShell gateway settings differ from onboarded configuration, providing clearer visibility into which values are stored versus actively running.

Review Change Stack

Signed-off-by: Chengjie Wang <chengjiew@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented May 20, 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 20, 2026

Copy link
Copy Markdown
Contributor

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: 78f47e2a-0f63-47e7-aeea-766ed30eb3c1

📥 Commits

Reviewing files that changed from the base of the PR and between 25aa446 and b2ab594.

📒 Files selected for processing (3)
  • src/lib/inventory/index.test.ts
  • src/lib/inventory/index.ts
  • test/cli.test.ts

📝 Walkthrough

Walkthrough

The PR updates inventory drift messaging to clarify when live OpenShell gateway values differ from onboarded configuration. Documentation, implementation, and test assertions are updated consistently to reflect the new explicit message format across the CLI output, unit tests, and integration tests.

Changes

Drift message clarification for live gateway vs onboarded state

Layer / File(s) Summary
Drift message implementation and test validation
src/lib/inventory/index.ts, src/lib/inventory/index.test.ts, test/cli.test.ts
The renderSandboxInventoryText documentation and drift detection message are updated to explicitly state "live OpenShell gateway differs from onboarded" instead of implicit "(onboarded: …)" wording. Unit tests for default-sandbox, model-drift, and provider-drift cases, plus the integration test for live gateway inference, all assert the new explicit message format.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Suggested labels

NemoClaw CLI, OpenShell, fix

Poem

🐰 A gateway speaks with clarity clear,
No more ambiguity need we fear—
"Live differs from onboarded," the message now sings,
Each assertion updated, aligned with all things.

🚥 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: clarifying the live gateway drift annotation in the list command output.
Linked Issues check ✅ Passed The PR successfully addresses issue #3822 by changing the drift annotation from '(onboarded: ...)' to '(live OpenShell gateway differs from onboarded: ...)' to explicitly clarify data source.
Out of Scope Changes check ✅ Passed All changes are directly scoped to clarifying the live gateway drift annotation in list/status output as required by issue #3822.
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 docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch fix/3822_gateway-drift-list-status-v2

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.

🔧 ESLint

If the error stems from missing dependencies, add them to the package.json file. For unrecoverable errors (e.g., due to private dependencies), disable the tool in the CodeRabbit configuration.

ESLint skipped: no ESLint configuration detected in root package.json. To enable, add eslint to devDependencies.


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

@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor

Findings: 0 needs attention, 0 worth checking, 0 nice ideas
Since last review: 1 prior item resolved, 0 still apply, 0 new items found

Workflow run details

This is an automated advisory review. A human maintainer must make the final merge decision.

@github-actions

github-actions Bot commented May 20, 2026

Copy link
Copy Markdown
Contributor

E2E Advisor Recommendation

Required E2E: ubuntu-repo-cloud-openclaw/sandbox-operations
Optional E2E: ubuntu-repo-cloud-openclaw/inference-routing

Dispatch hint: scenario=ubuntu-repo-cloud-openclaw, suite_filter=sandbox-operations

Workflow run

Full advisor summary

E2E Recommendation Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required E2E

  • ubuntu-repo-cloud-openclaw/sandbox-operations (medium): Exercises the real installed CLI against a running OpenShell sandbox and covers the nemoclaw list / status user flow affected by inventory rendering changes.

Optional E2E

  • ubuntu-repo-cloud-openclaw/inference-routing (medium): Optional adjacent confidence that the live gateway inference route remains healthy and consistent with the state that nemoclaw list displays for the default sandbox.

New E2E recommendations

  • CLI inventory/list output (medium): Existing scenario coverage checks that nemoclaw list includes the sandbox, but does not appear to assert the live-gateway-vs-onboarded drift annotation or that live provider/model values override stale registry values in an end-to-end environment.
    • Suggested test: Add a sandbox-operations E2E step that creates or induces a mismatch between stored registry provider/model and live OpenShell gateway inference, then asserts nemoclaw list prints the live row plus (live OpenShell gateway differs from onboarded: ...).

Dispatch hint

  • Workflow: E2E / Scenario Runner
  • jobs input: scenario=ubuntu-repo-cloud-openclaw, suite_filter=sandbox-operations

@wscurran

Copy link
Copy Markdown
Contributor

@chengjiew chengjiew added the v0.0.50 Release target label May 25, 2026
@cv cv added v0.0.52 Release target v0.0.53 Release target and removed v0.0.50 Release target v0.0.52 Release target labels May 26, 2026
@github-actions

Copy link
Copy Markdown
Contributor

E2E Scenario Advisor Recommendation

Required scenario E2E: None
Optional scenario E2E: None

Workflow run

Full scenario advisor summary

E2E Scenario Advisor

Base: origin/main
Head: HEAD
Confidence: high

Required scenario E2E

  • None. No scenario workflow, scenario metadata, scenario runtime, or validation-suite files changed.

Optional scenario E2E

  • None.

Relevant changed files

  • None.

@cv cv merged commit 538ff42 into main May 27, 2026
18 checks passed
@wscurran wscurran added area: cli Command line interface, flags, terminal UX, or output bug-fix PR fixes a bug or regression and removed NemoClaw CLI labels Jun 3, 2026
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 bug-fix PR fixes a bug or regression v0.0.53 Release target

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Nemoclaw][All Platforms] Gateway-unreachable drift behavior unclear: nemoclaw list continues to show onboarded drift after killing sandbox container

3 participants