communicoupling

The world comes in boxes
because the world interrupts.

Bodies are organs, organs are cells, cells are organelles. Firms are divisions, divisions are teams, teams are people. Books are chapters are paragraphs are sentences. Nearly everything complicated that lasts arrives as boxes within boxes — and Herbert A. Simon asked why. His answer, in The Architecture of Complexity (1962), is near-decomposability: complex systems arise quickly only through stable intermediate forms, and the systems that survive are nearly decomposable — strong, fast interaction inside each box; weak, slow interaction between boxes.

Simon told it as a parable. Two watchmakers each build fine watches of a hundred parts, and each is interrupted constantly by the telephone. Tempus assembles in one continuous run: when the phone rings, the half-built watch falls to pieces on the bench. Hora builds stable subassemblies of ten and then joins them: an interruption costs him at most the piece in his hands. Hora prospered; Tempus went under. The moral is selectionist and colder than it sounds — the nested world is the world that interruption selects.

Below, two engines. The first stages the race honestly — same parts, same telephone, different architecture. The second shows what a survivor looks like from inside: a coupling matrix you can melt from silo to uniform, with a fast clock inside the boxes and a slow clock between them.

interruption · pchance the phone rings each step
5.0%
module size · mparts per stable subassembly (hora)
10
parts · nparts in one finished watch
100
between-block · εcoupling outside the box · dial is √ε
0.023
hora : tempus cost
steps per finished watch, live
optimal module size
press Sweep m to verify
timescale separation
fast clock ÷ slow clock
Engine 1 · the watchmakers’ race
one part per tick; an interruption knocks Tempus to zero and Hora only to the start of the current module · the cost stat runs this same race thousands of steps per frame in the background
0 ticks
tempusone continuous run
watches 0 · — steps/watch
horastable modules of m
watches 0 · — steps/watch
final assembly
watches completed in 150,000 steps, by module size m
simulated completions theory · budget ÷ E[work]
Engine 2 · the coupling matrix and its two clocks
ε morphs the matrix from silo through nearly decomposable to uniform · the run shows within-block differences dying fast (blue) while block averages converge slowly (gold)
coupling matrix W · 4 blocks × 6
state x · each block becomes one colour fast; the colours merge slowly
spread within blocks vs spread between block averages (log scale)
within-block spread · the fast clock block-average spread · the slow clock
Watch what happens
Both watchmakers place one part per tick; each tick the phone rings with probability p. Tempus falls back to zero, Hora only to the start of the current module. Watch the counters diverge, then press Sweep m.
E[work for a run of r] = ((1−p)−r − 1)/p Cost is exponential in the longest unprotected run. Tempus’s run is all n parts; Hora’s longest is max(m, n/m). Stable subassemblies convert one giant exponential into a sum of small ones — plus a little interface overhead.

Two arguments, one architecture

Interruption prices the parable; survival shapes the survivor.

The evolutionary argument is arithmetic. A run of r uninterrupted steps survives with probability (1−p)^r, so the expected work to finish it is ((1−p)^−r − 1)/p — exponential in r. Tempus’s run is the whole watch: at n = 100 and p = 9%, about 139,000 steps per finished watch. Hora caps his runs at ten and pays a small interface toll — the joins — for a total near 190: more than seven hundred times cheaper. And module size is a genuine optimum, not a slogan. Make m too small and the final assembly of many modules becomes the long fragile run; make it too large and each module is itself a gamble. Sweep m and a valley appears with a floor the dials chose, not you.

The structural argument says what the winners look like afterwards. A surviving system is nearly decomposable: its interaction matrix is almost block-diagonal — strong couplings inside each block, faint ones between. Engine 2 runs honest dynamics on exactly that matrix, and two clocks fall out. Differences within a block die at a rate set by the block’s internal coupling; differences between block averages decay at a rate set by ε alone. In the short run each box behaves as if the others were frozen; in the long run only the aggregates talk. That gap between clocks — the separation readout — is the licence for treating a box as one thing.

