Skip to content

refactor(sandbox): unify declared suspension lifecycle - #296

Closed
sam2tom wants to merge 7 commits into
mainfrom
codex/unified-suspension
Closed

sam2tom wants to merge 7 commits into
mainfrom
codex/unified-suspension

Conversation

@sam2tom

@sam2tom sam2tom commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Superseded: continue in #297

All active work is consolidated in #297 (codex/e2b-unified-pause), targeting main directly. This PR is closed without merging. Historical review and evidence are retained below.

Summary

Define one declared suspension protocol for direct and node Sandbox Providers. Core uses opaque, source-bound retained state and the existing lifecycle; native source cleanup belongs to the adapter. Add exact-incarnation renewal and reject incompatible persisted compute receipts before reconciliation.

This foundation leaves E2B suspension explicitly unsupported. Its adapter implementation is reviewed separately in #297. There is no resident-only Core or Store path.

Validation

  • Independent blind reviews completed; substantiated findings fixed and fresh review reports no blockers.
  • Focused Linux shared lifecycle, sandbox, Store, server and microsandbox helper tests passed.
  • New tests cover unknown operation settlement, same-ID generation fencing, source cleanup failure, renewal under repeated wake and old receipt rejection.
  • All foundation CI checks passed at 9ac120315, including backend, official client, Linux/macOS/Windows, tooling, and both Web acceptance shards. The dependent integration also passed the complete Linux make -k -j2 check at 022875c0; that combined run is separate from foundation-only CI.
  • No live provider acceptance or deployment is claimed for this foundation. Existing test-host Sessions are preserved.

Activation

Unreleased compute receipts using the previous protocol must be reclaimed by the previous release through ordinary archive/cleanup before activation. Session history is preserved. Startup refuses incompatible receipts; it does not reinterpret or migrate them.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need. Autofix is disabled.

@blacksmith-sh

This comment has been minimized.

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.

1 participant