Criticality and control: measurement protocol
This page records a defensible protocol for asking whether a measured branching estimate changes with a control intervention and whether that change relates to behavior. It does not report a criticality finding. The repository currently has analysis functions and exploratory measurements, but no registered, complete result packet that supports the former causal claims on this page.
Questions that can be tested
A criticality-control study should keep four questions separate:
- Measurement: how do reservoir-scale and agent-scale MR branching estimates vary across declared perturbations?
- Identifiability: does the candidate branching estimate vary independently of mean activity, saturation, silence, spectral radius, and external drive?
- Function: within a matched design, does a change in the candidate estimate accompany a change in a predeclared task outcome?
- Control or causation: does an intervention move the candidate quantity while holding the relevant alternative explanations sufficiently stable?
The first two are characterization questions. Correlation in the third does not answer the fourth. If all viable conditions occupy the same narrow range of the candidate metric, the design cannot estimate its causal effect on function.
Measurement levels are not interchangeable
Sources: src/analysis/Branching.jl and src/analysis/NullTest.jl
branching_ratio_mr fits positive finite lag slopes to
Its level selects a different observable:
| level | observable | appropriate interpretation |
|---|---|---|
:pooled | activity combined across reservoirs | legacy pooled reservoir summary |
:node | each agent’s reservoir activity, summarized across agents | distribution of within-reservoir estimates |
:agent | count of declared agent-scale events | branching of that behavioral event observable |
level=:pooled does not measure cross-agent behavioral propagation, and level=:node does not
measure a collective interaction graph. At level=:agent, the result depends on the declared event
observable, threshold, and neighborhood radius. Values from different levels or observables should
not be compared as if they were the same quantity.
Minimal measurement record
The following code records the channels needed for reservoir activity and an agent-scale alignment observable. It is a measurement example, not a result:
using BrainlessLab, Random
sim = simulate(:forage; node=:falandays_oosawa, n_agents=48, n_nodes=100, ticks=3000, seed=1, record=(:rate, :poses))
node_m = branching_ratio_mr(sim; level=:node, kmax=20)
spec = (kind=:align, neighbor_radius=4.0)agent_m = branching_ratio_mr(sim; level=:agent, observable=spec, kmax=20)
t_centers, m_series, r2_series, n_used_series = branching_ratio_mr_windowed(sim; level=:agent, observable=spec, window=600, stride=300, kmax=20, min_r2=0.5)
null = crossshift_null( sim, s -> branching_ratio_mr(s; level=:agent, observable=spec, kmax=20).m_mr; n_shifts=30, rng=MersenneTwister(1),)The primary return from crossshift_null is (real, null_mean, null_std, ratio). The ratio is a
descriptive comparison with the surrogate mean. It is not an empirical p-value, a tail
probability, or evidence of significance, because the function does not return the null draws or a
predeclared tail calculation.
The circular-shift surrogate independently rotates each agent’s recorded series. It preserves each series’ ordering, autocorrelation, spectrum, and event rate while disrupting relative timing across agents. A difference from this surrogate can reflect direct interaction, synchronous common input, or another source of shared timing; it does not identify a mechanism on its own.
Required experimental record
Each cell should declare and retain:
- node variant and every perturbed parameter, including learning rates, target dynamics, thresholds, input/noise drive, wiring, and task condition;
- matched seeds and initial conditions where the comparison requires them;
- recording window, transient removal,
kmax, measurement level, event observable, threshold, neighborhood radius, and any windowed-fit quality threshold; - branching estimates together with activity rate, rate variance, saturation/silence or liveness, spectral radius, and the predeclared task outcome;
- raw per-seed values, finite/failed-fit counts, lag coefficients or windowed fit diagnostics, and all exclusions; and
- the exact surrogate procedure, number of draws, random seed, and full null distribution if an inferential tail statement is intended.
Windowed estimates are preferable when the process is non-stationary. Report their r2_series and
n_used_series; a long trajectory does not replace independent seeds. An MR fit can be finite in a
saturated, silent, driven, or otherwise non-critical regime, so liveness and activity diagnostics
must be read beside it.
Design needed for a control claim
A statement that criticality is a control variable requires more than sweeping one parameter and observing both behavior and . The evidence must include:
- a perturbation that produces reproducible variation in the candidate criticality quantity;
- overlap in viable activity and task regimes across that variation, rather than moving only by causing silence or saturation;
- controls for input drive, rate, finite-size effects, and other plausible common causes;
- independent discovery and evaluation replicates when conditions or analysis choices are selected adaptively; and
- a declared causal contrast or mediation analysis whose assumptions match the intervention.
If those conditions are absent, the defensible conclusion is narrower: the study characterized an estimator under a set of perturbations. It did not determine whether criticality controls function.
Evidence required for a findings section
Before this page reports substantive findings, the repository should contain one complete, promoted packet with:
- an explicit completion state and no unresolved errors;
- resolved configuration, full provenance, exact seeds, and raw per-seed/cell measurements;
- predeclared primary estimands, fit acceptance rules, exclusions, and multiplicity handling;
- uncertainty across independent seeds and, where relevant, independent search/evaluation phases;
- the full surrogate draws or a separate formal null procedure for any tail claim;
- robustness across measurement levels, observables, windows, finite sizes, and plausible confounders; and
- interpretation that distinguishes a branching-process estimate, critical-like signatures, self-organized criticality, and causal control.
Until that evidence exists, this page is intentionally a measurement protocol rather than a result narrative.