You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is the second cumulative vertical capability. It builds on the host-agnostic install and readiness slice in #7755 and applies the target/security invariants recorded in #7754.
Outcome
Attach, inspect, secure, and remove one dedicated disposable desktop target through public NemoClaw commands.
The cumulative candidate still onboards exactly one OpenShell-managed NemoCUA sandbox. The separately managed target exposes healthy browser, computer, and terminal services. NemoClaw stores only bounded content-free authority; host provisioning and transport remain outside core.
Feature and readiness gates
Every CUA target or security command is absent unless NEMOCLAW_CUA_ENABLED=1 exactly.
Candidate execution additionally requires NEMOCLAW_CUA_QUALIFICATION=1 exactly and current validated status: "candidate" readiness.
status: "available" and ordinary final execution remain absent in this slice.
These gates are revalidated immediately before adapter execution and again before its result can become durable authority.
Readiness advertises exactly these target/security operations after the cumulative journey consumes them. target.reset and all task operations remain unavailable.
This slice introduces the deterministic #7750 envelope because it introduces
the first dedicated CUA JSON lifecycle handlers. Every target or security
failure uses that envelope. Handlers must not substitute adapter stderr,
private target detail, credentials, paths, or transport coordinates for the
bounded failure family. Existing Slice 1 commands retain their established
redacted, nonzero error behavior instead of gaining a parallel transport.
Architecture and security decisions
One OpenShell agent sandbox controls one separately managed reconstructible target; NemoClaw does not create a nested sandbox.
Attach only an exact registered target image/service tuple. Never attach employee desktops, production accounts, shared mutable sessions, or targets with external side effects.
Target administration credentials, SSH/VNC material, endpoints, and transport handles stay in the host-side boundary and out of public JSON, state, logs, diagnostics, snapshots, and backups. Detach/destroy remove only disposable target/session credentials created for this attachment. Provider credentials follow existing OpenShell gateway ownership, and cleanup cannot delete shared provider authority used by another sandbox or route.
Permit only managed inference and recorded target services. Deny unrelated Internet, cloud metadata, undeclared loopback, host administration, host desktop, and Docker-socket access.
Compute one canonical digest over the complete current runtime readiness and bind every target, attestation, adapter request/response, and persisted record to it.
Bind the attestation to exact OpenShell, inference provider authority, effective policy, runtime and target component identities, adapter digests, and capability set.
Require a current security attestation before later task admission. A failed security verification clears the prior attestation. Target health that reports unreachable, incompatible, or replaced also clears it; no earlier success remains usable.
Reobserve live inference and applied-policy identity before adapter invocation and before committing its result.
Invalidate target and security authority after any source, readiness, manifest, adapter, OpenShell, inference, policy, target, or component change.
Snapshot adapters from absolute no-follow regular files, verify exact digests, reject replacement/symlink/interpreter drift, and cap input, output, time, process, memory, filesystem, and network authority.
Treat an --adapter argument only as a selector for manifest-registered immutable bytes, never as caller authority. Target operations must match components.targetAdapter; security.verify must match components.securityVerifier; an ad hoc but schema-valid verifier is rejected.
Hold shared sandbox and inference leases in the declared order; do not execute an adapter while holding the age-bounded registry lock.
Record a durable pending-effect journal before each external call. Compare-and-swap the complete sandbox row afterward.
Preserve a possible external effect after timeout, malformed output, process failure, restart, or conflict. Permit only fresh health observation and exact cleanup while reconciliation remains.
Detach/destroy replace attached authority with a detached projection, clear security and reconciliation-derived state, and preserve current candidate runtime readiness.
The exact PR head must complete attach, status, health, security verify/status,
detach, destroy, and interrupted-effect reconciliation against the real pinned
target lane. E2E-support or a schema-valid fake adapter cannot replace this
evidence.
The live receipt must reobserve and match the target image, service bundle,
three service protocols and health results, target channel, applied policy,
managed inference authority, registered adapters, GPU model/count, driver,
CUDA, NVIDIA container toolkit, immutable probe image, Docker image identity,
probe result, and required host-tool bytes. It must include one negative case
for each mismatched field and prove failed re-verification clears prior security
authority. Cleanup must independently prove loss of target reachability while
preserving shared provider authority.
Parent epic: #6015
This is the second cumulative vertical capability. It builds on the host-agnostic install and readiness slice in #7755 and applies the target/security invariants recorded in #7754.
Outcome
Attach, inspect, secure, and remove one dedicated disposable desktop target through public NemoClaw commands.
The cumulative candidate still onboards exactly one OpenShell-managed NemoCUA sandbox. The separately managed target exposes healthy browser, computer, and terminal services. NemoClaw stores only bounded content-free authority; host provisioning and transport remain outside core.
Feature and readiness gates
NEMOCLAW_CUA_ENABLED=1exactly.NEMOCLAW_CUA_QUALIFICATION=1exactly and current validatedstatus: "candidate"readiness.status: "available"and ordinary final execution remain absent in this slice.User journey
Cumulative public command sequence
nemoclaw onboard --agent nemocua --name <sandbox> --fresh --non-interactive --yes-i-accept-third-party-software --yesnemoclaw <sandbox> status --jsonnemoclaw <sandbox> doctor --jsonnemoclaw launch <sandbox>nemocua interactiveprocessnemoclaw <sandbox> agentnemocua headlessprocessnemoclaw <sandbox> cua target attach --adapter <absolute-path> --target-manifest <path> --jsontarget-attachmentnemoclaw <sandbox> cua target status --jsontarget-attachmentnemoclaw <sandbox> cua target health --adapter <absolute-path> --jsonnemoclaw <sandbox> cua security verify --adapter <absolute-path> --jsonsecurity-attestationnemoclaw <sandbox> cua security status --jsonsecurity-attestationnemoclaw <sandbox> cua target detach --adapter <absolute-path> --jsonnemoclaw <sandbox> cua target destroy --adapter <absolute-path> --jsonnemoclaw <sandbox> destroy --yesReadiness advertises exactly these target/security operations after the cumulative journey consumes them.
target.resetand all task operations remain unavailable.This slice introduces the deterministic #7750 envelope because it introduces
the first dedicated CUA JSON lifecycle handlers. Every target or security
failure uses that envelope. Handlers must not substitute adapter stderr,
private target detail, credentials, paths, or transport coordinates for the
bounded failure family. Existing Slice 1 commands retain their established
redacted, nonzero error behavior instead of gaining a parallel transport.
Architecture and security decisions
--adapterargument only as a selector for manifest-registered immutable bytes, never as caller authority. Target operations must matchcomponents.targetAdapter;security.verifymust matchcomponents.securityVerifier; an ad hoc but schema-valid verifier is rejected.Exact-head live acceptance
The exact PR head must complete attach, status, health, security verify/status,
detach, destroy, and interrupted-effect reconciliation against the real pinned
target lane. E2E-support or a schema-valid fake adapter cannot replace this
evidence.
The live receipt must reobserve and match the target image, service bundle,
three service protocols and health results, target channel, applied policy,
managed inference authority, registered adapters, GPU model/count, driver,
CUDA, NVIDIA container toolkit, immutable probe image, Docker image identity,
probe result, and required host-tool bytes. It must include one negative case
for each mismatched field and prove failed re-verification clears prior security
authority. Cleanup must independently prove loss of target reachability while
preserving shared provider authority.
Tests and acceptance
Exclusions
Stack position