selected work · 2026
Switchyard
One typed API across every agent runtime — Claude, Codex, OpenCode, browser/search agents, custom HTTP runtimes.
summary
- Defines one typed contract for agent runs, events, artifacts, debates, and approvals across mixed runtimes.
- Lets apps route work across Claude, Codex, OpenCode, browser agents, and private HTTP runtimes by policy.
- Separates runtime placement from product code so teams can choose local, hosted, or hybrid execution per task.
- Collects approval gates and event streams in one layer, making cross-provider automation easier to observe.
problem
- Multi-agent products collect provider-specific SDKs until routing, auth, events, and approvals become tangled.
- Changing from one runtime to another becomes a rewrite because each backend exposes a different lifecycle.
- Destructive actions need one approval story, not separate commit, push, web, and spend controls per tool.
approach
- Protocol-neutral Run, Debate, Event, and Artifact types form the contract every adapter must satisfy.
- Runtime adapters translate local processes, HTTP services, and ACP traffic into the shared event model.
- Placement policy chooses runtime, locality, and budget path while approval gates guard risky actions.
outcome
- Apps integrate once and move work between runtimes through configuration, tenant policy, or task type.
- Operators can trace lifecycle events across providers instead of comparing unrelated logs after failure.
- Teams keep runtime optionality without giving up approval control, budget visibility, or debugging context.