Skip to main content
Method · the verification framework

Every claim is machine-checked.
Every temptation is promoted with controls — or buried in public.

A project built around exact integer and lattice identities has to answer one suspicion before any other: how is this not numerology? This page is the answer — not as a promise, but as measured process discipline: a sandbox firewall, kill criteria declared before execution, a deterministic suite, one versioned ledger, and a public graveyard of the coincidences that did not survive.

The discipline itself is a suite claim: module v649_discipline_audit.py (META.DISCIPLINE.01) parses the repository on every run and fails if any census below regresses.

The pipeline

From sandbox to claim — one direction, one gate

Nothing becomes a claim by being written down. Exploration lives in experiments/ behind a firewall; a probe must declare its kill criteria before it runs; only what survives is promoted into the verification suite; the ledger decides every status; papers and website are generated mirrors that an audit checks against the ledger.

experiments/sandbox · firewallno claims made hereprobekill criteria declaredbefore the runverification/vNdeterministic suitestatus markers typedstatus_ledger.csvsingle source of truthone row per claimpapers + websitegenerated mirrorsnever hand-editedthe graveyarda probe that hits its kill criterion is published as a negative — not deletedbash build.sh audit → AUDIT OK

The firewall. Results in experiments/ are search surfaces, not claims — they cannot be cited by a paper, cannot move a status, and are labelled sandbox on this site until promoted.

The one gate. Promotion means: a verification/vN_*.py module with named checks and frozen tolerances, a ledger row, a citation in a paper body, and a green run_all.py. A finding that skips any of these does not exist.

The mirrors. The script index, the changelog, the maps and the numbers on this page are generated files. bash build.sh audit fails if any mirror drifts from its source.

The numbers

Discipline, measured

These are not marketing figures. They are censuses computed from the repository itself — the ledger, the module sources, the contracts paper, the Lean tree — regenerated by the build and frozen as minimum bars inside the suite.

707
verification modules

one file per claim cluster; every module carries checks

8,230
machine checks (static call sites)

python3 verification/run_all.py replays all of them

3,343
must-fail / negative controls

across 301 modules — scrambles, kill tests, controls that must break

261
documented kills & honest negatives

ledger rows recording killed, retyped or ill-posed hypotheses (of 788 total)

61 / 48
research contracts / with kill criteria

preregistered lemma chains; kill criteria named before execution

12/12
deterministic replay sample

declared modules run twice — identical output (v55…v648, incl. v634/v643/v648)

67
Lean 4 proof modules

committed formal certificates (git ls-files; no sorry)

3
classical anchors recomputed

Jacobi · Construction A · Shephard–Todd · Suzuki · completed-ζ, checked against the literature

Every number on this page is generated from the repository by verification/make_discipline_stats.py and certified as frozen minimum bars by v649_discipline_audit.py (claim META.DISCIPLINE.01) on every suite run. Nothing here is typed in by hand.

Buried coincidences

The graveyard

A confirmation-bias generator keeps every coincidence it finds. This project has buried 261 of its own readings — killed, retyped or retired in the open, each with the module that did it. Seven of the most tempting ones:

|G31| = |W(D₅)| · |W(A₃)|

buried

What was tempting. The sixty-line reflection group has order 46080 = 1920 · 24 — exactly the product of the two compiler Weyl groups. It looked like the glue theorem written as group theory.

How it died. Killed three ways: G31 is not isomorphic to the product (centers 4 vs 1), is no direct or semidirect product in either order (Lagrange kill), and W(D₅) does not even embed in any rank-4 unitary group. The order coincidence carries no structure.

evidence: v634

The pₙ = 2 + 2ⁿ bytecode reading

buried

What was tempting. The anchor's power sums looked like they might be literal code operations in the Reed–Muller dictionary — 'the compiler numbers are code words'.

How it died. 0/11 natural code families reproduce the sequence; 18, 27, 81 have no code reading at all. The bingo is buried in public; only the σ-selected anchor decomposition survives as an exact statement.

