Skip to content

fix(inference): attach a native Model Router provider - #14104

Draft
rsliter wants to merge 7 commits into
mainfrom
codex/13560-native-model-router
Draft

rsliter wants to merge 7 commits into
mainfrom
codex/13560-native-model-router

Conversation

@rsliter

@rsliter rsliter commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator

Outcome

OpenClaw Model Router onboarding and resume use a restricted, sandbox-attached native provider. Setup no longer requires the built-in openai catalog profile or changes the shared inference route for this selection.

Reason

Import-only OpenShell gateways have no built-in provider catalog. Model Router needs an owned native endpoint before the replacement pool can ship.

Related issues

Fixes #13560. Prerequisite for #14066; follows #12558.

Changes

  • Reuse the native local profile, credential custody, attachment, and ownership lifecycle for OpenClaw's nvidia-router selection.
  • Restrict the router-port exception to the reconciled managed router, its configured port, and host alias. Keep generic endpoints and other protected ports denied.
  • Reverify native setup on resume, propagate the normalized endpoint into sandbox creation, and keep explicit recreation for legacy shared-route sandboxes.
  • Restore and verify a detached native Model Router provider before Ready-sandbox resume succeeds. Recheck the recorded sandbox identity before provider commands; reject changed authority and failed attachment verification.
  • Generate opaque OpenClaw credential references and preserve native authority during a model-only update.
  • Reject OpenClaw Model Router switches without a verified native router attachment before provider, route, configuration, or registry mutation. Direct users to explicit onboarding and recreation.
  • Update the provider-profile inventory and focused regression coverage. Custom blueprint provider names and other agents keep their existing paths.
  • Probe the managed router from host loopback while retaining the sandbox endpoint for its native attachment.
  • Refresh authenticated Pi image qualification receipts and the owning platform summary.

Verification

  • The receipt refresh uses authenticated AMD64 and ARM64 artifacts from successful image qualification, source 5348e12f377f121f2ce9f63ff3249f4d2d035b6c, cohort ghrun-41654462094-1. AMD64, ARM64, and rootless Podman runtime activation passed.
  • The strict staged Pi receipt and source-parity check passed. npx vitest run --project cli src/lib/agent/candidate.test.ts: all 13 tests passed, including published receipts for both architectures and refusal of untrusted receipts.
  • Resume repair d5b0ad64fb3773c104e1eb3ca81d4a47b332b5e2: 291 focused tests passed across nine files, including 12 attachment-recovery regressions. The new regression failed on cycle 6 before repair because resume succeeded without restoring the detached attachment. CLI typechecking, test-project membership, source architecture, and strict staged Pi source parity passed. Independent latest-commit CI, automated reviews, and applicable E2Es are pending.
  • Historical cycle 6 b918a3a14f01d69ce6e49453cb7cf9aee0afb5bc: CI, managed-image qualification, and exact-commit CodeRabbit passed without retries. These results do not qualify the resume repair.
  • Cycle 5's 168 focused native-provider, inference-switch, and configuration-generation tests passed. All CLI shards passed after one bounded retry of an unchanged collection-test timeout. The static check required these refreshed Pi receipts; that failure was not retried.
  • Historical evidence for fcba810137f1a43f2921e6612aba2af9d945c766: CI, managed-image qualification, and all eight selected E2E executions passed. These results do not qualify the new commit.
  • Diff reviewed for credential exposure; no secrets, API keys, or credentials are included.

Review notes

Self-review in NVIDIA/NemoClaw covered the candidate's inference, protected-port, onboarding, configuration-generation, and provider-inventory changes. It traced setup, resume, profile failure, attachment, model changes, credential custody, and owned cleanup. CodeRabbit found no new files to review for the merge commit; its prior reviewed content remains unchanged, and the host-smoke thread is resolved. CodeRabbit completed the receipt-refresh review with no actionable finding. Latest-commit review of the resume repair is pending.

All nine Advisor specialists for fcba810 completed, and their artifacts were hash-verified. The advisory blocker gate failed on public guide drift and a router E2E ownership recommendation. The evidence comment records both dispositions. Public guides follow the permitted post-merge documentation workflow; the owning platform summary is corrected here. The current router E2E explicitly tests inference.local; #14066 owns its native-endpoint oracle and replacement-pool update, including its corresponding ownership metadata. Seven other review areas, including migration and security, found no remaining defect. Cycle 5 Advisor workflows skipped before specialists because CI required the receipt refresh. No maintainer approval or CI waiver is claimed.

