Aarush Thinks

When Coordination Leaves the Physical World

Software agents face synchronization where physical ones face optimization and the layered architecture that follows from taking that difference seriously.

28 May 2026 · 7 sections
Contents 7 sections

The Problem of Split Reality

What changes about coordination when agents have no bodies.

CBBA is built for the physical world, where movement costs energy and collisions are dangerous. It answers a specific question: who is best suited for this task, given distance and battery life.

Software agents do not have that problem. They do not worry about wind resistance or battery drain, and two of them occupying the same digital space does not end in wreckage.

This is where Conflict-Free Replicated Data Types and Directed Acyclic Graphs become essential not as replacements for smart decision-making, but as a layer underneath it.

QuestionAnswered by
Who should do this task?CBBA
What is the current agreed truth of ownership?CRDT

The split

A swarm of software agents monitors a distributed database. Agent A detects an error in Record 1 and claims responsibility for fixing it. At the same moment, Agent B, on a different server, detects the same error and claims it too.

In a centralized system a master controller assigns the task to one of them. In a decentralized system there is no master.

Both agents broadcast. Because messages take time to travel, some agents hear from A first and others hear from B first.

Conflict Resolved by Math

Fixed merge rules make arrival order irrelevant.

A CRDT is a data structure built to handle conflicts automatically, using fixed merge rules. If every agent applies the same rules to the same updates, they all reach the same final result and the order in which messages arrive stops mattering.

Take “last write wins.” Agent A claims Record 1 at timestamp 100. Agent B claims it at timestamp 105.

AgentOrder receivedComparisonResult
CA, then B105 is newer than 100B owns the task
DB, then A105 is newer than 100B owns the task

Every agent converges on the same truth.

If two timestamps are identical, a tie-breaker settles it the agent’s unique ID will do. What matters is not which rule is chosen but that it is applied consistently.

The Waiting Game

Eventual convergence is not instant convergence.

There is a practical gap between converging eventually and converging now. Network propagation takes time.

Suppose Agent A claims a task and starts executing immediately. Agent B may already have made a stronger claim whose message has not arrived yet. Agent A is acting confidently on a view that is already out of date.

Robust systems introduce a waiting period. The agent claims the task but does not begin work; it waits 2τ, where τ is the worst-case network delay. That window is long enough for a conflicting claim to reach it. If none arrives, the claim is safe, the task locks, and work begins.

In fast software swarms this might be milliseconds; on slower networks, seconds.

The Emerging Graph

Nobody designs the DAG. It falls out of who could reach whom.

The Directed Acyclic Graph in this picture is not drawn by anyone. It emerges from communication reachability.

Each event a task claim becomes a node. The dependencies between events form the edges. Because time moves forward and the past cannot be edited, the graph never loops back on itself.

The shape stays dynamic. Agents join and leave, and the connections change with them. The CRDT layer handles that fluidity by guaranteeing that when two parts of the network reconnect, their histories merge without error two branches of a river running separately and then rejoining, mixing without interrupting the flow.

Why This Fails for Physical Robots

Consistency and optimization are different properties, and only one of them is on offer here.

There is a reason this approach was not used for the physical drones.

CRDTs are excellent at maintaining consistent state and poor at optimization. A CRDT does not care that Agent A is closer to the task than Agent B, or that it has more compute available. It cares only about the order of events.

For physical robots, spatial dependencies are the whole problem. Distance, battery life and timing matter, and CBBA’s utility bidding and marginal gain calculations exist to price exactly those things.

The Layered Architecture

Separating consistency from optimization so neither has to do the other's job.

Real systems are rarely one thing. They are stacks, and the reason to name the layers is that each answers a question the others cannot.

EXECUTIONOPTIMIZATIONSTATECOMMUNICATIONperform the workCBBA, utility functionsCRDTs, replicated structurespeer-to-peer gossipdo itwho should?what is true?who can hear whom?
Figure. Four layers, bottom to top. Consistency is established below the point where decisions are made.

At the bottom, the communication layer handles peer-to-peer gossip and moves messages between agents.

Above it, the state layer is where replicated coordination structures such as CRDTs can live. They hold a shared copy of system state and ensure the data eventually matches even when messages are delayed or dropped.

Above that, the optimization layer holds CBBA or other utility functions. These read the shared state and decide which agent is best suited for the task.

At the top, the execution layer does the work moving a physical arm or processing a data packet.

Which Kind of Swarm Are You Building?

The design question that comes before the tooling question.

The distinction explains why modern multi-agent AI architectures lean toward CRDTs and DAGs. Software agents behave more like distributed systems nodes than like robots moving through space.

Software swarmPhysical swarm
Dominant costCoordination and shared stateMovement and physical constraint
Cost of moving dataLowHigh
Cost of a suboptimal decisionUsually lower than a collisionPotentially catastrophic
What the system needs mostSynchronizationOptimization

Software swarms support large-scale coordination without constant centralized control, letting thousands of agents work without a central bottleneck, resilient to failure and flexible in design. Physical swarms are bound by physics, which is why utility-based bidding and route optimization stay essential there.

Building a software swarm: use CRDTs as the foundation of truth, let them absorb network delays and conflicting messages, and put the optimization logic on top.

Building a physical swarm: consistency alone is not enough. Use CRDTs to manage state and rely on utility bidding to make the decisions.

Coordination does not require control. It requires consistent rules, and the willingness to share the truth.

This piece was originally published on Medium. You can read it there here.