run_all.py — src/28-flavour

The file src/28-flavour/run_all.py of the validation package of the paper 28-flav, rendered with an anchor per line; the file itself is beside this page.

28-flavour ledgersrc/28-flavour/run_all.py · 1.3 KBrun_all.py
1"""2run_all.py — the 28-flavour validation package, end to end3==========================================================4Runs the sixteen scripts through the registry (flvcommon), writes results.json — one record per family, carrying5the paper's ledger row(s) it witnesses — and exits nonzero if any family fails. Python ≥ 3.10 with numpy, sympy and scipy (tm2_jointfit);6≈ 1 minute (pmns_cp dominates).78    python3 run_all.py910Families (one per script, in the README's order):11    exact_core framed_koide | tier_b m10 delta revision_checks | quark_amp up_doubling spurion theta13 | neutrino pmns_cp12    tm2_jointfit | scale_a coupling_anchor alpha_probe13"""14import sys, time15import flvcommon1617FAMILIES = ["flv." + s for s in [18    "exact_core", "framed_koide",19    "tier_b", "m10", "delta", "revision_checks",20    "quark_amp", "up_doubling", "spurion", "theta13",21    "neutrino", "pmns_cp", "tm2_jointfit",22    "scale_a", "coupling_anchor", "alpha_probe"]]2324def main():25    t0 = time.time()26    for fam in FAMILIES:27        print(f"\n— {flvcommon.script_of(fam)}.py")28        flvcommon.run_block(fam)29    ok = flvcommon.summary(write=True)30    print(f"{len(flvcommon.RESULTS)} families, {len(flvcommon.MICRO)} micro-checks, {time.time() - t0:.0f} s; results.json written")31    sys.exit(0 if ok else 1)3233if __name__ == "__main__":34    main()35