All nine cycle-6 Advisor specialists succeeded; artifacts were hash- and identity-verified and read in full. Its advisory blocker gate failed on three findings. The valid missing resume attachment was reproduced and repaired in this revision. Public-guide drift retains the permitted post-merge deferral. The old router target still asserts https://inference.local, so its native-endpoint oracle and corresponding ownership metadata remain #14066 scope. No advisory-gate pass or maintainer approval is claimed.

The accepted issue correction places Lightning/SuperVL API checks and complete native-router request E2E in #14066. This PR preserves Model Router and supplies its native provider prerequisite. It does not change the pool or checkpoint policy. Existing legacy shared-route sandboxes retain the explicit recreation boundary owned by #12558.


Signed-off-by: Rebecca Sliter 571084+rsliter@users.noreply.github.com

Summary by CodeRabbit

  • New Features
    • OpenClaw can use NVIDIA Model Router as a native inference provider during setup and resume, with model changes preserving the selected provider.
    • New OpenClaw Model Router selections on managed inference use an attached provider at the managed host endpoint.
    • Resuming a saved sandbox restores or verifies its existing provider attachment.
  • Bug Fixes
    • Router setup reconciles the provider without changing the shared inference route.
    • Local endpoint normalization preserves URLs that should not be rewritten, including URLs with credentials or non-loopback hosts.
    • Existing sandboxes with a different provider must be recreated before using NVIDIA Model Router.

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter rsliter self-assigned this Nov 2, 2026
@copy-pr-bot

copy-pr-bot Bot commented Nov 2, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Review in 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.

Walkthrough

OpenClaw’s nvidia-router selection now follows native-local setup, resume, and model-change paths. The changes add restricted provider-profile verification, router-port ownership checks, attachment recovery, and endpoint handling. The PR also updates Pi agent qualification values.

Changes: OpenClaw native Model Router

