Skip to content

Activities and Jobs

An activity is a reusable execution unit. Schema v2 activities declare schemaVersion: 2, kind: Activity, metadata, and a typed spec.

Supported activity types:

TypeUse
agent_loopRun 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.
groundhogRun checkpointed HTTP agent attempts with reset and retry behavior. Not part of the v1 release surface — depends on the HTTP transport.
deterministicRun a registered deterministic action.
shellRun 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: ...
  • parallel
  • fan_out and fan_in
  • loop

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.

.orbit/activities/analyze_code.yaml
schemaVersion: 2
kind: Activity
name: analyze_code
spec:
backend: cli
provider: gemini
model: gemini-3.1-pro
instruction: "Analyze the provided code."
---
# .orbit/jobs/review_pr.yaml
schemaVersion: 2
kind: Job
name: review_pr
steps:
- id: analysis
target: activity:analyze_code