NVIDIA / NVIDIA/NemoClaw

Phase 2 slice 3: Migrate sandbox policy and configuration to SDK and gRPC

Open
#9,826 0 comments 0 reactions 1 assignee Claimed by @rsliter View on GitHub
area: architecture area: policy integration: openclaw
Dominant language
TypeScript
Stars
22.5k
Forks
3.1k
Avg merge
1d 1h
Merged PRs (30d)
715

Description

> [!WARNING]
> this issue is pending scoping and should only be picked up by rsliter.

Parent Epic: #9802

## Outcome

Use the curated SDK and main-service gRPC client for sandbox policy and configuration operations that satisfy the Phase 1 contract.

## Draft scope

- Map curated `getConfig` and `setPolicy` behavior to NemoClaw-owned policy requests and results.
- Use `client.raw` for released policy status or history RPCs without curated equivalents.
- Preserve policy source, effective value, version, hash, wait, and concurrency semantics for each migrated consumer.
- Keep policy file loading and merge decisions in NemoClaw when the current contract can be reproduced without the CLI.
- Retain CLI-specific `--base` and `--full` behavior when no SDK or gRPC contract provides equivalent state.
- Run shared policy contracts against each selected implementation.

## Acceptance evidence

- Equivalent configuration reads return the same policy source, version, settings, and effective decisions.
- A successful update observes the expected applied policy hash or revision before returning success.
- Malformed, rejected, conflicting, timed-out, and inconclusive updates cannot become success.
- Static policy fields cannot be weakened through a sandbox-scoped update.
- A timed-out policy mutation is reconciled before retry and never falls back to another transport automatically.

## Test plan

- Shared CLI, SDK, and gRPC policy and configuration contracts.
- SDK and gRPC tests for conversion, concurrency, wait, timeout, cancellation, and typed errors.
- Existing policy, CUA readiness, configuration, and policy-channel tests.
- Focused live evidence for policy application and denied network behavior.

## Dependencies and sequencing

Blocked by Phase 2 Slice 1. The sandbox lifecycle slice also depends on this policy contract.

## Deferred scope

- Local gateway registration and lifecycle.
- Sandbox log settings.
- CLI policy methods without semantic parity.

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.