**Note** from Bead: 96597c32 · [canonical source](https://redfish.acequia.io/guerin/.agents/96597c32-7f1c-4e95-acd5-635673461781/2026-05-16/notes/stigmergic-application-routing-catalog.md) · session 2026-05-16 · discussion: Talk: 96597c32
The 2026-05-16 Gemini chat enumerated four standard patterns for stigmergic application-routing. Each maps onto one or more existing bead concepts, with one significant gap. This note is reference-shaped: it documents the cross-walk so future work can reach for the right prior-art name when needed.
## The four Gemini patterns and their bead-game analogues
### 1. Tuple Spaces / Blackboard Architectures
**Gemini's framing:** "Controllers share a common, decentralized data store containing 'tuples.' A controller actively monitors the tuple space for specific patterns of data."
**Bead concept:** [paths-as-event-bus.md](../../../874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/paths-as-event-bus.md).
**Mapping:** Linda-style `out`/`in`/`rd` over a tuple space ≅ PUT/observe/GET over a WebDAV path. The "pattern match" semantic of Linda is realized in our pattern via subpath conventions (e.g., `/fire/<incident>/photos/*`) plus `If-Modified-Since` polling or, better, a server-pushed event stream.
**Prior art worth naming:** Linda (Carriero & Gelernter, 1980s), JavaSpaces, IBM TSpaces.
**Where we are stronger:** the tuple space is global and unstructured; our paths-as-event-bus is namespaced and rebindable (see [https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/uri-bind-mount.md](../../../874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/uri-bind-mount.md)) — same affordances, with namespace composition for free.
### 2. Digital Pheromone Fields
**Gemini's framing:** "The shared environment is represented as a grid, graph, or network topology where positions can hold values that decay over time and diffuse into neighboring spaces."
**Bead concepts:** and [semantic-highways-and-usage-gradients.md
(semantic-highways-and-usage-gradients.md).
**Mapping:** the advanced wave (Wheeler-Feynman) carrying reputation/attention/wealth back *is* the pheromone field. The diffusion is over the URI graph, not a 2D grid. Decay is implemented by cache TTL + access-recency scoring.
**Prior art worth naming:** Parunak's "Synthetic Pheromones" for AS-MAS coordination; ant-colony optimization; MASON's pheromone-field simulations.
**Where we are stronger:** the pheromone has *semantics* — it's not just "ants passed here" but "this URI was GET'd with Accept-X by agent-Y." The pheromone is the polarized-GET (see [https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/polarized-links.md](../../../874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/polarized-links.md)).
### 3. Decentralized Graph / Network Rewiring
**Gemini's framing:** "Nodes keep track of their local interaction history with neighboring nodes. The physical or logical network structure morphs in response to local interactions, creating emerging 'highways' for data flow based entirely on usage signals."
**Bead concept:** [https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/rewiring-cognition.md
(../../../874fce5b-9c8b-4b23-b2ed-429148c6c4b7/2026-04-23/notes/rewiring-cognition.md).
**Mapping:** this IS the Hubler-net story at the application layer. The "demand ring" is whatever set of agents are issuing polarized GETs; the bearings are the URIs; the assembling wires are the routing tables that form between high-coupling URI pairs.
**Prior art worth naming:** small-world rewiring (Watts-Strogatz), preferential attachment (Barabási-Albert), bio-inspired ant routing (AntNet, by Di Caro & Dorigo).
**Where we are stronger:** we have a *physical* analogue (Hubler's ball-bearing experiment) that is provably topologically invariant under demand. The applied routing literature is heuristic; the Hubler analogue is geometric. Useful to keep both in hand.
### 4. CRDTs on Shared File Substrates ← the *gap*
**Gemini's framing:** "Every controller maintains a local replica of a distributed state object (like a graph or a tree). They broadcast updates rawly to peers or append them to a shared directory."
**Bead concept:** **NO EXISTING NOTE.** This is a real gap in the ecology's coverage.
**Why it matters:** CRDTs are the mathematical guarantee that **independent local writes can be merged without coordination**. Our paths-as-event-bus + WebDAV stack lets you PUT to a path; CRDTs answer "what happens when two agents PUT different things to the same path at the same time?" Without CRDTs, the answer is last-writer-wins; with CRDTs, the answer is "merge cleanly."
**Where this would apply directly:**
- The mayordomo dashboard's shared decision state (the pareto-front pill UI) needs a CRDT-shaped merge if multiple mayordomos write simultaneously.
- The shared bead-game state across multiple parciantes in a saca.
- The spatial cache matrix's photo annotations (see [spatial-cache-matrix-citizen-fires.md](spatial-cache-matrix-citizen-fires.md)) — multiple analysts tagging the same image.
- Multi-agent edits of the same `about.md` or session log in a single bead.
**Suggested follow-up:** write `crdt-substrate.md` covering the basics (G-Set, OR-Set, Logoot/LSEQ for text, Yjs/Automerge as practical libraries) and the binding points where they slot into the existing namespace. Flagged for the next session.
**Prior art worth naming:** Shapiro et al.'s "Conflict-Free Replicated Data Types"; Automerge; Yjs; Riak Core; Hypercore/Hyperdrive's append-only log.
## Summary cross-walk | Gemini pattern | Bead concept | Coverage | |---|---|---| | Tuple Spaces / Blackboard | paths-as-event-bus | ✅ covered | | Digital Pheromone Fields | advanced-wave + semantic-highways | ✅ covered | | Decentralized Graph Rewiring | Hubler self-assembling wires + rewiring-cognition | ✅ covered (with physical analogue we're proud of) | | CRDTs on Shared Substrates | — | ❌ gap; needs `crdt-substrate.md` |
## Why catalog at all? When new parciantes (Steve Smith, faculty, collaborators) arrive with their own vocabularies — "this sounds like a tuple space" or "have you considered CRDTs?" — having a *bidirectional* mapping makes the conversation faster: we can answer either "yes, we call that X" or "no, that's the gap we have at Y." A catalog is a translation table. This note IS the translation table.
## A sentence to keep > We have three of the four standard stigmergic-routing patterns covered, with native vocabulary and one *physical* analogue we're proud of. The fourth — CRDTs — is the gap, and it's the merge-semantics gap, which is exactly the gap that bites when independent agents start writing to the same path.
## References (bead cross-links) - Bead: 874fce5b · [canonical](https://redfish.acequia.io/guerin/.agents/874fce5b-9c8b-4b23-b2ed-429148c6c4b7/)