Skip to content

feat(api)!: use sandbox names across gateway RPCs - #3271

Closed
drew wants to merge 7 commits into
mainfrom
3050-use-sandbox-names/drew
Closed

feat(api)!: use sandbox names across gateway RPCs#3271
drew wants to merge 7 commits into
mainfrom
3050-use-sandbox-names/drew

Conversation

@drew

@drew drew commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator

Summary

Standardize public sandbox references on the human-readable sandbox name. Every sandbox-scoped gateway RPC now accepts a string sandbox_name with workspace selection carried separately, while canonical sandbox IDs remain internal metadata for authentication, persistence, and compute-driver boundaries.

Related Issue

Closes #3050

Changes

  • Replace the temporary SandboxReference wrapper and public ID references with sandbox_name strings.
  • Resolve names at the gateway and authorize the persisted sandbox workspace without exposing cross-workspace existence.
  • Reserve removed protobuf ID fields and preserve existing name-field wire tags where possible.
  • Update the CLI, TUI, Rust core and SDK, gateway interceptors, Python SDK, Go SDK, TypeScript SDK, examples, generated bindings, tests, and documentation.
  • Carry sandbox names through SSH and TCP forwarding while retaining IDs only for internal lifecycle metadata.

Testing

  • mise run pre-commit passes
  • Unit tests added/updated
  • E2E tests added/updated (not applicable; no running gateway environment was used)
  • OPENSHELL_SYSTEM_GATEWAY_DIR=/tmp/openshell-codex-3050-empty-system-config mise run test
  • mise run sdk:ts:ci (103 tests)
  • uv run --frozen pytest python/openshell/sandbox_test.py (127 tests)
  • Relevant Go SDK packages pass, and build, lint, formatting, docs, and protobuf checks pass
  • Full mise run go:ci (three unrelated gateway-discovery tests observe /etc/openshell/gateways/default on this development host)

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • Architecture docs updated (if applicable)

mrunalp and others added 7 commits September 9, 2026 13:25
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
Signed-off-by: Mrunal Patel <mrunalp@gmail.com>
* feat(supervisor): enforce MCP request protocol versions

Signed-off-by: Shiju <shiju@nvidia.com>

* fix(supervisor): enforce MCP versions across HTTP forwarding

Apply shared request-version guards before authorization and after forward-request rewriting. Require version metadata to survive HTTP header cleanup, and cover valid initialization and selected-revision forwarding through middleware.

Signed-off-by: Shiju <shiju@nvidia.com>

---------

Signed-off-by: Shiju <shiju@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Shiju <shiju@nvidia.com>
Co-authored-by: Drew Newberry <anewberry@nvidia.com>
Keep watching briefly when a compute driver reports ContainerExited without a canonical main-process result. This prevents --no-keep cleanup from deleting the sandbox before the supervisor publishes the authoritative exit status.

Signed-off-by: Shiju <shiju@nvidia.com>
* feat(docs): add version availability labels

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* fix(docs): use supported Python for sync

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* feat(docs): publish versioned docs from releases

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* fix(docs): format dev version label

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* chore(docs): upgrade Fern CLI to 5.112.0

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* fix(docs): make release publishing monotonic

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* fix(docs): preserve snapshot release identity

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* docs(fern): document versioned publishing

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* test(docs): cover explicit snapshot rollback

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* refactor(docs): use Fern refs for versions

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* fix(docs): bundle components for ref versions

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* revert(docs): keep complete version copies

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

* fix(docs): publish latest and dev channels

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>

---------

Signed-off-by: Piotr Mlocek <pmlocek@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@copy-pr-bot

copy-pr-bot Bot commented Sep 11, 2026

Copy link
Copy Markdown

This pull request requires additional validation before any workflows can run on NVIDIA's runners.

Pull request vetters can view their responsibilities here.

Contributors can view more details about this message here.

@drew drew changed the title feat(api): use sandbox names across gateway RPCs feat(api)!: use sandbox names across gateway RPCs Sep 11, 2026
@drew

drew commented Sep 11, 2026

Copy link
Copy Markdown
Collaborator Author

Superseded by #3272, which applies the same name-only sandbox reference change cleanly on the latest main branch.

@drew drew closed this Sep 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(api)!: unify sandbox references across gateway RPCs

4 participants