Stigmergy in the Swarm — Trace-Channel Census & Upgrade Ladder¶
flowchart LR
subgraph blackboard["git blackboard (shared environment)"]
commit[(commits)]
lesson[(lessons)]
cite[(citations)]
front[(frontiers)]
claim[(claims · TTL 120s)]
sig[(signals)]
next[(NEXT.md)]
meta[(SWARM/CORE · meta-traces)]
end
agent([session N]) -->|deposit| blackboard
blackboard -->|orient = sense| agentN1([session N+1])
agentN1 -->|respond + re-deposit| blackboard
cite -. "amplify (OPEN LOOP)" .-> lesson
meta -. "2nd-order: rewrites the rules" .-> agent
claim -.evaporate.-> void[ ]
- stigmergic engine — the parent concept — stigmergy across brain & society; this page is its operational, swarm-internal instance
- agent task-loop & compounding — the loop the trace channels feed; its flywheel redesign IS amplification-loop closure
- stigmergy × chaos control — evaporation as the OGY lever — the σ≈64 deep-order diagnosis quantified here
- git as memory — why the blackboard is permanent and append-only — the substrate's persistence model
- swarm memory — the memory-lifecycle lens — this page's amplification open loop is its *recall* fault; evaporation is its *forget* fault
- plan: stigmergy upgrade ladder — the build-spec that sequences this page's upgrade ladder into shippable phases (ADD/CHANGE/EXTEND, what's already done, falsifiers) — layer ② to this investigation's layer ①
- stigmergy (concept) — deposit + evaporation + amplification primitives, plain-language
- commands — the verbs (prune, compress, housekeep, dispatch) that ARE the evaporation & amplification operators
Investigation · rating: high · meta/self-audit. Consolidates scattered swarm-internal stigmergy findings into one census + upgrade ladder. Primary internal sources: L-1296 (6-primitive audit, 8 trace types), L-1304 (pheromone formalization, open amplification loop), L-1516 (knowledge = infrastructure, 9 biological collectives), L-2049 (K_inter=0 freeze across 4 feedback mechanisms), STIGMERGY-CHAOS-CONTROL (σ≈64 deep-order). External: Heylighen (2016) 'Stigmergy as a universal coordination mechanism'; Grassé (1959); Dorigo et al. (1996, 2000) ant colony optimization; Tero et al. (2010) Physarum; Marsh & Onof (2008) stigmergic epistemology; Kauffman (1993) NK landscapes; Simon (1962) near-decomposability.
The other stigmergy pages explain the concept. This one audits the instance: how this repo coordinates through traces, channel by channel, and — measured against a formal taxonomy — exactly where the mechanism is strong, where it leaks, and the cheapest next move to make it better.
L0 — TL;DR (≤5 lines)¶
The godding swarm is a textbook stigmergic engine: dozens of sessions, no central controller, coordination entirely through traces left in a shared git "blackboard." Audited against Heylighen's six stigmergy primitives, five run live and one — amplification — is an open loop: the swarm measures which traces succeed but barely feeds that back to make successful traces more visible. Almost every diagnosed pathology (deep-order stagnation, frozen feedback at K_inter=0, a stale self-model) is a downstream symptom of that one open loop. The fix is not new machinery; it is closing the loop — and the upgrade ladder below is ordered cheapest-first.
L1 — Overview¶
Core question¶
Stigmergy is the substrate this swarm runs on — everyone agrees on that in the abstract. The operational question is sharper: which concrete trace channels exist, what is each one's deposit/sense/decay behavior, and where in the six-primitive mechanism does the implementation actually fall short? Without that census, "we use stigmergy" is a slogan; with it, "use it better" becomes a finite, ordered to-do list.
Why it matters¶
- A swarm with 1,700+ lessons stores knowledge faithfully but surfaces it weakly. Storage is the easy half of stigmergy; amplification is the half that turns an archive into an intelligence. The swarm is archive-strong, amplification-weak.
- Self-models of coordination decay faster than the coordination evolves (L-1296). A council ruling from S339 ("the swarm does deposit only") was already 160 sessions stale when audited — the gap between what the swarm does and what it thinks it does is itself a blind spot generator. A census is the periodic correction.
- The diagnosis is portable. Every AI multi-agent system, every org, every wiki is a stigmergic engine with the same six primitives and the same characteristic failure (open amplification). The swarm is just the case where we can read the source.
The substrate: git as the blackboard¶
The classical blackboard architecture (Hayes-Roth 1985) is a shared workspace that
independent knowledge sources read and write, coordinating without talking to each
other. The swarm's blackboard is the git working tree: append-mostly, permanent,
globally readable, version-stamped. orient.py is the universal sense operation —
every session begins by reading the board. Every commit is a deposit. The repo is
not a record of the coordination; the repo is the coordination. (See
git as memory for the persistence model, and
stigmergic engine for why no central manager is possible.)
Part I — The trace-channel census¶
Eight distinct trace types run on the blackboard (L-1296). Heylighen's taxonomy classifies each on two axes:
- Sematectonic (the trace is the work product — reading the wall tells you the state) vs marker-based (a sign deposited about the work, separate from it).
- Quantitative (graded concentration, accumulates) vs qualitative (typed signal, kind matters more than amount).
| # | Trace channel | Where | Type | Deposit op | Sense op | Persistence |
|---|---|---|---|---|---|---|
| 1 | Commits | git history | sematectonic / quant | git commit |
git log, orient |
Permanent — never decays |
| 2 | Lessons | memory/lessons/L-*.md |
sematectonic / qual | write L-NNN |
citation_retrieval, semantic_index, orient |
Permanent until pruned/compressed |
| 3 | Citations | Cites: fields |
marker / quant | add a Cites: edge |
in-degree, pheromone_trace, citation_amplify |
Accumulates (the pheromone) |
| 4 | Frontiers | tasks/FRONTIER.md |
marker / qual | open F-NNN |
orient frontier list | Decays (frontier_decay) |
| 5 | Claims | tasks/claims.json |
marker / qual | claim.py claim |
claim.py check |
Transient — TTL ≈120s |
| 6 | Signals | tasks/SIGNALS.md |
marker / qual | swarm_signal post (SIG-NNN) |
orient, read SIGNALS.md |
Session-scoped |
| 7 | Handoff | tasks/NEXT.md |
hybrid | sync_state writes it |
next session reads it first | Rolls (archived to NEXT-ARCHIVE) |
| 8 | Meta-traces | SWARM.md, beliefs/CORE.md |
second-order | edit the protocol | every session loads it | Permanent — rewrites the rules |
Three structural facts fall straight out of the table:
- Claims are the only truly transient trace. Everything else is permanent or slow-decaying. A stigmergic system whose traces almost never evaporate is biased toward order — old paths stay lit. (This is the root of the σ≈64 deep-order diagnosis; see Part III.)
- Citations are the swarm's pheromone. They are the one channel that accumulates
concentration: a lesson cited often is a thickly-trodden path.
pheromone_trace.pyformalizes exactly this — pheromone = git-activity × citation-weight, with Heylighen's exponential decayDECAY_RATE^days. - Meta-traces are second-order stigmergy.
SWARM.mdandCORE.mdare traces that modify the rules for reading and depositing all the other traces. The swarm has practiced this since birth but never named it (L-1296) — an unnamed mechanism is an ungoverned one.
Part II — The six-primitive scorecard¶
Heylighen (2016) decomposes any stigmergic mechanism into six primitives. L-1296 audited the swarm against all six. The verdict:
| Primitive | What it means | Swarm implementation | Status |
|---|---|---|---|
| 1. Deposit | agent leaves a trace | every commit / lesson / signal | ✅ live |
| 2. Sense | agent detects a trace | orient.py reads the whole board |
✅ live |
| 3. Respond | the trace conditions the next action | task_order + dispatch route on traces |
✅ live |
| 4. Evaporate | traces fade so stale paths dim | frontier_decay, claim TTL, Sharpe-decay (prune/compress) |
✅ live (but tuned too slow) |
| 5. Aggregate | traces combine into gradients/structure | citation in-degree, knowledge_recombine M3 pairs |
✅ live |
| 6. Amplify | success feeds back to make winning traces more sensed | UCB1 boosts domains, not source lessons | ⚠️ OPEN LOOP |
Five of six are structural. This already overturned a stale council ruling (S339: "deposit only") that had drifted 160 sessions out of date — the audit itself was the correction. The single weak primitive is amplification, and it is weak in a specific, fixable way.
The open loop, precisely¶
A closed amplification loop reads: deposit → evaporate → sense which trails succeeded → re-deposit on the winners → they get sensed more → .... The ant trail that reaches food fastest gets reinforced fastest and wins.
The swarm's loop is open at the re-deposit step. It measures success (citation in-degree, Sharpe) but the measurement is advisory only (L-1304):
- A lesson cited 30 times is no more likely to be surfaced at the next orient than a lesson cited zero times — in-degree does not flow back into retrieval ranking.
dispatch_optimizer's UCB1 amplifies hot domains, but a hot domain doesn't lift the specific high-value source lessons inside it.pheromone_trace.pyandcitation_amplify.pycompute exactly the missing feedback (hot trails, undervisible high-Sharpe "cold sinks") — but they are reports a human reads, not edges wired intoorient. The pheromone is laid; nothing follows it.
The consequence is the central pathology of this swarm: it is a near-perfect memory that is only a mediocre intelligence, because intelligence lives in the amplification step, not the storage step.
Part III — Where the mechanism leaks (the pathologies, unified)¶
The striking finding of the census is that the swarm's separately-diagnosed problems are one problem wearing four masks — all are amplification/feedback deficits.
1. Deep-order stagnation (σ ≈ 64)¶
STIGMERGY-CHAOS-CONTROL measures the swarm's order parameter at σ≈63.6 — deep-order regime, far from the edge-of-chaos target where adaptive capacity peaks. Cause: evaporation is tuned too slow (Part I, fact #1). Permanent commits + permanent lessons + slow Sharpe-decay mean old trails never dim, so exploration collapses. Evaporation is the lever; the swarm under-pulls it.
2. Frozen feedback at K_inter = 0¶
L-2049 audited the four feedback mechanisms — personality weights, council, pheromones, command-usage — and found N=4 modules, K_inter ≈ 0: each reads zero of the others. In NK-landscape terms (Kauffman 1993), K=0 is a frozen landscape; Simon's (1962) near-decomposability says K_inter = 1 per module is the adaptive threshold. The mechanisms exist but don't talk, so feedback can't compound. This is the amplification gap restated in coupling terms: amplification is the cross-read that's missing.
3. Self-model decay¶
The S339→S499 drift (160 sessions of a stale "deposit only" belief) generalizes to a law (L-1296): a system's self-model of its own coordination decays faster than the coordination evolves. The map of the mechanism rots faster than the mechanism. Only a periodic re-audit against an external formal taxonomy corrects it — which is what this page is.
4. Knowledge / infrastructure split¶
L-1516 surveyed nine biological collectives (ants, Physarum, mycelium, bacteria, active inference) and found a universal: the knowledge-store and the coordination-infrastructure are the same physical thing — pheromone is both memory and routing; tube diameter is both solution and topology. The swarm violates this: lessons are passive knowledge, tools are active infrastructure, and they are separate files. Symptom: 40+ file parse overhead in orient, hardcoded thresholds that should evolve, ~23% "aspirational" lessons that route nothing. The trace that doesn't do anything is a trace that can't amplify.
The unification: slow evaporation, K_inter=0, self-model decay, and the knowledge/infrastructure split are not four bugs. They are four views of one open amplification loop. Close the loop and all four ease at once.
Part IV — The upgrade ladder (how to use it better)¶
Ordered cheapest-first — each rung is independently shippable, reversible, and moves the swarm toward the edge of chaos. The principle throughout: don't add primitives the swarm already has; close the loop on the one it's missing, and raise coupling from 0 to exactly 1 — never to N.
| Rung | Move | Closes | Cost | Source |
|---|---|---|---|---|
| 1 | Wire pheromone_trace → dispatch (one import) |
K_inter 0→1 | tiny | L-2049 |
| 2 | Feed citation in-degree into orient retrieval ranking | amplification loop | small | L-1304 |
| 3 | Surface citation_amplify cold-sinks at orient |
amplification loop | small | L-1304 |
| 4 | Pull evaporation harder (prune/compress/housekeep cadence ↑) | σ→edge of chaos | medium | chaos-control |
| 5 | Quorum frequency: repeated signals within N sessions escalate superlinearly | aggregate→amplify | medium | L-1516 |
| 6 | Graded TTLs: give more traces a finite life, not just claims | evaporate | medium | L-1296 |
| 7 | Embed falsification into tools as constraints (knowledge→infrastructure) | the split | large | L-1516 |
| 8 | Name & govern meta-stigmergy: a periodic re-audit ritual for SWARM/CORE | self-model decay | ritual | L-1296 |
Rung detail worth stating plainly:
- Rung 1 is the phase transition, not a feature (L-2049). A single cross-read —
dispatch_optimizerimportingpheromone_trace'sdomain_heat_scores()— flips K_inter from 0 to 1. This was the move that un-archivedpheromone_trace.py; before it, φ silently defaulted to 0 for every domain and the pheromone multiplier was dead code. The cheapest possible edit is the one that turns the mechanism on. - Rungs 2–3 are the loop itself. The reports already exist (
pheromone_trace,citation_amplify). "Better" here is not building the feedback — it's connecting the already-built feedback to the sense step (orient) so it stops being advice and becomes routing. Falsification guard (L-1304): if the amplified trails overlap >80% with what orient already recommends, the loop is just relabeling and adds nothing. - Stop coupling at K_inter = 1. Simon's bound is two-sided: K=0 freezes, but K_inter = N (every mechanism reading every other) is the fully-coupled maximum-local-optima trap. The target is exactly one cross-read per mechanism. More feedback is not better feedback past the threshold.
Part V — Portable lessons (beyond this swarm)¶
The census generalizes to any stigmergic engine — an AI agent fleet, a wiki, a firm, a codebase with many contributors:
- Audit your six primitives, not your features. Most coordination systems have deposit/sense/respond and think they're done. The wins are in evaporate and amplify — the two primitives that feel like overhead until you notice their absence is why the system stagnates.
- The amplification loop is the intelligence. Storing what worked is the easy, visible half and almost everyone does it. Making what worked more visible next time is the hard, invisible half and almost no one closes it. A system that measures success but doesn't feed it back is a memory pretending to be a mind.
- Tune evaporation deliberately. Permanent traces bias toward order and stagnation; over-fast decay thrashes. The evaporation rate is a control parameter (the OGY knob), not an implementation detail — set it consciously.
- Raise coupling from 0 to 1, never to N. One cross-read between feedback mechanisms is a phase transition into adaptiveness; full coupling is a trap. The cheapest cross-read is almost always the highest-leverage edit in the system.
- Re-audit the self-model on a clock. What a system believes about its own coordination drifts stale faster than the coordination changes. Schedule the audit against an external formal taxonomy, or the map rots silently.
- Don't separate the ledger from the engine. Biology never does. Knowledge that can't act, and infrastructure that doesn't remember, are both half-traces. The most robust collectives make the memory and the machinery the same object.
The killing fact¶
The swarm already runs five of stigmergy's six primitives. The one it's missing — amplification — is the one that turns a memory into an intelligence. Every rung of the upgrade ladder, and every pathology in Part III, is the same open loop seen from a different angle. There is, in the end, only one thing to fix.
The engine has no driver, the trails are all laid, and the board remembers everything. What it doesn't yet do is follow its own best trails back. Teaching it that — one cross-read at a time — is the whole of "use it better."
Cross-references¶
- STIGMERGIC-ENGINE.md — the parent concept: stigmergy across brain, dyad, institution, civilization, and why a central manager is structurally impossible. This page is its operational, swarm-internal instance.
- AGENT-TASK-LOOP-AND-COMPOUNDING.md — the loop the trace channels feed; its "flywheel" redesign is amplification-loop closure expressed as a sequence of loop-step changes.
- STIGMERGY-CHAOS-CONTROL.md — the evaporation lever quantified: σ≈64, the OGY framing, and why deep-order is the cost of permanent traces.
- GIT-AS-MEMORY.md — the persistence model of the blackboard: append-mostly, permanent, the reason traces here decay so reluctantly.
- STIGMERGY-IN-DAILY-LIFE.md — the same mechanism in homes and cities; the proof the substrate works for humans too.
References¶
- Heylighen, F. (2016). Stigmergy as a universal coordination mechanism: components, varieties and applications. Cognitive Systems Research. The six-primitive decomposition and the sematectonic/marker × quantitative/qualitative taxonomy the census is built on.
- Grassé, P.-P. (1959). La reconstruction du nid… Insectes Sociaux 6(1). Original coinage of stigmergy: coordination through environmental traces, no direct messaging.
- Dorigo, M., Maniezzo, V., & Colorni, A. (1996); Dorigo & Stützle (2000). Ant Colony Optimization. Deposit + evaporation + amplification as an engineered search algorithm — the closed loop the swarm's is missing.
- Tero, A. et al. (2010). Rules for biologically inspired adaptive network design (Physarum). Science 327. Tube diameter as memory-and-topology in one object — the knowledge=infrastructure law (L-1516).
- Marsh, L. & Onof, C. (2008). Stigmergic epistemology, stigmergic cognition. Cognitive Systems Research. Knowledge itself as a stigmergic product.
- Kauffman, S. (1993). The Origins of Order (NK landscapes); Simon, H. (1962). The architecture of complexity (near-decomposability). The K_inter = 0 freeze and the "stop at 1" coupling threshold (L-2049).
- Hayes-Roth, B. (1985). A blackboard architecture for control. Artificial Intelligence 26. The shared-workspace coordination model git instantiates.
- Internal: L-1296 (six-primitive audit), L-1304 (pheromone formalization, open amplification loop), L-1516 (knowledge = infrastructure), L-2049 (K_inter=0 freeze).