Skip to content

feat(isolation): add RFC 0012 backend contract - #2941

Open
drew wants to merge 7 commits into
mainfrom
codex/1737-rfc12-contract
Open

feat(isolation): add RFC 0012 backend contract#2941
drew wants to merge 7 commits into
mainfrom
codex/1737-rfc12-contract

Conversation

@drew

@drew drew commented Aug 26, 2026

Copy link
Copy Markdown
Collaborator

Summary

Define RFC 0012's runtime-selectable Isolation Backend contract and its security invariants. This is PR 1 of 6 in the stack and introduces the shared interface without activating a backend.

Stack: this PR#2942#3151#2945#2965#3144.

The contract has one boundary entry operation, attach. A trusted TopologyDescriptor identifies or prepares the isolation resource, while the compute driver retains durable provisioning, deletion, and reconciliation ownership.

Related Issue

Part of #1737. The issue does not currently carry state:accepted or roadmap placement; this implementation proceeds under direct maintainer instruction without changing those labels.

Changes

  • Add RFC 0012, codebase grounding, and the backend topology matrix.
  • Add the single openshell-isolation-interface crate with consuming BoundReadyRunning lifecycle states.
  • Require exact descriptor/backend/version resolution with no fallback.
  • Define placement-neutral process, exec, PTY, signal, wait, loopback forwarding, mediated network, and DNS contracts.
  • Carry trusted binary identity and backend-provided host-gateway dial targets without changing policy-visible hostnames.
  • Distinguish unsupported operations from transient unavailability and strictly validate SHA-256 identity digests.
  • Add conformance and fail-closed contract tests; backend implementations remain in their existing driver crates.

Testing

  • cargo test -p openshell-isolation-interface — 22 passed
  • mise run pre-commit

Checklist

  • Follows Conventional Commits
  • Commits are signed off (DCO)
  • RFC, architecture grounding, and agent crate inventory are updated

@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 and others added 7 commits September 3, 2026 07:20
Signed-off-by: Drew Newberry <385+drew@users.noreply.github.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
Signed-off-by: Drew Newberry <anewberry@nvidia.com>
@drew
drew force-pushed the codex/1737-rfc12-contract branch from 807b489 to a5dc6db 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 a5dc6db. 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.

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant