Skip to main content
Reality Oracle
OverviewCitizensReality FeedVerified ActorsIntel SubscribersMarket PredictionInvestment FundsHow It WorksGates
Products
Backtest ForensicsLiving MapDrift AlertsPath QueriesCustom AxesRisk Maps
Solutions
Compliance OfficersRisk Managers / CROPortfolio ManagersCTOs & Engineering
Enterprise
Enterprise OverviewReality Oracle · SuperappThe AppsArchitectureAudit ManifestTrust CenterPricing
Developers
DocumentationAPI ReferenceSDKsArchitectureAudit Manifest
Resources
BlogUse CasesCustomer StoriesPressChangelog
Company
AboutFoundersCareersContact
Trust
Trust Center
More
PricingJoin Waitlist
··12 min read

CRDT convergence: how the swarm agrees without a coordinator

Conflict-free merged agent traces — disagreement becomes data, not a deadlock.

CRDT convergence: how the swarm agrees without a coordinator

A distributed system that needs a coordinator to agree is a distributed system that stops when the coordinator stops. CRDT convergence is the alternative: a merge function that is commutative, associative, and idempotent, so the order of arrival does not matter and the result is the same. The swarm agrees because the math agrees, not because a leader sequenced it.

The 23-agent swarm produces 23 traces. They have to become one agent-trace record for the manifest. The naive approach is a coordinator that collects traces in order and merges them sequentially — which works until the coordinator is slow, the network reorders, or a trace arrives late. CRDT (conflict-free replicated data type) merge is the approach that does not care. The merge function is commutative, associative, and idempotent. The order of arrival does not matter; a late trace still merges; a duplicate trace does not change the result. The swarm converges because the merge is built to converge.

The properties that make it work

Commutativity means the order traces arrive does not affect the merged result. Associativity means the grouping of merges does not affect the result. Idempotency means merging the same trace twice is the same as merging it once. Together, they mean the merge is a function of the set of traces, not the sequence. A coordinator that collects in order and a system that collects in any order produce the same merged record. That is the property that makes the agent-trace reproducible — the same set of traces always merges to the same record, regardless of network ordering.

Three traces, any order, one result. The merge is a function of the set, not the sequence — which is why the network cannot change the answer.
Three traces, any order, one result. The merge is a function of the set, not the sequence — which is why the network cannot change the answer.

Disagreement is data, not a deadlock

A merge that picks a winner discards the losers. A CRDT merge of agent traces preserves all of them — the merged record is a set with structure, not a vote. When two agents disagree about a scenario, the disagreement is visible in the merged trace; it is not resolved by fiat. That is why the ensemble has entropy: the disagreement among agents is the signal, and the merge preserves it rather than collapsing it. A coordinator-based merge would have to decide who was right; a CRDT merge does not need to, because it does not claim to — it records.

The merge is a function of the set, not the sequence. The network cannot change the answer, and the coordinator is not needed to produce it.

  • Commutative: order of arrival does not affect the merged result.
  • Associative: grouping of merges does not affect the result.
  • Idempotent: a duplicate trace does not change the merged record.

What reproducibility requires

The manifest agent-trace field is the CRDT-merged record. Reproducibility requires that the same set of agent traces merges to the same record, which is exactly what the CRDT properties guarantee. An auditor with the 23 traces and the merge function can reproduce the merged record bit-for-bit. That is why the agent-trace is part of the manifest and not a side log: the merge is deterministic, so the record is reproducible, so the manifest claim holds.

Why the coordinator is the liability

A coordinator is a process that must be alive, reachable, and correct for the system to converge. It is a single point of failure — if it is down, the swarm cannot merge — and a bottleneck — if it is slow, the swarm waits. The CRDT removes both: there is no process that must be alive, because every agent can merge independently; there is no bottleneck, because the merge is parallel and order-independent. The trade is a more complex merge function — commutative-associative-idempotent is harder to write than a sequential fold — and the payoff is a swarm that converges under partition, under reorder, and under duplicate delivery. We are building the POC; the merge is built, and the convergence is by construction.

A coordinator-based merge has to decide who is right. A CRDT merge does not, because it does not claim to. It records the disagreement; the ensemble reads it as entropy.

— CRDT design note
§Keep reading