Layer / File(s) Summary
Provider contract and router-port ownership
src/lib/inference/native-local/*, src/lib/inference/gateway/local-endpoint-ports.ts, src/lib/core/protected-host-ports.ts
The native-local contract accepts nvidia-router for OpenClaw. Selection validates the endpoint host and configured router port, then passes verified ownership through protected-port checks. Tests cover unauthorized endpoints and port reservations.
Fresh setup and profile verification
src/lib/onboard/inference-providers/routed.ts, src/lib/onboard/setup-inference.ts, src/lib/inference/native-local.test.ts, src/lib/onboard/routed-inference.ts, src/lib/onboard/routed-inference.test.ts, .agents/references/provider-profile-inventory.md, ci/platform-matrix.json, docs/reference/platform-support.mdx, src/lib/actions/sandbox/rebuild-flow-credential-preflight.test.ts, src/lib/actions/sandbox/rebuild-flow-target-image.test.ts
Native-local routed setup reconciles the router and prepares the provider without changing the shared inference route. Setup records the router endpoint and credential environment. Smoke verification prefers the loopback endpoint. Tests cover profile verification, setup failures, and endpoint normalization.
Resume and attachment recovery
src/lib/onboard/machine/handlers/provider-inference.ts, src/lib/onboard/machine/handlers/provider-inference-native-local-resume.test.ts, src/lib/onboard/machine/handlers/provider-inference-route-containment.test.ts, src/lib/onboard/machine/handlers/provider-inference.test-support.ts, src/lib/onboard/machine/handlers/provider-inference.test.ts, src/lib/onboard/machine/handlers/sandbox.ts, src/lib/onboard/machine/handlers/sandbox-resume.ts, src/lib/onboard/machine/handlers/sandbox-native-router-resume.test.ts, src/lib/onboard/lifecycle-contracts.md
Native-local nvidia-router selections proceed through inference setup during resume. Sandbox reuse restores an authorized attachment after identity and route checks. Tests cover resume, attachment recovery, and routed-provider repair.
OpenClaw configuration and model changes
scripts/generate-openclaw-config.mts, src/lib/actions/inference-set/native.ts, src/lib/actions/inference-set/native-local.ts, src/lib/actions/inference-set-openclaw-native-local.test.ts, test/generation/generate-openclaw-native-nvidia-config.test.ts, test/helpers/inference-set-openclaw-native-local.ts, src/lib/actions/inference-set-*.test.ts, src/lib/registry-recovery-seeded-paths.test.ts, test/support/native-local-setup-harness.ts
OpenClaw configuration uses a native credential reference for nvidia-router. Model changes retain the selected native attachment and update its model without invoking the shared inference-set command. Tests distinguish nvidia-router from shared provider nvidia-nim.

Pi agent qualification updates

Layer / File(s) Summary
Qualification image and receipt values
ci/pi-agent-qualification-v1-linux-amd64.json, ci/pi-agent-qualification-v1-linux-arm64.json, src/lib/agent/candidate-authority.ts
The Linux qualification records use updated image digests, source revision, and cohort. The pi qualification receipt allowlist uses two updated digests.

Estimated code review effort: 4 (Complex) | ~45 minutes

Change: Bug fix · Severity of issue fixed: Medium

Sequence Diagram(s)

sequenceDiagram
  participant Onboarding
  participant RouterReconciliation
  participant NativeProvider
  Onboarding->>RouterReconciliation: reconcile router and port ownership
  RouterReconciliation->>NativeProvider: verify profile and prepare attachment
  NativeProvider-->>Onboarding: return attached endpoint and credentials
Loading

Possibly related issues

Suggested reviewers: deepujain, ericksoa, prekshivyas

Merge Risk: Minimal · up to d5b0a

No actionable issue was established in the reviewed changes. The PR is mergeable subject to its normal pending validation.

Pre-merge checks: Passed 4 · Failed 1

Failed Failed checks: 1 warning

Check name Status Explanation Resolution
Docstring Coverage Warning Docstring coverage is 52.94% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documenta… Write docstrings for the functions missing them to satisfy the coverage threshold.
Passed Passed checks: 4 passed
Check name Status Explanation
Description Check Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check Passed The title "fix(inference): attach a native Model Router provider" matches the main change. The PR adds a native local provider lifecycle for the nvidia-router selection, including attachment during se…
Linked Issues check Passed Directly linked issue [#13560] is active. Its coding requirements are grouped below.

1. Owned native profile verified before nvidia-router provider creation or attachment [#13560]: `src/lib/inferen…
Out of Scope Changes check Passed Most changes support [#13560]. These include the native-local contract, eligibility, selection, credential reference, port-exemption, setup, resume, and inference-set changes. They also include the ro…
Full details: Title check

Explanation

The title "fix(inference): attach a native Model Router provider" matches the main change. The PR adds a native local provider lifecycle for the nvidia-router selection, including attachment during setup and resume, and the PR objectives state the same aim. The title does not mention the resume repair, the port restrictions, or the test changes, but it does not need to cover every detail. No web search was needed for this check.

Full details: Linked Issues check

Explanation

Directly linked issue [#13560] is active. Its coding requirements are grouped below.

  1. Owned native profile verified before nvidia-router provider creation or attachment [#13560]: src/lib/inference/native-local.test.ts covers profile import, repeat setup reuse, collision and import-failure stops before provider or sandbox mutation. src/lib/onboard/routed-inference.test.ts asserts that native-local setup awaits router reconciliation and native-provider registration in order without mutating the shared route. The native-local contract and eligibility changes add nvidia-router as a native-local provider for openclaw only.

  2. Fresh setup and resume use the owned profile and attached native endpoint [#13560]: src/lib/onboard/setup-inference.ts records the gateway-reachable endpoint and the owned router port. src/lib/onboard/machine/handlers/sandbox.ts restores a matching nvidia-router attachment on reuse and rechecks sandbox identity and attachment authority. src/lib/onboard/machine/handlers/sandbox-native-router-resume.test.ts covers restoration of a missing attachment, verification without re-attach, and rejection of changed authority. The resume repair in d5b0ad6 adds the attachment-restoration regression that failed before repair. The incremental diff for d5b0ad6 could not be read, so this item relies on the PR description and the test counts it reports.

  3. Credentials redacted and kept outside agent-visible configuration [#13560]: test/generation/generate-openclaw-native-nvidia-config.test.ts checks that the serialized config omits the secret value and inference.local, and that the API key is an OpenShell environment-token resolver. scripts/generate-openclaw-config.mts routes nvidia-router through nativeLocalCredentialReference.

  4. Provider-profile inventory updated [#13560]: .agents/references/provider-profile-inventory.md records the native-local lifecycle, setup and resume conditions, and recreation requirements.

  5. Preserved routed selection and non-goals [#13560]: src/lib/actions/inference-set/native-local.ts rejects nvidia-router switches without a native attachment before mutation. The changes do not add a pool, routing policy, or complete native-router E2E. Those items are assigned to [#14066] and [#12558] by the issue text.

Uncertainty: CI, automated review, and applicable E2E results for d5b0ad6 are pending according to the PR description. These are validation gates, not coding requirements, so they do not change this verdict.

Full details: Out of Scope Changes check

Explanation

Most changes support [#13560]. These include the native-local contract, eligibility, selection, credential reference, port-exemption, setup, resume, and inference-set changes. They also include the routed-provider changes, the managed-router host-loopback probe, the OpenClaw config generation update, the provider-profile inventory, the platform matrix and platform-support note, and the lifecycle contract.

Test fixture changes in inference-set-*, provider-inference*, registry-recovery-seeded-paths, and rebuild-flow-* tests move non-router cases to nvidia-nim or custom-router. These changes keep those tests on their original paths after nvidia-router gained native-local behavior. They support the objective and do not change the tested behavior.

The Pi agent receipt refresh changes ci/pi-agent-qualification-v1-linux-amd64.json, ci/pi-agent-qualification-v1-linux-arm64.json, and the accepted digests in src/lib/agent/candidate-authority.ts. This change does not implement a Model Router behavior. The PR description states that the repository static check required it before the PR could pass. I could not read the candidate-authority.ts diff, so I rely on the summary and the PR statement. The change is disclosed and tied to a CI gate, not shown to be unrelated, so it does not fail this check. Reviewers should confirm that this gate requirement is still active.

No OpenShell pin change, broad openai profile, replacement-model pool, rules-policy change, or shared-route retirement appears in the summary.

Full details: Docstring Coverage

Explanation

Docstring coverage is 52.94% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 17 functions across 34 files. (1 skipped: 1 unsupported.)

Resolution

Write docstrings for the functions missing them to satisfy the coverage threshold.

Finishing Touches
Generate docstrings
  • Commit to this branch
  • Create a new PR
Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

CodeRabbit Verify

  • Run CodeRabbit Verify to test the changes in this pull request.
Recent review info
Run configuration
Commits

Reviewing files that changed from the base of the PR and between b918a3a and d5b0ad6.

Files selected for processing: 5
  • src/lib/onboard/lifecycle-contracts.md
  • src/lib/onboard/machine/handlers/sandbox-native-router-resume.test.ts
  • src/lib/onboard/machine/handlers/sandbox-resume.ts
  • src/lib/onboard/machine/handlers/sandbox.ts
  • test/support/native-local-setup-harness.ts

Included review availability: This review used your included allowance. Your plan provides up to 12 included reviews per hour; 11 remain after this review.

@rsliter

rsliter commented Nov 2, 2026 •

Copy link
Copy Markdown
Collaborator Author
Authoring session — opening
Field Status Value Evidence or limit
Harness recorded Codex Desktop 0.159.2 Persisted session metadata matches the repository and the recorded implementation branch activity.
Skills recorded nemoclaw-skills-guide; nemoclaw-contributor-plan-issue; nemoclaw-maintainer-triage; nemoclaw-maintainer-policies; nemoclaw-contributor-onboard; nemoclaw-contributor-implement-issue; nemoclaw-contributor-create-pr; nemoclaw-maintainer-e2e Full read outputs establish these skills within the persisted session. Shared skill references are components of their owning skills.
Instruction files recorded AGENTS.md; CONTRIBUTING.md; WRITING.md; .agents/references/development.md; .agents/references/e2e-authoring.md; test/README.md; .github/PULL_REQUEST_TEMPLATE.md; .github/SESSION_REPORT_TEMPLATE.md Full read outputs establish the listed guidance files and templates. Source files and references inside skills are excluded from this instruction-file inventory.
Tool calls partial Outer calls: exec 229; request_user_input_async 5; sleep 6. Separately observed nested items: command executions 413; MCP calls 16; extensions 24; file changes 14. Counts include recorded attempts and failures through the original cutoff. Outer calls and nested items are separate layers and are not added. Nested calls without an execution item cannot be counted from those items.
Session window recorded 2026-11-02T18:47:19.094Z to cutoff 2026-11-02T21:35:20Z; 2 h 48 min 0.906 s Whole persisted session through the original cutoff, including planning and idle time. Latest recorded event before cutoff is 21:35:18.215Z.
Compactions recorded 4 Persisted compaction events through the original cutoff.
Models recorded gpt-6-sol; gpt-6-astra Recorded turn contexts through the original cutoff, in first-use order.
Reasoning levels recorded high; xhigh Recorded turn contexts through the original cutoff, in first-use order.

Evidence fields corrected after inspecting the persisted authoring record. The original cutoff is preserved; later revision work is excluded.

@rsliter

rsliter commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator Author

@coderabbitai full review

@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor
Action performed

Full review finished.

@github-code-quality

github-code-quality Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor

Code coverage overview

Languages: TypeScript

TypeScript / code-coverage/plugin

main 63002cd codex/13560-native-m... d5b0ad6 +/-
96% 97% +1%
View coverage of the 10 most impacted files.
File main 63002cd codex/13560-native-m... d5b0ad6 +/-
nemoclaw/src/sh...cy-boundary.cts 100% 97% -3%
nemoclaw/src/onboard/config.ts 98% 96% -2%
nemoclaw/src/ru...time-context.ts 100% 99% -1%
nemoclaw/src/bl...print/runner.ts 95% 95% 0%
nemoclaw/src/bl...ime-identity.ts 97% 97% 0%
nemoclaw/src/bl...t-management.ts 100% 100% 0%
nemoclaw/src/index.ts 94% 99% +5%
nemoclaw/src/de...search-state.ts 0% 100% +100%
nemoclaw/src/on...native-route.ts 0% 100% +100%
nemoclaw/src/search-config.ts 0% 100% +100%

TypeScript / code-coverage/cli

main 63002cd codex/13560-native-m... d5b0ad6 +/-
84% 86% +2%
View coverage of the 10 most impacted files.
File main 63002cd codex/13560-native-m... d5b0ad6 +/-
src/lib/onboard.ts 62% 50% -12%
src/lib/actions...ess-recovery.ts 65% 81% +16%
src/lib/inferen...ollama/proxy.ts 41% 61% +20%
src/lib/onboard.../application.ts 55% 84% +29%
src/lib/domain/...y/dimensions.ts 0% 73% +73%
src/lib/actions...ry/operation.ts 0% 76% +76%
src/lib/inferen...er/lifecycle.ts 0% 78% +78%
src/lib/actions...try/snapshot.ts 0% 83% +83%
src/lib/inferen...ovider/index.ts 0% 88% +88%
src/lib/actions...ned-recovery.ts 0% 93% +93%

ℹ️ Calculations represent line coverage. Results may change as calculations are updated.


Updated November 03, 2026 17:21 UTC

@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.

  • Fix comments: Fix CodeRabbit comments on this PR

Comment thread src/lib/onboard/setup-inference.ts Resolved
@wscurran wscurran added area: inference Inference routing, serving, model selection, or outputs area: onboarding Onboarding FSM, provider setup, sandbox launch, or first-run flow area: providers Inference provider integrations and provider behavior area: security Security controls, permissions, secrets, or hardening integration: openclaw OpenClaw integration behavior provider: nvidia NVIDIA inference endpoint, NIM, or NVIDIA provider behavior labels Nov 2, 2026
@rsliter

rsliter commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator Author

Cycle 1 validation and review disposition

Tested commit: e7cd08471dc63587a2dbbd73d8af5d567b62c7ab.

All applicable selected regression E2Es passed in run 41538230420, attempt 1. The trusted nemoclaw-e2e-dispatch-v2 receipt matches the candidate, base, workflow revision, and explicit selectors. Launchable and Jetson were excluded.

Selector Result Evidence
cloud-onboard Passed Cloud onboarding
managed-image-multiarch-startup Passed on both architectures AMD64, ARM64
inference-routing Passed Routing and runtime identity
network-policy Passed Policy enforcement
onboard-repair Passed Repair
onboard-resume Passed for both selected agents OpenClaw, Hermes

The managed-image qualification run also passed, including both Pi candidate builds and all managed runtime activation checks. The authenticated Pi receipt refresh patch is prepared and has not been applied.

The candidate remains WIP. The smallest next repair batch is:

  1. Correct the host-side router smoke endpoint. CodeRabbit finding is valid: sandbox-facing host.openshell.internal must not take precedence for the host probe. Preserve that endpoint for the attached sandbox provider and setup result, and protect the boundary with a focused assertion.
  2. Update the stale routed rebuild fixture in rebuild-flow-target-image.test.ts. It supplies an OpenClaw router with no native attachment and expects a rebuild; the accepted legacy-route boundary now correctly refuses before deletion. Preserve session-isolation coverage and explicit legacy-router refusal.
  3. Commit the two authenticated Pi qualification receipts and matching authority digests. Static checks correctly require them because Pi copies the changed credential helper.
  4. Correct the owning managed-inference summary in ci/platform-matrix.json and its generated entry. Other public guide updates follow the repository's permitted Docs / Author Post-Merge Catch-Up workflow.

All nine Advisor specialists completed successfully. Its blocker gate reports the documentation drift described above; eight specialists recorded no code blocker. The failed CLI shard is the fixture mismatch in item 2. No workflow or test retries were requested.

Declined feedback:

  • CodeRabbit docstring expansion: advisory style work that does not manage regression risk.
  • Advisor's model-router-provider-routed-inference recommendation as native-routing proof: the current test explicitly calls expectInferenceLocalChatCompletion without a native endpoint. Its shared-route oracle cannot establish this PR's attached-provider contract. The accepted Restore the default Model Router pool and remove GPT-OSS 20B #14066 scope owns the replacement pool and complete native-router E2E update. The recommendation does not authorize expanding this PR's test contract.

Paused after revision cycle 1 at the author's request. No second revision has been committed or pushed.

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@github-actions

github-actions Bot commented Nov 2, 2026

Copy link
Copy Markdown
Contributor

@rsliter

rsliter commented Nov 2, 2026

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 2, 2026 •

Copy link
Copy Markdown
Contributor
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@wscurran wscurran added the area: docs Documentation, examples, guides, or docs build label Nov 3, 2026
@rsliter

rsliter commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

Cycle 2 validation for 2789ae19599d2dddcc442f7c46848d9a8d59189e passed CI, CodeRabbit, managed-image qualification, and all eight selected E2E executions. Advisor identified one candidate-owned migration defect for cycle 3.

  • CI: 41546704160, passed.
  • Image qualification: 41546704141, passed, including AMD64, ARM64, and rootless Podman runtime activation.
  • Trusted manual E2E: 41553000039, attempt 1, passed. The hash-verified nemoclaw-e2e-dispatch-v2 receipt binds the candidate, base, trusted workflow, and selectors.
Selector Result
cloud-onboard Passed
managed-image-multiarch-startup Passed on AMD64 and ARM64
inference-routing Passed
network-policy Passed
onboard-repair Passed
onboard-resume Passed for OpenClaw and Hermes

Advisor dispositions:

  • Accept the migration finding: OpenClaw inference set can select Model Router through the historical shared route without a native receipt. Cycle 3 will reject that transition before effects, retain model changes on a verified native router attachment, and preserve generic shared-route regression coverage with the retained nvidia-nim fixture. Onboarding remains the native router lifecycle owner.
  • Defer public guide drift to Docs / Author Post-Merge Catch-Up, as repository policy permits. The owning platform summary was corrected in cycle 2.
  • Exclude model-router-provider-routed-inference here: its current oracle explicitly calls inference.local, which this PR no longer updates. Restore the default Model Router pool and remove GPT-OSS 20B #14066 owns the accepted native-router oracle update and replacement-model inference proof.
  • Exclude broad full-e2e and hermes-e2e mappings introduced solely by two authenticated Pi receipt digest constants in candidate-authority.ts. No shared agent logic changed. The complete all-agent image and runtime qualification passed.
  • Decline the advisory docstring suggestion under the maintainer's request to limit repairs to regression risk.

No retries were required. The PR remains draft pending the cycle 3 repair and its validation. No model-pool or routing-policy change is included.

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter

rsliter commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

Cycle 3 is db39a8c. Please review the native-router selection guard and its denial and shared-route regression coverage.

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter

rsliter commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

The approved fourth revision is fcba810. It corrects the remaining registry-recovery shared-route test fixture; production code and all assertions are unchanged.

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@wscurran wscurran added area: ci CI workflows, checks, release automation, or GitHub Actions area: networking DNS, proxy, TLS, ports, host aliases, or connectivity labels Nov 3, 2026
@rsliter

rsliter commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

Final validation for fcba810137f1a43f2921e6612aba2af9d945c766 passed CI, CodeRabbit, managed-image qualification, and all eight applicable E2E executions.

  • CI 41570813894: passed.
  • Managed-image qualification 41570813848: passed, including AMD64, ARM64, and rootless Podman runtime activation.
  • Trusted manual E2E 41576168891: attempt 1, passed with no retries.
  • The hash-verified nemoclaw-e2e-dispatch-v2 receipt, artifact 13203134228, binds this candidate, PR base 5a8515d7ce9feee4c0245cc6f3e2ed9b69b6a1f8, trusted workflow 2d25e02963954a3774852dc44905c186ed4d11ab, and the selectors below.
Selector Result and evidence
cloud-onboard Passed
managed-image-multiarch-startup AMD64 passed, ARM64 passed
inference-routing Passed
network-policy Passed
onboard-repair Passed
onboard-resume OpenClaw passed, Hermes passed

All nine Advisor specialists in 41573118423 completed. Their artifacts were hash-verified and bound to this candidate and base. The advisory blocker gate failed on two findings, with these dispositions:

  1. Public guide drift: deferred to Docs / Author Post-Merge Catch-Up, as repository policy permits. The owning platform summary is corrected in this PR.
  2. Router E2E ownership mapping: the finding assumes the current target proves native inference. Its test at test/e2e/live/model-router-provider-routed-inference.test.ts:93-104 calls expectInferenceLocalChatCompletion; test/e2e/fixtures/phases/runtime.ts:61-83 constructs https://inference.local. Adding the new native setup owners would select that obsolete shared-route contract. Restore the default Model Router pool and remove GPT-OSS 20B #14066 acceptance criterion 3 owns the native-endpoint and replacement-pool oracle update. Its ownership mapping should follow that update.

Architecture, customer behavior, migration, recovery, reduction, security, and verification identified no remaining code defect. CodeRabbit completed with no actionable comments; the earlier host-smoke thread is resolved. Advisory docstring expansion is declined under the maintainer's instruction to limit work to regression risk.

E2E applicability:

  • Exclude required and optional model-router-provider-routed-inference recommendations for the oracle reason above. Complete native-router request coverage, including streaming, tools, and images, is accepted Restore the default Model Router pool and remove GPT-OSS 20B #14066 scope. This PR's focused lifecycle tests and selected onboarding, route, network-policy, repair, and resume jobs provide its provider-wiring evidence.
  • Exclude broad full-e2e and hermes-e2e mappings introduced solely by two authenticated Pi receipt digest constants. No shared-agent logic changed; complete all-agent image and runtime qualification passed.

No fifth revision, model-pool change, or routing-policy change is included. All four published commits are Verified. This evidence does not claim that the replacement pool is qualified or that a maintainer has approved merging.

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter

rsliter commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

Please review merge commit 5348e12f377f121f2ce9f63ff3249f4d2d035b6c. The three metadata conflicts use coherent main Pi receipts pending authenticated qualification of the combined inputs. The automatic configuration merge passed all 168 focused tests. Model replacement remains in #14066.

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
Action not completed

No files to review.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter

rsliter commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

Please review final commit b918a3a14f01d69ce6e49453cb7cf9aee0afb5bc. It refreshes only the authenticated Pi receipts and their matching authority digests from successful qualification run 41654462094. Strict source parity and all 13 existing candidate-gate tests passed. Product scope and runtime logic are unchanged.

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

@github-actions

github-actions Bot commented Nov 3, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor finished for commit b918a3a. Include the Advisor findings in the complete PR feedback collection. Verify and group valid findings before repair.

Request review only when Require no Advisor blockers is green.

All previous runs

Signed-off-by: Rebecca Sliter <571084+rsliter@users.noreply.github.com>
@rsliter

rsliter commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Nov 3, 2026 •

Copy link
Copy Markdown
Contributor
Action performed

Review finished.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: ci CI workflows, checks, release automation, or GitHub Actions area: docs Documentation, examples, guides, or docs build area: inference Inference routing, serving, model selection, or outputs area: networking DNS, proxy, TLS, ports, host aliases, or connectivity area: onboarding Onboarding FSM, provider setup, sandbox launch, or first-run flow area: providers Inference provider integrations and provider behavior area: security Security controls, permissions, secrets, or hardening integration: openclaw OpenClaw integration behavior provider: nvidia NVIDIA inference endpoint, NIM, or NVIDIA provider behavior

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add a native provider profile for Model Router

2 participants