Skip to content

feat(isolation): implement the RFC 0012 sandbox architecture - #2942

Merged
drew merged 155 commits into
mainfrom
codex/1737-rfc12-supervisor-primitives
Sep 16, 2026
Merged

drew merged 155 commits into
mainfrom
codex/1737-rfc12-supervisor-primitives

Conversation

@drew

@drew drew commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Implement RFC 0012 as one combined change. This PR defines the Isolation Backend and adds the OpenShell implementation: the Sandbox Protocol, OpenShellRuntimeBackend, separate openshell-supervisor and openshell-sandbox binaries, transport-neutral JWT authentication, and the Docker, Podman, Kubernetes, and VM integrations.

The supervisor stays outside the agent workload. Each compute driver creates the runtime resources, protected channel, and outer network fence needed by its platform.

Related Issue

Part of #1737. Implements the architecture accepted in #2048.

Changes

  • Add the openshell-isolation-interface crate and backend conformance tests.
  • Add OpenShellRuntimeBackend and the authenticated OpenShell Sandbox Protocol.
  • Add separate supervisor and sandbox runtime binaries.
  • Bind gateway and sandbox JWT profiles to sandbox identity, runtime generation, session lineage, credential epoch, and expiry.
  • Add process ownership, binary identity, TCP and DNS mediation, loopback connections, and fail-closed reconnect behavior.
  • Integrate the architecture with VM, Docker, Kubernetes, and Podman.
  • Add TCP and DNS performance harnesses.
  • Publish separate glibc supervisor and static musl sandbox artifacts.

Driver placement

  • VM: host supervisor, guest sandbox runtime, authenticated vsock, no guest NIC.
  • Docker: companion supervisor container, workload container, authenticated Unix socket, network_mode=none on the workload.
  • Kubernetes: supervisor Pod, workload Pod, private mTLS Service, and NetworkPolicy fence.
  • Podman: separate supervisor and workload containers, authenticated Unix socket, no workload network.

Testing

  • mise run pre-commit
  • Targeted isolation, authentication, and driver tests
  • Driver E2E workflows from the original stack
  • Remote CI is the final source of truth for the combined PR.

Checklist

  • Follows Conventional Commits
  • Authored commits are signed off (DCO)
  • Driver-specific implementation stays in its respective driver crate and supporting deployment/tests

Consolidated stack

The following stacked PRs are now merged into this PR:

#2941 is superseded by the canonical RFC merged in #2048. #3151 was folded into this PR.

@copy-pr-bot

copy-pr-bot Bot commented Aug 26, 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.

@copy-pr-bot

copy-pr-bot Bot commented Aug 31, 2026

Copy link
Copy Markdown

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.

@drew
drew force-pushed the codex/1737-rfc12-supervisor-primitives branch 2 times, most recently from fbcc382 to efba1d8 Compare September 1, 2026 08:06
@drew
drew marked this pull request as ready for review September 3, 2026 01:46
@drew
drew requested review from a team, derekwaynecarr, mrunalp and sjenning as code owners September 3, 2026 01:46
@drew
drew force-pushed the codex/1737-rfc12-supervisor-primitives branch from 00b12d3 to b06e0b1 Compare September 3, 2026 14:34
@drew drew added the test:e2e Requires end-to-end coverage label Sep 3, 2026
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown

Label test:e2e applied for b06e0b1. Open the existing run and click Re-run all jobs to execute with the label set. The run will execute the standard E2E suite after building the required gateway and supervisor images once. The matching required CI gate status on this PR will flip green automatically once the run finishes.

@drew
drew force-pushed the codex/1737-rfc12-supervisor-primitives branch from b06e0b1 to 8e95cd7 Compare September 5, 2026 16:08
@drew

drew commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

3 similar comments
@drew

drew commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew

drew commented Sep 5, 2026

Copy link
Copy Markdown
Collaborator Author

/ok to test

@drew
drew force-pushed the codex/1737-rfc12-supervisor-primitives branch from e4cc065 to 62a943a Compare September 8, 2026 22:32
@drew
drew added this pull request to the merge queue Sep 16, 2026
@johntmyers johntmyers added gator:merge-ready and removed gator:approval-needed Gator completed review; maintainer approval needed labels Sep 16, 2026
@johntmyers

Copy link
Copy Markdown
Collaborator

gator-agent

Monitoring Complete

Monitoring is complete because this PR has merged.

Final status: Gator found no remaining blocking feedback, the required checks were green, and maintainer approval was present before merge.

I removed the active gator:* label because there is nothing left for gator to monitor on this PR.

Gator metadata
  • Head SHA: 7984c15894b9092092753253acf47340b27e67bd
  • Gator payload: 9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test:e2e Requires end-to-end coverage test:e2e-kubernetes Requires Kubernetes end-to-end coverage

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants