Objective
Build the open-source provider factory for AgentWorkforce Sandbox: one minimal, stable interface for selecting and using supported sandbox providers, plus a repeatable adapter-production path that can expand the long tail safely.
This work unit must be claimed and orchestrated by the cloud Factory. Do not manually spawn it on a laptop or mini. Remote implementation execution may be placed by the cloud Factory relay backend on a named fleet node.
Product boundary
Open source:
- provider interface and registry/factory
- provider manifests, explicit capability flags, and environment-variable contracts
- manual provider selection and basic fallback
- adapter generator/scaffold and conformance tests
- benchmark/provenance schema and public verified/unknown status
- Relay, Relayfile, and RelayAuth integration contracts that preserve portability
Paid control plane, out of scope here:
- continuously learned routing and placement
- proactive migration and mid-stream transfer policy
- multi-tenant governance, billing, audit, and SLA enforcement
Requirements
- Preserve the current AdapterPort/provider contract and existing Daytona, E2B, Microsandbox, and Agent37 behavior. Integrate Box and Freestyle only from their canonical landed work; do not duplicate or overwrite in-flight adapter work.
- Provide a simple provider-agnostic construction surface and CLI vocabulary inspired by the clarity of Box: create/new, connect or ssh/scp where supported, exec/prompt, fork/snapshot, stop/suspend, list, and move as a distinct orchestration operation.
- Model unsupported capabilities explicitly. Never silently emulate a provider semantic or claim parity that has not been proven.
- Keep vendor SDKs behind provider internals. Reconcile configured capabilities with runtime support at construction time. Keep provisioning policy outside provider adapters.
- Add a provider manifest/catalog schema with pinned source provenance, credential-variable names only, lifecycle semantics, regions/images/snapshots, pricing source metadata, and verification timestamps. Never persist secret values.
- Add a generator/scaffold that produces the adapter skeleton, manifest, contract-test fixture, benchmark stub, cleanup ledger integration, and documentation checklist for a new provider.
- Add an evidence gate: a provider cannot be advertised as verified until conformance tests and safe live benchmark artifacts prove create, ready, execute, lifecycle/cleanup, and must-fire/must-not-fire teardown behavior. Unknown stays UNKNOWN.
- Reuse lessons from Amika provider architecture and its Freestyle hazards: SDK/runtime type drift, soft-deleted list rows, stop/start races, suspend/start workarounds, non-streaming execution, and opaque snapshot identifiers.
- Document the one-path contribution workflow for adding a provider and the OSS versus hosted boundary.
- Add focused tests and run the repository CI appropriate to changed files.
Acceptance evidence
- GitHub issue claim by the deployed cloud Factory
- stable Factory run/work-unit correlation
- implementation agent name and named remote fleet node
factory/<issue>-... branch and PR opened by the configured GitHub App path
- tests and conformance results attached
- no merge; terminal state is human review
- no credentials in files, argv, logs, reports, or issue/PR text
Coordination
Current Box and Freestyle provider lanes are already active. Treat their work as dependencies and avoid overlapping edits. Read the existing benchmark artifacts and the cloud Factory history before changing code. Never git stash.
Competitive correction: ComputeSDK integration gate
Before implementing a new provider framework or adapter factory, audit the current MIT-licensed computesdk/computesdk provider contract, packages, conformance utilities, benchmark schemas, and add-provider scaffold. It currently exposes an open multi-provider benchmark harness plus unified TypeScript sandbox API and documents roughly two dozen providers.
Do not duplicate that ecosystem by default. Produce an explicit adopt / bridge / extend / replace decision backed by contract and dependency analysis:
- Prefer a compatibility bridge or upstream contribution when ComputeSDK already provides the commodity create/list/get/destroy/exec/filesystem adapter behavior.
- Own AgentWorkforce-specific semantics above it: durable agent-session checkpoints, Relay identity and messaging continuity, Relayfile state, RelayHistory trajectory, RelayAuth reauthorization, lifecycle normalization, evidence-gated cleanup, time-to-resumed-execution measurement, and policy-driven routing/failover.
- Keep an AgentWorkforce-native adapter only where ComputeSDK cannot express a required capability or fails the safety/conformance bar; document the precise gap.
- Public benchmarks are evidence feeding the router, not the primary product. Avoid building a competing generic provider leaderboard.
Acceptance now includes a written dependency/interop decision before code and a proof that the chosen boundary does not fork commodity provider logic unnecessarily.
State substrate correction: Mesa and Archil
Treat portable workspace storage as a pluggable substrate, not a proprietary prerequisite. Before implementing content-addressed blobs, virtual filesystems, checkpoint storage, or merge/version engines, audit Mesa and Archil and record a build / partner / adapter decision.
- Mesa already provides a cross-sandbox versioned POSIX filesystem, checkpoints, forks, merges, and concurrent-agent workflows.
- Archil already provides strongly consistent versioned disks, branches/checkpoints, data-source mounts, serverless execution, and persistent sandboxes. Its published ComputeSDK integration demonstrates a unified filesystem across multiple providers.
- Define PortableAgentSession around an opaque workspace backend reference plus AgentWorkforce-owned continuity state: Relay identity/address, RelayHistory cursor and execution trajectory, RelayAuth capability rebind, process/service manifest, routing state, policy, and audit.
- Support Relayfile as a native backend and make Mesa, Archil, S3/Git, or other state substrates adapter candidates. Do not hard-wire AgentWorkforce continuity to a single storage vendor.
- Treat Archil as both a possible storage backend and a compute provider. Preserve explicit capability differences.
- The owned moat is cross-provider agent-session continuity, coordination, authorization, placement, recovery, and measurable resumed useful work—not generic filesystem persistence.
Acceptance now also includes a state-backend interface decision and a benchmark plan comparing Relayfile, Mesa, and Archil across at least two compute providers: mount-to-first-file, checkpoint/fork latency, cross-provider remount, time-to-resumed-useful-execution, correctness/RPO, concurrent-writer behavior, secret reauthorization, and total storage/egress/compute cost. Vendor performance claims remain unverified until reproduced.
Objective
Build the open-source provider factory for AgentWorkforce Sandbox: one minimal, stable interface for selecting and using supported sandbox providers, plus a repeatable adapter-production path that can expand the long tail safely.
This work unit must be claimed and orchestrated by the cloud Factory. Do not manually spawn it on a laptop or mini. Remote implementation execution may be placed by the cloud Factory relay backend on a named fleet node.
Product boundary
Open source:
Paid control plane, out of scope here:
Requirements
Acceptance evidence
factory/<issue>-...branch and PR opened by the configured GitHub App pathCoordination
Current Box and Freestyle provider lanes are already active. Treat their work as dependencies and avoid overlapping edits. Read the existing benchmark artifacts and the cloud Factory history before changing code. Never git stash.
Competitive correction: ComputeSDK integration gate
Before implementing a new provider framework or adapter factory, audit the current MIT-licensed
computesdk/computesdkprovider contract, packages, conformance utilities, benchmark schemas, and add-provider scaffold. It currently exposes an open multi-provider benchmark harness plus unified TypeScript sandbox API and documents roughly two dozen providers.Do not duplicate that ecosystem by default. Produce an explicit adopt / bridge / extend / replace decision backed by contract and dependency analysis:
Acceptance now includes a written dependency/interop decision before code and a proof that the chosen boundary does not fork commodity provider logic unnecessarily.
State substrate correction: Mesa and Archil
Treat portable workspace storage as a pluggable substrate, not a proprietary prerequisite. Before implementing content-addressed blobs, virtual filesystems, checkpoint storage, or merge/version engines, audit Mesa and Archil and record a build / partner / adapter decision.
Acceptance now also includes a state-backend interface decision and a benchmark plan comparing Relayfile, Mesa, and Archil across at least two compute providers: mount-to-first-file, checkpoint/fork latency, cross-provider remount, time-to-resumed-useful-execution, correctness/RPO, concurrent-writer behavior, secret reauthorization, and total storage/egress/compute cost. Vendor performance claims remain unverified until reproduced.