Orchestration manifest
brainbase-orchestration.yaml is the committed source of truth for an orchestration's members, handoff edges, and schedule triggers. Member agents live under ./agents/<slug>/ and keep their own brainbase.agent.yaml files.
.brainbase/, not in this manifest. An unlinked manifest can be claimed with brainbase orchestration create; pulling an existing orchestration creates both the manifest and its local link state.Full example
schema: 1
orchestration:
name: Daily PR Janitor
description: Closes stale PRs and reports the results
credit_limit: 10
members:
- slug: janitor
name: PR Janitor
edges: []
triggers:
- type: schedule
node_id: 2d92a515-6f69-4e1e-9ba3-193de84151f4
is_active: true
config:
cron_expression: "0 9 * * *"
to:
- agent: janitor
description: Run the daily stale-PR pass
Folder layout
orchestration/
brainbase-orchestration.yaml
.brainbase/
agents/
janitor/
brainbase.agent.yaml
.brainbase/
Every members[].slug must match a folder under agents/. Before orchestration create or push, each member folder must contain a claimed agent with local link state.
orchestration
schemainteger · 1requiredManifest schema version. Must be 1.
orchestration.namestringrequiredDisplay name. Must be non-empty.
orchestration.descriptionstringoptionalShort description of the workflow.
orchestration.iconstringoptionalIcon identifier round-tripped from the cloud.
orchestration.icon_colorstringoptionalIcon color round-tripped from the cloud.
orchestration.credit_limitnumberoptionalOptional orchestration credit limit.
members
members[].slugstringrequiredStable local alias for the member. It must match the directory name under agents/ and is used by edges and triggers.
members[].namestringoptionalOptional display label. The member agent manifest remains authoritative.
edges
edges[].frommember slugrequiredSource member. Self-loops are rejected.
edges[].tomember slugrequiredDestination member.
edges[].descriptionstringoptionalHuman-readable handoff description.
edges[].payload_schemaobjectoptionalJSON Schema for the handoff payload. The server validates it.
edges[].settingsobjectoptionalEdge behavior settings, including task-permission options configured in the app. Pull and push preserve this object.
triggers
Schedule triggers are writable. App and other non-schedule triggers may appear after a pull as read-only context; orchestration push ignores those entries and reconciles only schedule triggers.
triggers[].typestringrequiredUse schedule for a writable CLI-managed trigger.
triggers[].node_idUUIDrequiredStable trigger-node id. Schedule trigger ids must be UUIDs.
triggers[].is_activebooleanoptionalWhether the trigger fires. Defaults to false when omitted.
triggers[].config.cron_expressionstringrequiredStandard five-field cron expression.
triggers[].config.configured_propsobjectoptionalIntegration-specific schedule configuration preserved when present. Author fields only when the trigger provider documents them.
triggers[].to[].agentmember slugrequiredMember agent started by this trigger.
triggers[].to[].descriptionstringoptionalDescription passed with the trigger edge.
triggers[].to[].payload_schemaobjectoptionalOptional JSON Schema for the trigger payload.