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
TreatHarborBackend 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 anExecutionRequest, 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:
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.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.