evidence: v646

The compiler clock as a square: c = w²

buried

What was tempting. The regular 24-element w satisfies w⁶ = ±J, so the order-12 compiler clock looked like its square — one clock, one origin.

How it died. Killed by a parity theorem: 12-cycles of any square arise in pairs from 24-cycles, and the clock's census 19×12 + 3×4 has odd counts — impossible even in S₂₄₀. A power-census scan over all 46080 elements confirms it.

evidence: v647

The naive 48 × 5 incidence on the E₈ roots

buried

What was tempting. 240 = 48 · 5 — the seam sites times the carrier slots. An external review proposed building the roots canonically as (cover modes) × (carrier slots).

How it died. The canonical order-12 element does not act freely (census 19×12 + 3×4, not 20 free orbits) — the construction fails at the first hurdle. The positive residue is sharp and smaller: the μ₄ clock alone acts freely with exactly 60 orbits.

evidence: v629

The external review's B-test

buried

What was tempting. A follow-up test proposed by an external review looked like an independent check of the anchor bytecode.

How it died. Machine-checked and found ill-posed as stated — recorded as such in the module instead of being silently reinterpreted until it passed.

evidence: v624
Standing kill criteria

What would falsify this

61 contract rows are open in the ledger, 48 with kill criteria named before execution. These are the ways the construction dies — committed in advance, not negotiated afterwards.

  • JUNO measures θ₁₂ outside the frozen band

    Exactly one solar-angle prediction of record is frozen (sin²θ₁₂ = 0.306747, registry frozen 2026-06-09, re-derived from the two axioms on every suite run). A JUNO result outside the declared band kills the neutrino texture.

    REG.FREEZE.01 · v84
  • A tensor ratio far from r ≈ 0.0037

    The scalaron sector predicts r inside the declared N★ band. CMB-S4 / LiteBIRD sensitivity reaches it; a detection well outside the band kills the inflation readout.

    freeze file · v65 / v86
  • Strong-CP, ordering, or w ≠ −1

    The remaining frozen criteria of the falsification surface: a strong-CP signal inconsistent with the null, an inverted neutrino ordering, or dark energy measurably away from w = −1 each kill their sector outright.

    freeze file · v65
  • The full kill board with thresholds
Status honesty

Four classes, one ledger, no silent upgrades

Every claim carries a display marker decided by the status ledger. The distribution below is measured from the ledger — and it is deliberately not flattering.

[E] established

Machine-verified exact: identities, lattice facts, formal results, audited numerics. The only class that carries load.

[C] conditional

Typed readings and physical identifications — observations that stay observations until a mechanism is proven. Never silently upgraded.

[O] open

Open gates, premises and research contracts — stated in public with their kill criteria, not hidden in an appendix.

[X] killed

Falsified or refuted readings, kept in view so they cannot be re-fished. The graveyard above is their showcase.

Measured ledger distribution776 classified rows (+2 declared axioms)
[E] 192 · 25%[C] 217 · 28%[O] 328 · 42%[X] 39 · 5%

More rows are typed open or conditional than established — the grading is earned per claim, decided by one versioned ledger, and a status can only move with new machine evidence.

AI transparency

Instruments, not authorities

The role of AI agents in this project, stated plainly — and why the trust model does not depend on them.

AI agents are used in this project — as instruments. They write and run the exploratory probes, draft module code and keep the mirrors in sync. They decide nothing. Every finding, positive or negative, must pass the same gate: a deterministic verification module with named checks, typed status markers and frozen tolerances, replayed in full by

python3 verification/run_all.py

Anyone can replay it — the suite is deterministic (the replay sample above is re-certified on every run), the papers and this site are generated mirrors of the same ledger, and the repository contains everything needed to do so. Dated corrections retain the original claim identifiers and their stated scope. Tools may propose; the source argument and independent checks determine the result.