feat(cua): add first-class lifecycle runtime - #8174
Conversation
Signed-off-by: Julie Yaunches <jyaunches@nvidia.com>
|
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. |
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Enterprise Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Code Coverage OverviewLanguages: TypeScript TypeScript / code-coverage/pluginThe overall coverage in commit b5f57c3 in the TypeScript / code-coverage/cliThe overall coverage in commit b5f57c3 in the Show a code coverage summary of the most impacted files.
Updated |
|
🌿 Preview your docs: https://nvidia-preview-pr-8174.docs.buildwithfern.com/nemoclaw |
PR Review Advisor — Blocking findings reportedAdvisor assessment: Blockers require maintainer review Model lanes
Second-opinion terminology and E2E selections are advisory. They do not change the primary assessment or E2E / PR Gate. 4 semantic terminology decisionsTerminology decisions are advisory. They affect the assessment only when a separate finding identifies concrete semantic impact.
E2E guidanceAdvisory only. E2E / PR Gate selects and runs jobs independently. Recommended E2E: Blockers
|
|
Closing this draft in favor of a smaller, reviewable CUA stack built from current main. The replacement keeps the lifecycle framework default-off and excludes production agent manifests, binaries, and artifact integration; those remain owned by the NemoClaw image lane. |
Summary
Consolidate the first-class CUA contract, target/task/security lifecycle, GPU qualification consumer, and the smallest NemoCUA runtime/onboarding slice into one PR on current
main. NemoClaw now exposes a public host lifecycle through operator-owned adapters and invokes NemoCUA directly inside the existing OpenShell sandbox, without creating a nested NemoCUA sandbox.The checked-in release tuple remains fail closed as
awaiting-live-qualification. This draft does not claim that a live image-backed CUA has passed qualification; the exact external completion gate is recorded below.Related Issue
Fixes #7750
Fixes #7751
Fixes #7752
Fixes #7754
Relates to #7753
Relates to #7755
Relates to #6015
Supersedes #8170
Product scope decision: #7750 (comment)
Changes
nemocuaagent manifest, pinned runtime artifact manifest, digest-pinned base-image handoff, deny-default policy additions, andnemocua-runtime interactive|headless|version|smokewrapper.qualified.nemocua sandbox createinside NemoClaw.Public lifecycle mapping
NEMOCLAW_NEMOCUA_RUNTIME_IMAGE_REF='<repository>@sha256:c1a577fc8f69071642b97706130df26abd8a89b8bd429a9ef37abf0ccd634e0b' \ nemoclaw onboard --agent nemocua --name my-cua nemoclaw my-cua cua target attach --adapter /absolute/path/to/target-adapter \ --target-manifest ./target-manifest.json --json nemoclaw my-cua cua target status --json nemoclaw my-cua cua security verify --adapter /absolute/path/to/security-verifier --json nemoclaw my-cua cua security status --json nemoclaw my-cua cua task start --adapter /absolute/path/to/task-adapter \ --task-id task-1 --mode headless --input-file ./task.txt --json nemoclaw my-cua cua task status --adapter /absolute/path/to/task-adapter \ --task-id task-1 --json nemoclaw my-cua cua task result --adapter /absolute/path/to/task-adapter \ --task-id task-1 --jsonInside the existing sandbox, the image invokes
/app/run.pyor/app/run_with_harness.pythroughnemocua-runtime; it never invokesnemocua sandbox create.Pinned image inputs
0.0.20-dev-v3;nemocua_linux_amd64.tar.gz; size12322325; SHA-256702d93c4fc01ba4aafdd23daaf17fd25cea8f7deab3f1caa1c91ef047f4778aav0.0.5;linux/amd64; digestsha256:c1a577fc8f69071642b97706130df26abd8a89b8bd429a9ef37abf0ccd634e0b0.0.66-dev-v29;nemocua-services-linux-x86_64-v0.0.66-dev-v29.tar.gz; size183706364; SHA-2566d731e02226b364daa61d3521e5903b86f1e4260e41d330b1a7daed5c3ae3b01Remaining qualification gate
An artifact owner must stage and test the exact CLI, NVLumina image, and target-services tuple together in an image-backed live CUA scenario, produce the checked-in environment and scenario receipt shapes, and publish an immutable runtime image reference ending in the declared digest. After that evidence passes,
agents/nemocua/runtime-artifacts.jsoncan change fromawaiting-live-qualificationtoqualified; until then onboarding and all public CUA lifecycle commands deliberately return unavailable.Type of Change
Quality Gates
Documentation Writer Review
docs-updateddocs/reference/commands.mdx,src/lib/cua/contract.md, andtest/e2e/README.md; independent review verified the public CUA grammar, exact artifact identities, fail-closed qualification state, direct in-sandbox runtime invocation, and absence of nested NemoCUA sandbox creation.npm run docs, CLI type-check, repository checks, and focused tests passed.Codex Desktop — NemoCUA onboarding, public CUA lifecycle, artifact handoff, and qualification boundaryDGX Station Hardware Evidence
Verification
Signed-off-by:line and every commit appears asVerifiedin GitHubpre-commit,commit-msg, andpre-pushhooks passednpm run docsbuilds without warnings (doc changes only) — the build passed with 0 errors and 5 existing Fern warnings.Signed-off-by: Julie Yaunches jyaunches@nvidia.com