ADR-0013 — Complement OpenAI's SandboxClient, do not compete with it¶
Status: Accepted Date: 2026-09-19 Related: ADR-0001, hazards
Context¶
OpenAI Agents SDK v2 ships SandboxConfig with clients for Blaxel, Cloudflare, Daytona,
E2B, Modal, Runloop and Vercel plus a Manifest workspace abstraction. It is the most
important prior art: same problem, same language, backed by the largest agent ecosystem.
It is, however, coupled to that SDK. LangChain's langchain_e2b / _modal / _daytona
have the same shape and the same coupling. The open niche is the framework-agnostic,
self-hostable Python layer spanning local and managed-cloud backends — but "framework ships
a good-enough sandbox layer" is the highest-likelihood market risk on the board.
Decision¶
Treat the framework layers as distribution channels, not competitors:
- Ship
sandboxio.integrations.openai_agentsin both directions: sandboxio as a plain tool, andSbxSandboxClientexposing sandboxio backends as aSandboxClientpluggable intoSandboxRunConfig. - Same posture for LangGraph, Pydantic AI and CrewAI: the adapter returns the framework's native tool object, is under 100 lines, and contains no logic that belongs in core.
- Differentiate on what the framework layers do not do: framework-agnosticism, security
depth (deny-by-default, isolation tiers, audit), offline testing via
FakeBackend, and the contract suite. - Pre-committed pivot: if
SandboxClientbecomes the de facto multi-provider standard, retarget — sandboxio backends becomeSandboxClientimplementations and that adapter becomes the main product surface. This is a planned outcome, not a defeat.
Consequences¶
- Integration adapters are a standing maintenance cost across framework versions, tested in a weekly CI matrix with documented supported ranges.
- Being inside those ecosystems is worth more than standalone stars, and it hedges the absorption risk: if the framework layer wins, we are already part of it.
- It also constrains us. Our port protocols should stay close enough in shape to
SandboxClientthat the bidirectional adapter remains thin; a large impedance mismatch is a signal worth investigating before it calcifies.