Crickets, fireflies, pacemaker cells and power-grid generators each run at their own natural rhythm — yet whole populations can spontaneously beat as one. Is there a sharp critical coupling below which a heterogeneous population NEVER synchronizes and above which order self-organizes, and can its exact value be measured from the coupled equations alone?
Units: critical coupling Kc in units of γ = 1 (Kuramoto 1975: Kc = 2/(π·g(0)) = 2γ for Lorentzian g; onset law r = √(1 − Kc/K))
▶ Run this simulationRead how it works
Kuramoto synchronization — fireflies, pacemaker cells and power grids lock together at an exact threshold, and the threshold emerges from the bare equations: with NOTHING coded but dθi/dt = ωi + K·r·sin(ψ−θi) and Lorentzian frequencies of half-width γ, the fitted onset of collective order comes back Kc = 2.00220 vs Kuramoto's exact 2γ = 2 (rel 1.1e-3), the square-root law r = √(1−Kc/K) emerges with its intercept free (1.00045), r(K=4) lands on √½ to 1.4e-4, 10 random-frequency populations agree at z = −0.65, below threshold only the N^(−0.501) finite-size floor survives, the γ-sweep tracks Kc = 2γ to 1.3e-3 across a 4× range, and the Winfree-style rival (full-strength pinning, no r bootstrap) is falsified by synchronizing at HALF the true threshold (r = 0.41 where the real substrate shows 27× less — pure noise) — and the shipped module is now CERTIFIED honest: sha-pinned, type-stripped and EXECUTED headless through the entire 12200-call on-screen experiment (boot → 11-point sweep → done) bit-exact vs independent float32 replicas at every call, the lab's 2nd live-RNG-stream cert (10 mid-run 800-draw phase re-randomizations make lockstep equality a stream-position proof); the 11 dots on screen are certified outputs of the executed code, and fed to the oracle's own estimator they expose a +20% instrument bias the cert DECOMPOSES by paired twins: +0.345 ± 0.104 from the 6-s settle window (critical slowing), gone when the same executed physics gets 30/10 s windows (Kc = 2.046 ± 0.063, 0.73 SE), with f32-vs-f64 priced at 2e-6 (locked states are not chaotic — unlike flock)
Raw integration of the N-oscillator Kuramoto system (Heun/RK2, dt = 0.05 verified converged: halving dt moves r(K=4) by < 2e-5) in the mean-field form dθi/dt = ωi + K·r·sin(ψ−θi) — mathematically identical to the all-to-all sine coupling, O(N) per step. DETERMINISTIC: frequencies are the QUANTILE discretization of the Lorentzian, ωi = γ·tan(π((i+0.5)/N − ½)), N = 8000, so seed randomness enters only through initial phases (3 seeds); r is time-averaged over 60 time units after a 40-unit transient at 7 couplings K ∈ [3,7]; a plain unweighted least-squares line through (1/K, r̄²) hands back Kc as its slope and the law's functional form as its intercept — neither imposed. STOCHASTIC: 10 seeds draw genuinely random Lorentzian samples at N = 2000 and refit per seed. 8 gates in scripts/kuramoto-derisk.mjs (~55 s): recovery + worst seed, emergent intercept, the √½ point, CLT-consistent noisy recovery, subcritical N^(−1/2) scaling, the γ perturbation sweep, the falsified rival, and a scoring self-test (tamper ⇒ exit 1). Known value in scripts/oracles/kuramoto.reference.json, loaded ONLY to score. ?world=kuramoto. CERT (gates H–L, this run): the shipped KuramotoModule.ts + KuramotoSweepModule.ts are sha-pinned, mechanically type-stripped (each strip pair must occur exactly once; TS-token scan on the residue) and executed via new Function against Babylon/DOM recorder stubs: executed-init state bit-equal to a statics-built replica; 12200-call lockstep at fl(1/120) covering the whole default experiment (fl(1/60) = 2·fl(1/120) exactly, so the accumulator alternates fl(1/120)/0 — census {0:6100,1:6100} pinned, budget/overflow/auto-ramp branches dead by execution); every HUD (2440), sweep-status and SVG-chart write (1488) byte-equal; RNG accounting (2 Math.random sites = seed fallback only, 3 rng sites, none in the dynamics slice; stream position 1600 after init, 10400 after the sweep); closure feeds the executed module's own screen points to the oracle's unweighted r²-vs-1/K estimator across 10 seeds with paired f64 / long-window / unclamped twins. 13 gates total, ~64 s.
0.00134
Kuramoto's exactly solvable mean-field synchronization transition (Kuramoto 1975; Strogatz, Physica D 143, 1 (2000)): for all-to-all sine-coupled phase oscillators with Lorentzian(γ) frequencies, incoherence is stable below Kc = 2/(π·g(0)) = 2γ and the order parameter bifurcates as r = √(1 − Kc/K) — the classical mean-field onset exponent β = ½. It VALIDATES, not derives: the generator integrates only the bare ODEs; Kc, the factor 2, the g(0) formula and the square-root law appear ONLY in the reference file, and the estimator's free intercept returning 1 shows the functional form itself is in the data. Non-circularity is checked three ways in-script: the intercept is unconstrained (gate B), the subcritical side scales as the finite-size floor with a measured exponent (gate E), and the scoring self-test flips the exit code with the recovered value unchanged (tamper test). The decisive control is structural: the same integrator with the r factor dropped (Winfree-style full-strength pinning) synchronizes at ANY coupling — no threshold at all — so the sharp transition is the collective self-consistency, not an artifact of the machinery. This is the lab's first synchronization/collective-dynamics oracle, grounding the emergence arc (?world=life, flock, ant) with an exactly solved many-body transition, and joining ising/percolation/logistic as the fourth exactly-known critical point recovered from raw dynamics.
MEASURED this run (replacing the earlier estimates — an estimated systematic is itself an unverified claim): feeding the EXECUTED module's own on-screen sweep points (fit subset K ≥ 3, the oracle's unweighted r² vs 1/K line) across 10 seeds gives a screen-protocol Kc = 2.391 ± 0.120 — a +20% instrument bias. Paired decomposition on the same executed module: (1) the sweep's 6-s settle window is the dominant systematic, +0.345 ± 0.104 — critical slowing near K = 3 (linear growth rate (K−Kc)/2 means ≈ 6 s just to leave the N^(−1/2) floor), so the K = 3 dot reads low and steepens the fitted slope; give the SAME executed physics 30 s settle / 10 s measure and it closes on the law: Kc = 2.046 ± 0.063 (z = 0.73), intercept 1.022 ± 0.014 — the module's physics is right, its display protocol is impatient, and the chart is honest about it (the dots sit visibly off the theory curve near threshold). (2) f32 state priced by a paired f64 twin: ΔKc = −2.0e-6 ± 1.1e-6 — the Float32Array costs nothing (locked states are not chaotic; contrast flock's 9.2% trajectory gap). (3) the ω-tail clamp u ∈ [0.005, 0.995] (analytic truncated-Lorentzian prediction −1% on Kc) measured +0.006 ± 0.014 paired vs unclamped draws — BELOW this protocol's resolution; the earlier '~1% systematic' claim is downgraded to a bound. (4) the on-screen 'Kc 2.00 (theory)' and 'r_pred' HUD lines and the green chart curve are LAW-FED overlays — labeled '(theory)' on screen, certified byte-exact as DISPLAY (gate K), and proven absent from the measurement path (gate H: the sweep's fixedUpdate slice never references KC; the oracle recovery never touches the module). (5) the earlier note claiming the module integrates 'forward Euler at dt = 1/60 vs the oracle's converged Heun' stands, and is now quantified implicitly: the long-window executed run (Euler, N = 800, clamped, f32) still lands 0.73 SE from 2γ — the display integrator is adequate for the screen's own experiment once the windows are long enough. Module untouched this run; every number above is from executing the shipped code.
One estimator fix (attempt 1 of 2, science not tolerance): the γ perturbation sweep first ran at FIXED dt = 0.05, and γ = 2 failed at rel 8.2e-3 — the model's exact scaling symmetry (t,K,γ) → (t/s, sK, sγ) means fixed dt is an effective reduced-time step of γ·dt = 0.1, whose r-bias (~1e-3, exactly the dt-convergence curve measured in prototyping) inflates the fitted Kc by +1.6%. Fix: scale dt and the transient/averaging windows by 1/γ (constant reduced-time discretization) AND give each γ its own reduced-coupling grid + phase seed so the three sweep points are independent measurements rather than exact rescalings of one run under the symmetry — the same symmetry that caused the bias would otherwise make the gate trivially circular. Estimator checklist notes: r is time-averaged (blocked SE ≤ 2e-4 per K-point); the fit is done in r² vs 1/K where the law is a straight LINE (no peak locator, no curvature/skew trap); the fit window K ≥ 1.5·Kc stays clear of the critical region where finite-N smearing bends the line; θ is wrapped mod 2π each step so the Lorentzian's far-tail drifters (|ω| up to γ·2N/π) can't degrade trig accuracy. Finite-N systematic on the fitted Kc measured across N = 2000/8000/32000 is ~1–2e-3 and non-monotone, so no Richardson extrapolation — the 5e-3 gate is ≈ 3× the observed systematic at N = 8000, justified not padded. CERT lesson (this run): the settle-window bias was invisible in the finding's previous prose — it estimated the clamp (~1%, wrong direction of importance) and missed the ×20-larger critical-slowing systematic entirely; only executing the module's own experiment end-to-end and fitting its actual output exposed which disclosed systematic dominates. Paired twins (same seeds, same draw sequence) resolve a +0.34 settle bias and a 2e-6 f32 effect through a ±0.38 per-seed scatter that unpaired comparison could never separate at 10 seeds.
npm run derisk -- kuramoto (scripts/kuramoto-derisk.mjs — 13 gates (~64 s): deterministic recovery + worst seed, emergent intercept, the √½ point, CLT-consistent noisy recovery, subcritical N^(−1/2) scaling, the γ perturbation sweep, the falsified Winfree rival, plus honest-module certification H–L (sha-pin + type-strip + live-RNG accounting with executed stream-position proofs; executed full-default-boot init census; 12200-call full-experiment lockstep of BOTH shipped modules bit-exact vs independent f32 replicas incl. all 11 screen points, HUD/status/SVG byte-equality with liveness by distinct counts; closure of the executed screen points through the oracle estimator with the settle-window systematic measured by paired twins and f32 priced). Tamper self-tests: KURAMOTO_TAMPER=sha ⇒ only H fails; =rule (halved coupling in the executable) ⇒ J fails at call 2 (first sim step), K+L collapse, H/I unchanged; known_value hand-tamper ⇒ exit 1 with recovery unchanged at 2.00220.)scripts/oracles/kuramoto.reference.jsonY. Kuramoto, 'Self-entrainment of a population of coupled non-linear oscillators', Lecture Notes in Physics 39, 420–422 (Springer 1975); S. H. Strogatz, 'From Kuramoto to Crawford: exploring the onset of synchronization in populations of coupled oscillators', Physica D 143, 1–20 (2000); E. Ott & T. M. Antonsen, 'Low dimensional behavior of large systems of globally coupled oscillators', Chaos 18, 037113 (2008); A. T. Winfree, 'Biological rhythms and the behavior of populations of coupled oscillators', J. Theor. Biol. 16, 15–42 (1967).