Skip to main content
An execution backend decides where an AgentWorkflow runs, how a request becomes an executable task, and where reward computation happens.
osmosis eval submit and osmosis train submit do not take a backend flag. Your rollout entrypoint constructs the backend when the Platform starts its rollout server. You also choose a backend when embedding the open source SDK in a self-hosted harness.

Choose a Backend Path

Treat HarborBackend as two distinct paths. Both Harbor modes isolate every rollout in a Harbor trial, but they assign ownership of the instruction differently.
Template mode resembles LocalBackend only in its input model: one rollout definition processes changing dataset prompts. Its execution model is still Harbor, with a separate task copy and sandboxed trial for every request.

Shared Server Contract

All backends receive an ExecutionRequest, run one agent execution, and return at most one RolloutSample. A server created with create_rollout_server() handles controller callbacks and performs best-effort ATIF persistence after execution. Calling backend methods directly does not install that server lifecycle. Backends do not discover workflow, grader, or config objects. The entrypoint selects them explicitly:
Multiple workflow and grader classes can coexist in the entrypoint module. Constructor arguments determine which ones run; the SDK does not scan the module namespace.

Decision Guide

1

Start in process

Use LocalBackend while developing the workflow and grader. It gives you direct exceptions, breakpoints, and the shortest feedback loop.
2

Add one reusable environment

Move to Harbor template mode when every row should run in the same task environment but needs an isolated filesystem, process tree, or dependency set.
3

Preserve authored Harbor tasks

Use Harbor dataset mode when each task already owns its instruction and usually its verifier. This is the closest path for integrating a local Harbor dataset that already works with harbor run.
Dataset mode reuses Harbor task directories; it does not ingest a complete Harbor job config or arbitrary harbor run CLI arguments. HarborBackend replaces job orchestration and supports an Osmosis AgentWorkflow or one of its registered native Harbor agents.

Backend Guides

LocalBackend

Configure in-process execution, grading, concurrency, artifacts, and errors.

HarborBackend

Configure template or dataset mode, native agents, task verifiers, and sandbox capacity.
Last modified on August 10, 2026