What to try

Three experiments on the architecture.

01

Find the valley

At the default p = 5%, press Sweep m. Completions peak in a broad valley around m ≈ 7–10 and collapse toward both ends: at m = 2 the fifty-module final assembly is the fragile run; at m = 40 the modules themselves rarely survive. The optimum is real and the dials move it.

02

Turn the world hostile

Drag p from 0.2% to 12% and watch the cost ratio go from about to past 10,000×. At the quiet end Tempus keeps pace — hierarchy is pure overhead where nothing interrupts. Every notch of hostility multiplies the price of building without stable middles.

03

Melt the boxes

Set ε = 0: separation reads and block averages never meet. Nudge to the default 0.023: separation near 12× — boxes act this instant, aggregates drift later. Push the dial to 1: one clock, , and the state strip never settles into blocks at all.

The concept in social life

Delegation, specialisation, and why anything is comprehensible.

Near-decomposability is the standing licence behind every act of delegation. A team can be handed a goal and left alone precisely because its couplings to the rest of the firm are weak and slow — a budget, a deadline, an interface — while its internal couplings are strong and fast. The department can act this week even though the strategy changes this year, because the two live on different clocks. Science runs the same trick at civilisational scale: chemistry does not re-derive physics each morning; it couples to it through a handful of slow, stable aggregates and gets on with its own fast loop. Specialisation is not a convenience layered onto knowledge — it is knowledge exploiting the block structure of the world.

And comprehension itself rides on the same structure. No mind holds a hundred-thousand-part system whole; what a mind can hold is one box in full detail plus caricatures of its neighbours — the liver as an organ, the sales team as a number, the chapter as a summary. That approximation is only honest because the world is nearly decomposable: the caricature omits exactly the couplings that are too weak and slow to matter right now. It is why the good team still functions the week the reorganisation hits, and why the well-made chapter survives the edit of the book around it. Boxes are how we build things, and the only shape of thing we can understand.

Neighbouring concepts

The weak links, seen from three sides.

The faint off-block entries are where this page touches its siblings. Structural coupling is those weak links experienced from inside two boxes — recurrent nudges that shape without commanding. Metasystem transition is how a new level of box comes into being over old ones. And actor-network theory’s punctualisation — treating a whole network as a single node until it breaks and unfolds — is near-decomposability observed in the act of failing.

The mapping

Mechanism ↔ social life.

In the modelIn the world
a partA task, a person, a claim, a line of code.
interruption pCrises, turnover, meetings, market shocks — whatever scatters unfinished work.
stable subassemblyThe team that still functions when the reorg hits; the chapter that survives the edit.
module size mSpan of control; the size of a service, a squad, a chapter.
weak between-block linksInterfaces, treaties, APIs, budget lines — thin channels between thick worlds.
timescale separationThe department acts this week; the strategy changes this year.

Where it tears

Limits.

The interface is also a censor.

Modularity has a price the parable hides. An interface constrains what can pass between boxes, and some problems are precisely the ones the box boundaries were drawn to ignore — climate policy across ministries, disorders of integration across organ systems, reform that cuts across every department. The race scores cheap assembly; it does not score what the assembled watch can no longer become.

Finding hierarchy is not blessing this hierarchy.

Simon explains why we find nested boxes wherever complexity has survived — not that any observed decomposition sits at a good cut. Couplings migrate; org charts do not. Organisations routinely keep their boxes long after the strong interactions have moved elsewhere, at which point the architecture that once paid for itself becomes the thing paying against you.

“Nearly” is observer-relative, and fails when it matters.

Decomposability holds at a timescale. Zoom in and the weak links matter enormously — contagion and crashes travel through exactly the couplings the aggregate view rounds to zero — so the approximation breaks precisely when things get interesting. And our engine is generous: uniform blocks, uniform faint coupling. Real matrices are ragged, and the right decomposition is itself the hard unknown.