Skip to content

Coordination vs orchestration

These terms are often used interchangeably. In distributed agent systems they describe different problems — and mixing them produces architectures that are hard to reason about.

Three layers

Layer Question Typical mechanism
Capability invocation “Can you do this now?” MCP, HTTP API, tool call
Coordination “What is happening across agents and time?” Events, tasks, state, leases, delegation
Orchestration “In what order should this durable process run?” Workflow engine, state machine

Capability invocation

MCP is a good fit for synchronous capability calls: discover a tool, invoke it, get a result. It is deliberately narrow. It does not define how a task survives a restart, how state is shared, or how an agent delegates to another agent.

Coordination

Coordination is about shared state over time: who is doing what, what changed, what is stale, what is blocked, what needs recovery. Harmovela defines a protocol for this with seven dimensions (event, task, state, context/memory, delegation, recovery, governance).

Coordination does not prescribe a workflow. It gives independent participants a shared vocabulary.

Project: Harmovela. For coordination of development work itself, see COORDIVELA.

Orchestration

Orchestration is about durable execution: a process with steps, retries, compensation, recovery, and a recorded history. It is appropriate when the work has a defined lifecycle and must survive failure.

Project: RHEOVELA.

Choosing

  • If the problem is “call this tool,” use a capability interface.
  • If the problem is “several agents need to agree on what is happening,” use a coordination protocol.
  • If the problem is “this process must run for days and recover,” use a durable workflow engine.

Many real systems need all three. The mistake is using a workflow engine as a message bus, or a tool protocol as a coordination layer.