Skip to content

feat: unified sandbox suspension and E2B idle pause/resume - #297

Open
sam2tom wants to merge 21 commits into
mainfrom
codex/e2b-unified-pause
Open

sam2tom wants to merge 21 commits into
mainfrom
codex/e2b-unified-pause

Conversation

@sam2tom

@sam2tom sam2tom commented Sep 30, 2026 •

Copy link
Copy Markdown
Collaborator

Behavior

Hosted Sessions use one shared suspension lifecycle across Sandbox Providers. Initialized Sessions become eligible for idle suspension even before their first Turn; queued or active work, initialization, file operations, wake requests and lifecycle locks continue to prevent premature suspension. Retained allocations expire through the existing cleanup flow while Session history remains available.

The E2B adapter implements SDK pause/connect, durable suspension receipts, same-ID generation fences and uncertain-outcome recovery. Protocol declarations, node transport and other Provider implementations use the same typed operations.

Direct Provider capacity uses the current .env and shared process configuration: OAC_SANDBOX_MAX_ACTIVE defaults to 100 and OAC_SANDBOX_MAX_RETAINED to 400. Both accept 1–100000, retained must be at least active, and effective installation settings report the same values. Main's Go CLI and configuration migration are preserved.

Validation

  • Regression coverage includes zero-Turn idle suspension, retained-state expiry, source release and preserved Session history, alongside existing work-admission fences.
  • Focused Go configuration, server, CLI, Console, deployment and execution tests passed; Compose, documentation, CI-policy, naming and website checks passed.
  • Fresh independent review of the complete diff against main found no actionable issues. Latest CI passed every selected check for head 14199e42bcb84d5daa7dfc2c851751c30cb3939f, including all three PostgreSQL store shards, Core/Runtime, official client, Compose, distribution and Linux/macOS/Windows. Unaffected Web, Harness and example groups were skipped by CI selection.

Test deployment

Ubuntu test Core and Console run revision 20a053c330ccefaefcdf509d27dc346ae1969690, qualified by full CI. The five previously running zero-Turn allocations automatically suspended after activation; all 21 unreleased allocations were suspended, with zero running. Public Web, health and authenticated metrics passed. Schema remains 91; the database backup and previous release are retained.

The subsequent main conflict resolution is not deployed. No fresh model Turn was created during deployment acceptance. This PR is not merged.

@blacksmith-sh

This comment has been minimized.

@sam2tom sam2tom changed the title Implement E2B idle suspension through the shared lifecycle feat: unified sandbox suspension and E2B idle pause/resume Sep 30, 2026
@sam2tom
sam2tom changed the base branch from codex/unified-suspension to main September 30, 2026 15:12
@sam2tom
sam2tom marked this pull request as ready for review September 30, 2026 15:35
@blacksmith-sh

This comment has been minimized.

@mintlify

mintlify Bot commented Oct 1, 2026 •

Copy link
Copy Markdown

Preview deployment for your docs. Learn more about Mintlify Previews.

Project Status Preview Updated
openagentcore 🟢 Ready View Preview Oct 1, 2026, 6:11 AM

💡 Tip: Enable Automations to automatically generate PRs for you.

This branch was successfully deployed

1 active (outdated) deployment
staging — 11b24ff2 Deployed Oct 1, 2026 by mintlify[bot]
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