flowchart LR
subgraph WORLD["World"]
direction TB
subgraph A["Arena A — Emitter"]
EA["Seneca ODE<br/>(R, C, P)"]
PA["6 × RCP Agents"]
end
subgraph B["Arena B — Downwind"]
EB["Seneca ODE<br/>(R, C, P)"]
PB["6 × RCP Agents"]
end
subgraph C["Arena C — Downwind"]
EC["Seneca ODE<br/>(R, C, P)"]
PC["6 × RCP Agents"]
end
GOV["PollutionRegulatorAgent<br/>Trigger: P > θ (lagging)<br/>or C > θ (leading)<br/>Levers: cap │ levy │ fine"]
end
A -- "pollution<br/>link (0.4)" --> B
A -- "pollution<br/>link (0.4)" --> C
GOV -. "observes A" .-> A
GOV -. "cap / levy / fine" .-> A
2 Model
The Bardi/Seneca substrate models a resource-driven industrial cycle with three coupled variables: a natural resource R that is consumed to build industrial capital C, which in turn generates pollution P that degrades both R and C. The characteristic behaviour is the Seneca cliff: capital grows slowly during the boom and collapses rapidly once the resource base is exhausted — an asymmetry that creates the governance problem studied here.
Figure 2.1 shows the experimental setup. Each arena wraps a Seneca engine (Section 2.1) running the three-variable ODE (Eq. 2.1). Arenas are coupled via directional pollution links (Section 2.2), and a world-level governance meta-agent (Section 2.3) observes engine state and applies perturbations.
2.1 Seneca engine
Each jurisdiction runs a three-variable ODE following Bardi’s three-stage trophic-chain schematic (Bardi 2017, Ch. 3.6 + App. A, Fig. A11) — with a resource R, an industrial capital stock C, and pollution P, integrated by Euler micro-steps:
\[ \begin{aligned} \frac{dR}{dt} &= -k_1\, R\, C \;-\; l_3\, R \\[4pt] \frac{dC}{dt} &= \phantom{-}k_1\, R\, C \;-\; k_2\, C\, P \;-\; l_1\, C \\[4pt] \frac{dP}{dt} &= \phantom{-}k_2\, C\, P \;-\; l_2\, P \end{aligned} \tag{2.1}\]
The integrator advances the ODE by one world-tick interval \(\Delta t\) of simulated time per game turn, sub-divided into 10 fixed Euler micro-steps of size \(\Delta t / 10\) for numerical stability near bifurcations: the number of micro-steps is held constant, while their size scales with \(\Delta t\). This is the engine’s single integration parameter (SENECA_DEFAULTS.dt, default \(0.10\), overridden per run); the cascade reported here runs at \(\Delta t = 3.0\), and Chapter 4 sweeps it structurally over \(\Delta t \in \{2.0, 2.5, 3.0, 3.5, 4.0\}\). The win-win regime characterised in Section 3.3 holds for \(\Delta t \le 3.0\). The industrial growth constant is set to \(k_1 = 0.10\) for the cascade reported here — the centre of the OFAT range swept in Chapter 4 — overriding the engine’s starting default SENECA_DEFAULTS.k_1 = 0.03; the remaining ODE constants (\(k_2 = 0.30\), \(l_2 = 0.01\), and \(l_1 = l_3 = 0\), Bardi’s canonical choice of no linear capital depreciation or resource loss) take their SENECA_DEFAULTS values.
Agent harvest is applied before the ODE integration within each turn; R in the equations denotes the post-harvest state (the per-turn depletion is \(\approx\) 3 % of \(R_0\) and does not qualitatively alter the dynamics). The key dynamical feature is the Seneca cliff (Bardi 2017): C grows slowly as long as R sustains it, then collapses rapidly once R is depleted — the growth–collapse asymmetry that gives the paper its governance question. The three-variable family has been formally characterised by Grammaticos et al. (2019) on a HANDY-descended (Motesharrei et al. 2014) system in which reserves \(z\) sustain population (\(dx/dt \propto +z\)) — the opposite sign of P in the Bardi substrate (\(dC/dt \propto -k_2 \cdot C \cdot P\)). Their analytic stability map therefore does not directly apply here, but their finding that Seneca-style asymmetric collapse is achievable for some parameter choices motivates the structural OFAT sweep adopted in Chapter 4 rather than a single calibration. Bardi’s framework has since been adopted for pedagogical system-dynamics modelling of resource exploitation (Perissi 2019).
Each arena hosts six RCPAgent players — the platform’s dedicated Seneca-substrate strategy and the only built-in agent type that performs state inference. The logistic-engine agents condition only on the directly observed commons stock \(R_t\): AggressiveAgent plays a fixed fraction of its wealth-scaled capacity; ConservativeAgent plays a three-tier rule (60 / 35 / 10% of capacity according to whether \(R_t / K > 0.6\), \(> 0.4\), or below); AdaptiveAgent starts from a 40% fraction and subtracts \(0.20 \cdot f\) per turn that \(R_t\) has fallen (or \(0.30 \cdot f\) for two consecutive falls), with \(f\) a configurable reductionFactor defaulting to 1.0.
RCPAgent (a BaseAgent subclass) adds inference of the hidden capital signal \(C_t\): when \(\Delta C < 0\) it raises an internal pollution estimate that discounts its extraction — the harvest fraction is baseFraction \(\times (1 - p)\), with \(p = \min(1, 5P)\) an inferred pollution pressure, and is halved again once \(R_t / K \le 0.5\). Each player draws this fraction of its binding capacity-or-stock ceiling; with baseFraction = 0.005 and the six players per arena this reproduces the \(\approx\) 3 % aggregate per-turn depletion noted above. 0.005 is the cascade-baseline value (the centre of the OFAT range in Chapter 4) and overrides the class default; it differs from the 0.035 of the single-arena S0 calibration (see agents/built-in.js for the full rule).
This feedback is conservative with respect to the central finding — it makes the control scenario slightly less catastrophic and the cap-leading test more stringent. The engine is purely deterministic (it ignores the RNG): a seed is an exact trajectory, not a sample (see Chapter 4).
2.2 Polycentric coupling
Three jurisdictions A, B, C are coupled by directional pollution links (Link.type = 'pollution'): a fraction linkRate (here \(0.40\)) of the source’s P is added to the target’s P as an externality, without depleting the source. All three arenas start from \(R_0 = 1.0\); the emitter A is seeded with a larger industrial base (\(C_0 = 0.05\), \(P_0 = 0.01\)) than the downwind arenas B and C (\(C_0 = 0.01\), \(P_0 = 0.001\)), so A is upstream and B, C are downwind. In the terminology of Sinet et al. (2025), this is a leading-following configuration with A as the leading subsystem and B/C as following subsystems coupled unidirectionally via pollution import. Under the taxonomy of Klose et al. (2021), the resulting A\(\to\)B/C cascade is a two-phase cascade: A’s Seneca-cliff propagates to B/C only after A’s resource base has collapsed past the recovery envelope. The topology is minimal in the sense of Krönke et al. (2020), who showed that even simple network structures can produce cascading tipping when coupling exceeds a critical strength; our three-arena directed graph is the smallest topology that admits a leading-following cascade with two independent victims. This configuration is multi-arena (multiple physical sites with unidirectional coupling) rather than fully polycentric (multiple autonomous decision centres with feedback); the single governance meta-agent and unidirectional pollution link constrain the institutional structure tested here. The polycentric dimension enters through the three distinct jurisdictions whose agents act independently of the regulator and of each other.
Under this coupling, A’s pollution chokes B/C — relative to the same arenas run without the link (\(\approx\) -76 % peak capital, collapse ~16 turns earlier, peak P \(\approx\) 7.1\(\times\) B’s own un-linked peak) — and, counter-intuitively, the resource signal points the wrong way (the poisoned neighbours read as richer on R). The phenomenon echoes Wunderling et al. (2021), who found that interacting tipping elements in a stylised four-element climate network tend to destabilise each other, and Klose et al. (2020), whose lake-chain cascade is a direct ecological analogue of our A\(\to\)B/C setup.
2.3 Governance meta-agent
A world-level PollutionRegulatorAgent reads engine-side state and applies one of three levers — cap (regen set \(k_1 \to 0.02\), a ceiling on the process), levy (capital_shock \(C \times 0.5\), a tax on the industrial stock), or fine (wealth_shock on players \(\times 0.5\), a household-side instrument) — armed by one of two triggers: pollution P (lagging, hidden) or capital C (leading, visible to players). In the polycentric governance terminology of Carlisle and Gruby (2019), the regulator is a coordination instance operating across three semi-autonomous arenas; the lever/trigger orthogonality allows us to isolate the effect of signal timing from instrument choice — the central question of this paper. The design follows Ostrom (2010)’s observation that polycentric systems succeed or fail not only on which rules they deploy but on how they monitor the variables those rules act upon.