NVIDIA / NVIDIA/NemoClaw

Enforce no NemoClaw-only agent restrictions beyond OpenShell

Open
#11,763 0 comments 0 reactions 1 assignee Claimed by @ericksoa View on GitHub
area: architecture area: sandbox
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

Parent: https://github.com/NVIDIA/NemoClaw/issues/11255

## Maintainer direction

NemoClaw must not impose agent restrictions beyond the security posture provided by the selected OpenShell installation. The only retained NemoClaw security adaptation is the credential placement and projection required by OpenShell: credentials remain where OpenShell expects them, and agents receive only the references or non-secret values that contract exposes.

## Problem

NemoClaw currently adds configuration guards, lifecycle gates, state allowlists, command interception, plugin reconciliation, package-layout overrides, and agent-specific policy beyond OpenShell containment. These controls make OpenClaw, Hermes, and other supported agents behave differently from their native installations and are a primary source of reports that agents are too constrained.

## Scope

- Inventory every NemoClaw-owned restriction, rejection, reset, allowlist, integrity gate, lifecycle veto, path override, and command interception applied inside supported agent sandboxes.
- Classify each item as required by the selected OpenShell contract, required only for OpenShell credential placement, or NemoClaw-specific.
- Delete every NemoClaw-specific restriction and its restriction-only tests, warnings, compatibility state, and documentation.
- Turn the classification into a repository check so new NemoClaw-only restrictions require an explicit maintainer decision and cannot be introduced as incidental hardening.
- Coordinate the concrete removal slices under this epic; do not replace deleted restrictions with renamed wrappers.

## Acceptance criteria

- A source inventory accounts for every runtime restriction across OpenClaw, Hermes, Deep Agents, Pi, and shared adapters.
- Every retained restriction cites the exact OpenShell interface or credential-placement requirement that owns it.
- Native agent conformance tests pass for configuration, tools, plugins, packages, updates, background work, persistence, and lifecycle behavior.
- NemoClaw-specific restrictions have zero production consumers and are deleted.
- Existing OpenShell isolation and credential custody continue to pass without duplicating enforcement in NemoClaw.
- Documentation states that NemoClaw follows the chosen OpenShell posture and does not add a second sandbox policy layer.

## Related work

Coordinate with #11259, #11261, #11262, #11263, and #11357. This issue changes the governing direction where older issues proposed retaining NemoClaw-only controls beyond OpenShell credential placement.

## Basic-onboarder end state and E2E amendments

This issue is part of the transition to a basic onboarder. NemoClaw's durable responsibility ends after it has selected the image, created the OpenShell sandbox, placed credentials according to OpenShell, attached the initial inference route, launched the native agent, and returned connection details. Do not build a replacement lifecycle, policy, repair, snapshot, or reconciliation framework while removing restrictions.

Amend the existing E2E inventory as follows:

- `test/e2e/live/full-e2e.test.ts` (`full-e2e`): retain install/onboard/initial inference, then replace NemoClaw-owned lifecycle assertions with native agent capability checks for configuration, tools, subprocesses, plugins, packages, background work, and ordinary state.
- `test/e2e/live/managed-image-activation-e2e.test.ts`: prove each supported agent starts with its native interfaces available and no NemoClaw-only restriction layer; retain OpenShell credential-placement assertions.
- `test/e2e/live/sandbox-operations.test.ts`: move stop/start/delete ownership to OpenShell and delete cases that exist only to exercise NemoClaw lifecycle policy.
- `test/e2e/live/registry-targets.test.ts`, `tools/e2e/target-catalogue.mts`, and `test/e2e/support/workflow-plan.test.ts`: remove or rename retired lifecycle targets and keep one native-conformance owner per behavior.
- `test/e2e/live/openshell-credential-generation-window.test.ts` and `test/e2e/live/openshell-gateway-auth-source-contract.test.ts`: retain these as the credential-placement boundary; do not generalize them into agent-runtime restrictions.

Do not add a new broad E2E target. Amend the existing owners, delete obsolete assertions, and reduce the matrix when a NemoClaw lifecycle feature is removed.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.