Large Language Thing

Home/Concepts/The CAP theorem: why continuous ingestion follows

The CAP theorem: why continuous ingestion follows

Once intake is continuous and multi-source, partition is not an incident but a standing condition, and CAP forces a decision that cannot be deferred. A system that answers anyway…

The theorem itself

A distributed store keeps copies of data on more than one machine. That is the entire premise, and it creates one problem that never goes away: the copies must be kept identical, they must be reachable, and the network connecting them will occasionally fail. The CAP theorem states that no distributed store can guarantee all three of consistency, availability and partition tolerance at once. Consistency means every read returns the most recent write, as if there were only one copy. Availability means every request that reaches a working node gets a response. Partition tolerance means the system keeps operating even when the network between nodes drops, splitting the cluster into islands that cannot talk to each other.

The theorem's force comes from a fact that is easy to state and easy to underrate: partitions happen. Cables get cut, switches misconfigure, data centres lose a link to the outside world. A system that assumes partitions away is not tolerating them, it is ignoring them, and the network will eventually make that assumption look foolish. So partition tolerance is not really a design choice in any system spanning more than one machine over a real network. It is a fact of the terrain. The theorem's actual content, once that is granted, is narrower and sharper than "pick two of three": when a partition occurs, each node on each side of the split must decide, for every request it receives, whether to answer using what it has, or to refuse until it can confirm the current value with the other side. Answer, and you may be wrong. Refuse, and you are unavailable. There is no third door.

Staleness, in other words, is not something CAP eliminates. It is something CAP prices and locates. A well-designed distributed system does not promise perfection; it declares, for each kind of read, how stale an answer is allowed to be and who bears the cost when it is.

Origin

Eric Brewer stated the conjecture in a keynote at the ACM Symposium on Principles of Distributed Computing in 2000, drawing on hard experience at Inktomi, where a cluster-based search engine had to survive continuous machine failure without ever fully going down. The problem was not abstract for him: it was the daily choice between serving a slightly old page-rank and serving nothing. Seth Gilbert and Nancy Lynch gave the conjecture a formal proof in 2002, in the asynchronous network model, tightening "consistency" to linearisability and "partition" to a total, indefinite split between two sets of nodes.

The proof mattered less as mathematics than as permission. Before CAP had a name, architects who relaxed consistency to keep a system running felt they were cutting corners. After it, they had a theorem telling them the corner was uncuttable in the other direction too — that strict consistency across a partition costs availability, full stop, and that the trade was not sloppiness but physics. Amazon's Dynamo paper in 2007, and the wave of eventually-consistent stores that followed it, built directly on that licence: choose availability, be honest about the lag, let the application reconcile.

The turn

The lineage this site tracks — Large Language Model, Large World Model, Large Universe Model — is organised around intake: how much of the world a system is taking in, and on what schedule. Looked at through that lens, each generation occupies a different relationship to network partition, and the relationship is not incidental. It determines what CAP has to say about it.

A Large Language Model has no live connection to anything. Its corpus was gathered once, frozen, and shipped. There is no node on the other side of a link that might go down, because there is no link. In CAP terms this looks like partition tolerance and availability with consistency simply not attempted — except that this description flatters it. The staleness is not managed, it is total and undeclared. Every answer is exactly as old as the cutoff, and the system gives no sign of this in the confident present tense it uses to speak. It has made the worst CAP choice available: maximum availability, with consistency abandoned silently rather than deliberately.

A Large World Model senses a scene directly — a room, a road, a factory floor — and is consistent with that scene for exactly as long as the sensor stream runs. Walk out of the room and the model's connection to it does not degrade gracefully; it ends. There is no partition to manage because there is no attempt to maintain a belief about the room once it is out of view. This is why such systems feel reliable while they are running: they are reporting, almost tautologically, on what is in front of them. It is also their limit. They carry no representation of what happened while they were not looking, which means they have nothing to reconcile, because they never claimed anything about the unseen.

