Activities and Jobs
Activity
Section titled “Activity”An activity is a reusable execution unit. Schema v2 activities declare schemaVersion: 2, kind: Activity, metadata, and a typed spec.
Supported activity types:
| Type | Use |
|---|---|
agent_loop | Run an agent with an instruction, provider, backend, and tool allowlist. v1 only supports backend: cli, but the schema default for backend: is http — pin cli explicitly. |
groundhog | Run checkpointed HTTP agent attempts with reset and retry behavior. Not part of the v1 release surface — depends on the HTTP transport. |
deterministic | Run a registered deterministic action. |
shell | Run an allowlisted shell program. |
A job is a workflow. It has schedule state, optional default input, concurrency limits, and ordered steps.
Step bodies can reference an activity, inline an activity spec, or compose control flow:
target: activity:<name>spec: ...parallelfan_outandfan_inloop
Why Both Exist
Section titled “Why Both Exist”Activities make execution behavior reusable. Jobs make orchestration explicit. This keeps the dispatch surface inspectable and avoids hiding agent behavior inside code.
Example: A job step referencing a reusable activity.
schemaVersion: 2kind: Activityname: analyze_codespec: backend: cli provider: gemini model: gemini-3.1-pro instruction: "Analyze the provided code."
---# .orbit/jobs/review_pr.yamlschemaVersion: 2kind: Jobname: review_prsteps: - id: analysis target: activity:analyze_code