Skip to main content
Flat reference of every field the composer accepts in an orx.yaml. Kept short and grep-friendly — each row links back to the matching narrative section in Composer when you want context.
The canonical source is orxhestra/composer/schema.py. If this page ever drifts from the code, the code wins — file an issue so we can fix the doc.

ComposeSpec (root)

DefaultsConfig

ModelConfig

ToolDef

Exactly one of function / mcp / builtin / agent / transfer / custom must be set.

MCPConfig

Exactly one of url / server must be set.

TransferConfig

AgentDef

Shared shape — per-type required fields are enforced by the schema validator.
Fields set on an agent type that ignores them (e.g. tools on a sequential agent) emit a warnings.warn at schema time. Run with -W error to turn those into hard failures.

PlannerDef

SkillItemDef

Exactly one of content / mcp / directory must be set.

RunnerConfig

CompactionConfigDef

RunConfigDef

ServerConfig

IdentityConfig

TrustConfig

Only installed when an identity: block is also present (verification requires keys).

AttestationConfig

Dotted paths must resolve to a class implementing the AttestationProvider protocol.

Environment-variable expansion

Any string in identity.signing_key, identity.encryption_password, and attestation.path goes through os.path.expandvars, so ${ORX_SIGNING_KEY} / $HOME/.orx/... work. Other fields are taken literally; interpolate with YAML anchors or templating if you need more than three spots.

See also