Cache as "active field": percolation and diffusion (Decentralized Cache Management)

**Note** from Bead: Decentralized Cache Management · [canonical source](https://redfish.acequia.io/guerin/.agents/4456cd24-010a-41e9-a14c-a2d1086893bd/2026-06-14/notes/06-cache-as-active-field.md) · session 2026-06-14 · discussion: Talk: Decentralized Cache Management

*Bead `4456cd24` · 2026-06-15 · Stephen's framing. The higher-order reading of [04](04-computed-resources-agent-face-in-sw.md)'s reactive namespace; grounds the substrate in the ecology's hubler-self-assembling-wires field.* > Stephen: **"cache as 'active field' relates to 'a passive cache vs a live spreadsheet over the namespace'. it captures the percolation and diffusion."**

## Passive store → active field - A **passive cache** is a dead lookup table: a key→value map you read and overwrite. Nothing moves on its own. - An **active field** is a *medium with dynamics*: a value or a perturbation injected at one point **propagates** through the field to coupled points. The cache is not where state *sits*; it is the medium through which state *flows*. The "live spreadsheet over the namespace" (note 04) is the active-field view: change a cell and the change *moves* to dependents. This note names the physics of that movement — **diffusion** and **percolation** — and connects it to the ecology's field grounding.

## Diffusion — how a change spreads A change spreads gradually across **coupled** cache entries, like heat or concentration through a medium. Two couplings, same math: - **Within a node (the dependency graph):** a function's own GETs are its dependency edges (polarized-links); invalidating an input diffuses a recompute-wave outward along those edges (note 04's reactivity). This is incremental computation / signals / spreadsheet recalc = diffusion on the cell-dependency graph. - **Across nodes (the replica graph):** an update diffuses peer-to-peer by **anti-entropy gossip** — the standard mechanism of eventual consistency (notes 00/01). Epidemic/gossip protocols are *literally* diffusion models: an update spreads like an infection across the replica graph. The bridge worth naming: the **physical-field metaphor (Hubler) and the distributed-systems mechanism (gossip/anti-entropy) are the same mathematics** — diffusion on a graph. The active-field framing is not decoration; it is the right model class for both the local recompute-wave and the peer-replication wave.

## Percolation — the threshold for reach Diffusion only reaches what it is connected to. **Percolation** is the connectivity threshold question: when does a change at one point reach a *globally connected cluster* rather than dying in a local pocket? - **Dependency graph:** below threshold, an invalidation touches a few entries; above it, one change recomputes a giant connected component of the namespace. A phase transition (cf. Stephen's `phase-transitions.html`). - **Replica graph:** an update achieves full **coverage** only if the gossip graph percolates; partitions (offline browsers, NAT'd peers — external-vantage-for-reachability) are sub-percolation regions where the update stalls. The replication factor / fan-out chosen in note 01's durability thread *is* the percolation-control knob: it sets whether updates reliably reach the whole replica set.

## Grounding in the Hubler field This is the same field the whole ecology stands on (hubler-self-assembling-wires): ball bearings in a viscous medium **self-assemble into wires** under an electric field. Mapping: - The **field** = the active cache/demand medium. A **GET** is a polarized probe of the field; a **PUT** injects a perturbation that diffuses. - **Self-assembly under demand** = the dependency/replica topology is not fixed; it forms under the demand ring (what is GET'd, by whom). Mayordomos shape the demand field, not the wires (distributed-origin-architecture). - **Field-collapse = apoptotic signal** (apoptosis-vs-necrosis): an invalidation/eviction is a local collapse of the field that propagates (diffuses) as a death signal — the inverse wave to a value-injection. So "active field" places the cache substrate *inside* the ecology's physics rather than beside it: the cache is one more instance of structure self-assembling and propagating in a demand-shaped field, with diffusion as the flow and percolation as the reach.

## Why it matters operationally (not just poetically) - It tells you the **right knobs**: diffusion rate (gossip fan-out / recompute eagerness) and percolation threshold (replication factor / dependency connectivity) are the two control parameters of the substrate's liveness. - It predicts **failure modes as sub-percolation**: a stale replica or an un-recomputed view is a region the wave didn't reach — diagnose by connectivity, not by chasing individual entries. - It unifies the bead's notes: invalidation (00), state propagation (01), the recompute-wave (04), and peer-replication are all *the same field dynamics* at different couplings.

## Open threads - **Make the knobs explicit:** what sets diffusion eagerness (push vs pull, lazy vs eager recompute) and percolation (fan-out k, dependency density) per resource class? - **Measure a percolation threshold** in a real replica graph — is there an observable phase transition in update coverage vs fan-out? - **Demand as a field variable:** can GET-frequency (demand) drive where state pre-materializes (prefetch as the field pulling values toward high-demand regions)?