Summary
The framework is implemented as a small Python package at validation/code/. Domain-agnostic by construction: no if domain == ... branches anywhere; all tools take abstract \((t, \Phi)\) pairs. The package adheres strictly to the five Laws.
Repository layout
uniformity/
βββ README.md
βββ LICENSE
βββ framework/ # the formal apparatus
β βββ laws/laws.md # Five Laws
β βββ characters/ # symbology, dual representation
β βββ foundations/ # Volume 0 (T1βT3), I (T4βT9), II (T10βT13)
β βββ formula/formulas.md # single-source formula reference
β βββ metrics/ # standardised measurement contract
β
βββ validation/ # empirical evidence
β βββ catalogue.md # 30 strong + 3 partial + 3 honest-negative
β βββ instances.md # framework-native readings
β βββ announcement.md # memoir-style introduction
β βββ code/ # the reference implementation
β βββ dual.py # forward-mode automatic differentiation
β βββ derivatives.py # Ο extraction (FD, wavelet, GP, EMD)
β βββ regression.py # π: polyfit, GLS-AR(1), Bayesian
β βββ regimes.py # PELT change-point detection
β βββ decomposition.py # π: spectral primitive
β βββ tests/ # regression test suite
β
βββ domains/ # 15 domains
β βββ fluid-dynamics/, particle-physics/, gravitational-waves/, ...
β βββ (each: README.md, docs/, experiments/, data/, results/)
β
βββ applications/ # shadow PDE solvers
β βββ ns_galerkin.py, burgers_1d.py, mhd.py, sabra.py, edqnm.py
β βββ klein_gordon.py, klein_gordon_nonlinear.py, nls_1d.py
β βββ maxwell_1d.py, les_dynamic.py, les_nonlinear_sgs.py, les_spectral.py
β βββ ns_forced.py, ns_stochastic.py, ns_wavelet.py
β βββ nt_zeta.py, atmospheric_synthetic.py
β βββ run_burgers_demo.py, run_ns_galerkin_demo.py
β
βββ data/ # static data caches
Discipline (mapping to the Five Laws)
| Law | What it forbids | What the package does |
|---|---|---|
| I (Change) | reasoning on raw \(\Phi\) | every method takes derivatives |
| II (Domain interiority) | imported scales/thresholds | every input is an abstract \((t, \Phi)\) pair; no domain branches; no constants from outside |
| III (Universality by consensus) | universality from a single shadow | same code runs unchanged on every shadow; consensus is implied at orchestration level |
| IV (Intrinsic threshold) | tunable thresholds | only \(\beta = 1\); default penalties BIC, default hazard \(1/n\) |
| V (Honest scope) | claims of solving | this package measures, does not solve |
dual.py β forward-mode automatic differentiation
The dual-number representation \(\Phi_{\text{dual}} = \Phi_{\text{val}} + \rho \cdot \varepsilon\) with \(\varepsilon^2 = 0\). The framework's differentiation/aggregation split (\(\mathcal{B}, \mathcal{P}\) read \(\varepsilon\)-part; \(\mathcal{S}, \mathcal{M}\) read val-part across an index) is structurally enforced in code.
Dual32type with arithmetic matching \(\varepsilon^2 = 0\).- Smooth-function lifts:
dual_log,dual_exp,dual_pow, β¦ to_dual_from_observational(t, phi): wraps FD-derived \(\rho\) asDual32.DualNtruncated-polynomial extension supplies higher-order derivatives mechanically (\(g''(\log|\Phi|)\) for T7's cadence error and beyond).
derivatives.py β Ο extraction
validation/code/derivatives.py
The framework defines \(\rho_i = (\Phi_{i+1} - \Phi_i)/\tau_i\). Real cascades are sampled finitely and noisily, so \(\rho\) must be estimated. Four methods:
finite_difference_derivative(t, phi)β naive baseline (centred FD).wavelet_derivative(t, phi, scales=None, wavelet='morlet')β multi-scale \(\rho\) via continuous Morlet wavelet transform.gp_derivative(t, phi)β Gaussian-process posterior derivative with uncertainty (RBF + WhiteKernel; hyper-parameters by marginal-likelihood maximisation).emd_trend(t, phi)β Huang Empirical Mode Decomposition; returns IMFs and the trend residue.
regression.py β π brake-exponent estimators
Three estimators on \(\log|\rho| = \alpha + \beta \cdot \log|\Phi|\):
polyfit_brake_p(phi, rho)β naive OLS vianumpy.polyfit. CI by bootstrap (1000 resamples, deterministic seed).gls_ar1_brake_p(phi, rho)β CochraneβOrcutt iterative GLS with AR(1) residuals.bayesian_brake_p(phi, rho, ar_order=1)β MAP + Laplace covariance, Metropolis sampling. Weakly-informative priors (\(\alpha, \beta \sim \mathrm{Normal}(0, 10^2)\), \(\log \sigma \sim \mathrm{Normal}(0, 5^2)\)).compare_methods(phi, rho)β runs all three side-by-side.
regimes.py β change-point detection
pelt_changepoints(t, phi, penalty='bic', min_size=10)β Pruned Exact Linear Time (Killick et al. 2012). BIC penalty default; no imported threshold. Returns indices.
Used in instances 17 (Arctic 1990/2007 regime breaks), 22 (MPT date recovery to Β±50 kyr), 25 (Montreal Protocol date recovery to Β±2β3 yr), 27 (timing-of-tipping). All findings recovered with no domain-tuned threshold.
decomposition.py β π spectral primitive
validation/code/decomposition.py
Implements the spectral primitive \(\mathcal{P}(\mathcal{C}, c) = (\mathcal{C}_{\text{brake}}, \mathcal{C}_{\text{resonance}}, \mathcal{C}_{\text{residual}})\). Theorem 13 governs uniqueness: gauge group \(G_{\mathcal{P}}\) excludes frequency-reparametrisation, so the 41-kyr-vs-100-kyr Mid-Pleistocene distinction is preserved.
Reproducibility & provenance
Every experiment writes a JSONL metadata file (solver parameters, all three brake estimators, AR(1) coefficient, RΒ², residual MAD, framework verdict + \(\mathscr{A}\)) and a TXT human-summary file. Reproduction gates are run for every experiment.
Tests under validation/code/tests; regression reports archived as instances_1_10_regression_report.txt, pure_math_regression_report.txt, climate_regression_report.txt, dual_validation_pure_math.txt.