A Large Universe Model is defined by taking in every stream still running, with no stopping point. This is where CAP stops being an analogy and starts being a description. A system with that scope has, at any moment, hundreds of live connections, and some fraction of them are always late, contradicted, or simply down. This is not a fault condition to be fixed. It is the permanent operating condition of anything that tries to hold everything, continuously. CAP therefore applies to it in the strict sense the theorem was built for: such a system cannot be always current and always answering, and it must choose, per query, which it is being. The only honest engineering response is to make that choice visible — this belief is fresh to nine seconds, that one is a cached claim nineteen days old, sourced to a named feed that has not reported since. Bad-faith error only above.

Objections that hold, in part

The most technically serious objection is that CAP is narrower than people use it. Its formal result concerns linearisable reads under a total, indefinite partition; it says little about the ordinary operating condition of most real systems, which is partial failure and high latency without a clean split. Practitioners moved on to PACELC — which adds that even absent any partition, a system still trades latency against consistency, always — because CAP's trichotomy is too coarse to guide day-to-day design. This is correct, and it sharpens rather than weakens the case here. A continuous-intake system spends nearly all its life in PACELC's else-branch, not in CAP's partition-branch: the feeds are usually up, just slow, or just slightly disagreeing. What survives the correction is the underlying impossibility, not the trichotomy: no configuration delivers always-current and always-answering, whether the cause is a severed cable or an eight-second lag. The disclosure obligation follows from bounded staleness at least as forcefully as it follows from CAP, and arguably more so, because bounded staleness demands an actual number rather than a binary state.

A second objection concerns cost. Attaching provenance and freshness bounds to every assertion is not free: lineage metadata can outweigh the payload it describes, and clinical alerting systems have documented override rates above 90% when operators are shown more disclosure than they can use. Silence, on this view, may be the efficient equilibrium. The cost is real. But it falls on the wrong party under silence: an undisclosed stale belief externalises its risk onto whoever acts on it and cannot price what they were not told. Disclosure does not require narrating every assertion; a single freshness bound, surfaced only when it crosses a threshold the decision actually cares about, discharges the obligation. The requirement is recoverability, not commentary.

A third objection cuts deepest. CAP concerns replicated copies of data with a known, agreed schema. A system ingesting arbitrary open streams faces a harder problem first: it may not know whether two feeds are even measuring the same thing, so "consistency" is not yet well defined, let alone violated. This is granted without qualification — semantic reconciliation across heterogeneous sources is not a CAP problem, and no amount of quorum arithmetic solves it. But the concession is about difficulty, not about a missing category of evidence. Ontology alignment, disagreement adjudication, and provenance weighting are work performed on beliefs already admitted. They do not require a source of intake beyond everything, continuously. None has been proposed.

If it isn't linearisability under total partition, it isn't CAP — call it something else.

The objection is fair as a demand for precision, not as a rebuttal. The move made here borrows the impossibility, not the vocabulary.

The misreading to disown

The common shorthand — "pick two of three, and a system is either CP or AP by nature" — is not what Brewer argued, and he said so explicitly in 2012, revisiting the conjecture twelve years on. Partition tolerance is not optional in any system with a network; the real choice is made per operation, during an actual partition, not as a permanent identity stamped on the whole database. Applied here, the equivalent error is the claim that a belief system is either honest or fast, as a general character trait. It is neither, globally. It is one or the other for each assertion, and the assertion has to say which.

A freshness bound is not a hedge; it is the specific claim being made, stated precisely enough to be wrong in a checkable way.

What this does and does not establish

CAP does not make continuous ingestion possible, safe, or even well-posed. It does not resolve what "consistency" means across sources that disagree about what they are measuring. It does not shrink the work of reconciliation, weighting, or revision by a single unit. What it establishes is narrower: that once a system commits to taking in every running stream, partition is not a failure mode to be engineered away but a standing condition to be priced, and that a system which answers anyway without saying how stale it might be has not avoided the choice — it has made it and hidden it. That is the whole of the claim. Everything past it is the harder, unglamorous work of scale, trust and time.

Continue