Skip to content

feat(runtime): complete host-local inference lifecycle - #8076

Draft
ericksoa wants to merge 11 commits into
feat/host-local-inference-durable-lifecyclefrom
feat/host-local-inference-lifecycle-recovery
Draft

feat(runtime): complete host-local inference lifecycle#8076
ericksoa wants to merge 11 commits into
feat/host-local-inference-durable-lifecyclefrom
feat/host-local-inference-lifecycle-recovery

Conversation

@ericksoa

@ericksoa ericksoa commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Summary

This draft completes provider-neutral lifecycle handling for durable host-local inference receipts across OpenClaw, Hermes, and DCode with Ollama, NIM, and vLLM. Production activation remains dormant.

Changes

  • Persist and re-prove host-local inference ownership through snapshot manifests and backups.
  • Re-prove exact authority before backup publication and across restore mutation fences.
  • Carry exact receipts through rebuild, self-restore, and cross-sandbox clone flows.
  • Retire replaced managed runtimes safely while retaining a runtime referenced by another sandbox.
  • Add provider-neutral destroy behavior with exact-ID, identity-checked, idempotent Podman cleanup for managed NIM/vLLM.
  • Retain externally owned Ollama services and preserve registry ownership when teardown requires retry.\n- Prove retry convergence after confirmed deletion and require idempotent provider teardown.\n- Remove an incomplete snapshot clone if its live inference authority cannot be re-proved.\n- Require every lifecycle re-proof to perform fresh provider-native authority inspection and network health probing.
  • Exercise an MXC-style provider through the generic contract without Podman-specific central switches.
  • Inherit exact managed route retry and explicit ownership-clear coverage from feat(runtime): route host-local inference #8066 and feat(runtime): persist host-local inference ownership #8069.
  • Keep the implementation dormant; native Podman support is not advertised by this slice.

Quality Gates

  • Tests added or updated for changed behavior
  • Docs not applicable: production activation is unchanged
  • Sensitive paths changed
  • Exact-head advisor, CI, and protected E2E refresh completed

Documentation Writer Review

  • Documentation writer subagent reviewed the completed changes
  • Result: pending exact-head refresh
  • Evidence: review requested for exact head 75cd0af36c2be335f24603c7e612237ed0f10c58.
  • Agent: Codex Desktop

Verification

  • Signed commits and DCO
  • Exact slice plus inherited contract suite: 13 files, 178 tests passed
  • npm run build:cli
  • npm run typecheck:cli
  • npm --prefix nemoclaw run typecheck
  • npm run checks:repository
  • Test-conditional growth scan and normal commit/push hooks passed
  • Exact-head GitHub qualification is running

Stack


Signed-off-by: Aaron Erickson aerickson@nvidia.com

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Aug 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 Aug 2, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 20266ef5-1ee8-480b-8caf-ac5a2c214a25

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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

@github-code-quality

github-code-quality Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

Code Coverage Overview

Languages: TypeScript

TypeScript / code-coverage/plugin

The overall coverage in commit 75cd0af in the feat/host-local-infe... branch remains at 96%, unchanged from commit f93b27d in the feat/host-local-infe... branch.

Show a code coverage summary of the most impacted files.
File feat/host-local-infe... f93b27d feat/host-local-infe... 75cd0af +/-
nemoclaw/src/se...ntial-filter.ts 100% 0% -100%
nemoclaw/src/sh...er-boundary.cts 95% 0% -95%
nemoclaw/src/se...ot-sanitizer.ts 95% 0% -95%
nemoclaw/src/co...test-fixture.ts 81% 0% -81%
nemoclaw/src/co...ration-state.ts 93% 94% +1%

TypeScript / code-coverage/cli

The overall coverage in commit 75cd0af in the feat/host-local-infe... branch remains at 81%, unchanged from commit f93b27d in the feat/host-local-infe... branch.

Show a code coverage summary of the most impacted files.
File feat/host-local-infe... f93b27d feat/host-local-infe... 75cd0af +/-
src/lib/onboard...trap/adapter.ts 0% 63% +63%
src/lib/onboard...strap/docker.ts 0% 64% +64%
src/lib/onboard...ne-lifecycle.ts 0% 83% +83%
src/lib/onboard...cker-journal.ts 0% 83% +83%
src/lib/onboard...al-inference.ts 0% 83% +83%
src/lib/onboard...trap-journal.ts 0% 86% +86%
src/lib/actions...ne-providers.ts 0% 86% +86%
src/lib/onboard...-replacement.ts 0% 87% +87%
src/lib/onboard...-transaction.ts 0% 88% +88%
src/lib/onboard...test-fixture.ts 0% 96% +96%

Updated August 02, 2026 20:10 UTC

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@github-actions

github-actions Bot commented Aug 2, 2026

Copy link
Copy Markdown
Contributor

PR Review Advisor — No blocking findings reported

Advisor assessment: No blocking advisor findings reported
Next action: No advisor follow-up needed.
Findings: 0 blockers · 0 warnings · 0 suggestions

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 terminology decisions differ; normalized E2E selections differ; severity counts match.
3 terminology differences from the second opinion

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

  • retire at src/lib/onboard/runtime-provider/host-local-inference-lifecycle.ts:149: selected only by the second-opinion lane as justified.
  • reprove at src/lib/onboard/runtime-provider/host-local-inference-lifecycle.ts:54: selected only by the second-opinion lane as justified.
  • host-local inference authority at src/lib/onboard/runtime-provider/host-local-inference-lifecycle.ts:62: selected only by the second-opinion lane as define.

Second-opinion terminology and E2E selections are advisory. They do not change the primary assessment or E2E / PR Gate.

4 semantic terminology decisions

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

  • define — host-local inference authority at src/lib/onboard/runtime-provider/host-local-inference-lifecycle.ts:73: Define this term where it first appears in user-visible or contributor-facing explanatory text if that surface is added; retain the exact phrase for this lifecycle concept.
  • define — provider snapshot authority at src/lib/actions/sandbox/snapshot.ts:1136: Use this term only for the combined provider-backed snapshot boundary, and retain managed snapshot authority when only managed workload/runtime authority is meant.
  • define — exact provider ownership at src/lib/actions/sandbox/snapshot.ts:1372: Name the retained registry ownership record when this phrase appears in user-visible or contributor-facing explanatory text.
  • established — mutation fence at src/lib/actions/sandbox/snapshot.ts:1429: Retain mutation fence for the immediate pre-mutation validation point.

E2E guidance

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

Recommended E2E: inference-routing, network-policy, onboard-repair, onboard-resume, rebuild-openclaw, state-backup-restore, cloud-onboard

2 optional E2E recommendations
  • snapshot-commands
  • sandbox-operations

Workflow run details

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

Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
Signed-off-by: Aaron Erickson <aerickson@nvidia.com>
@wscurran wscurran added area: inference Inference routing, serving, model selection, or outputs area: local-models Local model providers, downloads, launch, or connectivity area: providers Inference provider integrations and provider behavior feature PR adds or expands user-visible functionality integration: dcode LangChain Deep Code integration behavior integration: hermes Hermes integration behavior integration: openclaw OpenClaw integration behavior provider: nvidia NVIDIA inference endpoint, NIM, or NVIDIA provider behavior labels Aug 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: inference Inference routing, serving, model selection, or outputs area: local-models Local model providers, downloads, launch, or connectivity area: providers Inference provider integrations and provider behavior feature PR adds or expands user-visible functionality integration: dcode LangChain Deep Code integration behavior integration: hermes Hermes integration behavior 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.

2 participants