GHU Lab

What changed, when, and why

One stream, newest first. Every entry answers three questions, and the third — so what — is the one that decides whether the frozen record has to move.

severitywhat it isnew frozen version?
notea clarification; no number movesno
extensionnew material; the record is still correctno
correctiona number or a statement movesyes
withdrawala claim is retractedyes

Git history is the audit trail underneath; this log is the human layer on top. They are not the same thing and neither replaces the other.

2026-10-28extensionthe instrument · affects the record: no

Continuous neutral isolation with proof, bilingual Demo and narrated supplement

what

Boundary research now includes section 6b: positivity and isolation of the light vector in a declared five-component GHU block. Three exact Wilson-angle queries (1/10, 1/5, 1/4) share fixed unit-square geometry and wall coefficients, with no added boundary kinetic term. A separate selector prevents accidental mixing with the fermion landscape or finite scalar stratum.

Results include rational mass enclosures, a lower bound on the next active eigenvalue and a positive separation. A self-contained written proof connects the exact matrices and trial to the continuous operator through min-max and Temple's existing inequality. The downloadable ZIP contains this proof, data, verifier and receipt. The engine is maintained externally; the lab presents certified queries. No mathematical novelty or new Lean formalization claimed.

why

The continuous proof justifies spectral bounds including natural boundary conditions; finite-matrix residuals alone would not suffice. The separate selector protects the certified scope from unrelated parameters.

so

The certificate does not bound SZ or RZW, select a vacuum, establish currents or identify the physical Higgs. No mass in GeV or experimental exclusion follows. Three decoupled zero directions are retained separately from the active ordering.

English/Spanish help, PDF manuals and live-demo steps describe the new instrument. A bilingual narrated supplement adds six chapters with real captures, captions, transcripts and proof links. The main films retain their previous dates and scope. This change does not add a menu section, card or simulator mode. Publication is a separate operation.

check
Run python _test_z_isolation.py, node _test_z_isolation.mjs, node build/boundary_research.mjs and the app/site builds. Replay python proof/z-isolation/verify.py proof/z-isolation/certificate.json --self-test.
2026-10-26extensionthe instrument · affects the record: no

Exact finite neutral quotient, corrected bilingual Demo and current manuals

what

Boundary research gains a sixth instrument for the finite complex C^5 → C^7 → C^2. The exact generic/restored stratum selects quotient dimension 0 or 1 independently of the numerical Wilson slider. Its downloadable package contains the matrices, rank and kernel witnesses, written proof and exact SymPy verifier. The live bilingual Demo now visits all six instruments; guides, both PDF manuals and the certificate catalogue are synchronized.

why

The finite algebraic question has an explicit checkable answer, while its continuous and physical interpretation remains open. The older four-instrument Demo was overriding the shared storyboard, hiding later additions; removing that duplicate restores the complete route in both languages.

so

This certificate establishes the stated finite quotient and distinguishes it from the gauge stabilizer. It does not certify the continuous-domain reduction, a Wilson–Higgs direction, a physical mass or mathematical novelty. No new Lean formalization is claimed. Both films retain their 17 October recordings and do not cover section 6; the players link to the updated live Demo. The current 181-scene storyboard is preparation for a future recording. Existing frozen papers and media retain their scopes.

check
Run python _test_neutral_certificate.py, node _test_boundary_research.mjs, node build/boundary_research.mjs and the app/site builds. Replay python proof/neutral-complex/verify.py proof/neutral-complex/certificate.json.
2026-10-17extensionthe instrument · affects the record: no

Certified matched profiles join Boundary research and both bilingual films

what

Boundary research gains a fifth diagnostic: two certified response comparisons of uniform and triangular wall profiles after matching source, pole and residue. Shared controls, comparison, exports, permalink and Demo retain the existing module structure. The downloadable certificate carries exact witnesses, a written continuum proof and an independent Sage 10.8 replay with 228 checks. Navigation remains 30 sections, 11 cards and 3 Simulator modes; all 46 bilingual guides and both PDF manuals remain synchronized. The main films contain 47 chapters and 178 scenes per language; Between physics and mathematics contains 46 chapters per language.

why

Matching a pole and its residue does not determine the off-pole response. This bounded instrument exposes two rigorously separated response intervals and the assumptions connecting residual estimates to the continuum result. Only the admitted parameter choices are displayed.

so

This is a certified diagnostic for the stated reduced model, not certification of complete GHU, an experimental fit or a thin-layer convergence rate. No new Lean formalization is claimed. Existing proof catalogue entries retain their own scopes. Historical films and frozen papers are preserved. Validation includes 10576 source checks in 82 harnesses, 21 final browser gates and 3455 main-film checks. The recording and final app differ only by a Spanish shortcut translation and build timestamp, as documented in the production notes. Synthetic narration and automated media checks are not a complete human listening review.

check
Run node _test_matched_profiles.mjs, python _test_matched_certificate.py, node build/boundary_research.mjs and the site build. Extract proof/matched-profiles/certificate.zip and follow README.txt for the independent Sage replay.
2026-10-14extensionthe instrument · affects the record: no

Hypothesis comparisons gain a shared demo, refreshed films and a reproducible data guide

what

The main English and Spanish tutorials now contain 47 chapters and 175 scenes, recaptured from the current interface. Chapter 47 and the embedded hypothesis Demo use one storyboard: compare cases, expand the potential, read measured CMS bins and correlations, inspect certificate scope and save a selection. The mathematics companion has 43 chapters. The general documentation, 46 bilingual guides, both PDF manuals, data index and certificate download are synchronized. The main cover reuses the 3D-response / 2D-mass composition shown on Mathstodon, recalculated from the gravity-gauge engine with current chapter counts and durations. The player preserves this cover before playback by avoiding an unnecessary seek to zero; 35 browser checks include rendered-cover comparisons in both languages and from disk. In Spanish, the new hypothesis chapter starts at 45:16.

why

Researchers need to move from a paper or video to an understandable calculation, its inputs and reproducible evidence. A small local coupling change is not proof of a globally identical potential or of experimental indistinguishability. Measured cross sections, resonance limits and theoretical potentials retain their distinct scopes.

The final interface review also synchronizes the hypothesis card's language labels and retains expanded evidence when the section redraws. Fifty browser checks cover the live English/Spanish round trip, selected inputs, saved comparison, numerical results, selected figure, certificate visibility, imports, exports and demos. The recordings remain tied to source checkpoint 99007ca, documented in the production notes; their data, media and chapter times are unchanged by this UI fix.

so

This is a tool and teaching revision. Historical films retain their original media. Ten rational Lean identities and scoped numerical certificates do not certify a full physical model. A compatible GHU prediction, observed fit, full-integral error bound and global-minimum proof remain pending. Synthetic narration and automated media checks do not constitute a complete human listening review.

check
Run node _test_demo_scripts.mjs, node build/hypothesis_compare.mjs, node build/demos.mjs, python tools/mathematics_video/hypothesis/verify.py, and the site build. Extract the certificate ZIP and run python proof/verify_bundle.py, python data/hypothesis_comparison/build_visuals.py --check and python proof/hypothesis/certify.py --check.
2026-10-13extensionthe instrument · affects the record: no

Exact quantization diagnostics, downloadable Lean evidence and bilingual walkthrough

what

Added Quantization & certificates as an independent menu section with exact rational inputs, universal and closed-spin period criteria, a conditional parent-transfer obstruction, joint U(2) arithmetic, exports and a guided demo. The proof catalogue publishes the four Lean files, replay scripts, numerical reports and SHA-256 manifest.

why

A polynomial cancellation, a quantized class and a full global action are different requirements. The previous site build exposed selected reports without systematically shipping their proof sources. The Spin(20) trace interpretation also needs the distinction between ta squared equal to minus one and Ua squared equal to plus one.

so

Readers can test and reproduce each scoped claim. Complete anomaly cancellation, admissible orbifold backgrounds and scientific novelty remain open. The main bilingual film now includes chapter 46 (165 scenes overall), alongside the standalone eleven-scene supplement and preserved October 12 edition. Its index follows playback and chapter seeks, including fractional-second boundaries. Every card now has contextual information; interface language changes preserve inputs and restore the English source text. Local links, rendered application links and all maintained data formats are checked. Measured collider limits remain separate from the new arithmetic criteria, which do not yet predict experimental observables.

## Mathematical film integration

The mathematical companion is updated in the same animated whiteboard system, with 38 chapters in English and Castellano. Its revised closure and nine new chapters connect the physical dictionary, quantum phases, characteristic classes, spin backgrounds, joint U(2), conditional parent transfer, group lifts, exact module figures and the actual maintained ATLAS/CMS upper limits. The original 29-chapter film is archived. See [the current video guide](https://karlesmarin.github.io/ghu-explorer/video/mathematics/bridge.html) for each statement’s scope and the still-missing map to collider observables.

2026-10-12notethe instrument · affects the record: no

An animated path between physics and mathematics

what

The English mathematical companion now explains four boundary-research diagnostics through animated whiteboards, calculated 2D/3D figures and real laboratory controls. Its 29 chapters (11:34) show how a boundary condition opens a gap, how integrated overlaps test independence, how a weight sum produces an exact polynomial, and how a conditional congruence constrains identical assignments. The general bilingual tutorial is retained separately.

why

A mathematical explanation should show how a result follows from its assumptions. Visible profile changes, integrated overlaps, exact coefficient sums and residue clocks let readers follow the argument and distinguish a scoped calculation from a complete physical model.

so

The <a href="https://karlesmarin.github.io/ghu-explorer/video/mathematics/index.html">video page</a> links the MP4, subtitles, transcript, primary sources and ordinary proofs. The <a href="https://github.com/karlesmarin/ghu-lab/tree/main/proof/boundary-research">certificate bundle</a> contains 113 reproducible checks with rational intervals and exact trace coefficients, plus independent numerical comparisons. No proof-assistant formalization or complete physical-model certification is claimed. The scientific engine and the application version remain unchanged.

Reproduce the evidence with <code>python proof/boundary-research/certify.py --check</code>. Production and capture instructions are in <code>tools/mathematics_video/README.md</code>.

check
Play the English mathematical video, seek across all four topics, and reproduce proof/boundary-research/certify.py --check.
2026-10-12notethe instrument · affects the record: no

Spanish edition of the physics and mathematics film

what

The mathematical film now has a complete Spanish edition: 11:55, 29 chapters, translated narration, captions, whiteboards and new captures of the Spanish laboratory interface. Both language pages link to each other, the laboratory and the shared mathematical evidence.

why

The same visible reasoning should be accessible to Spanish-speaking viewers, including graph labels and actual controls. Spanish speech determines its own timing, so the edition has independent chapters and subtitles.

so

Open <a href="https://karlesmarin.github.io/ghu-explorer/video/mathematics/index-es.html">the Spanish film</a> or download its MP4. Production sources, a manifest and 196 video checks accompany it. The mathematical examples and 113-check certificate bundle are shared with English. The English MP4, scientific engine and frozen records retain their existing bytes.

check
Play the Spanish MP4 and seek through all 29 chapters; run tools/mathematics_video/es/verify_final.py with the dependency directory.
2026-10-12extensionthe instrument · affects the record: no

Boundary research tools with linked 2D and 3D mass views, explicit assumptions and bilingual guidance

what

The tenth embedded research card adds four reusable calculations: a flat Robin boundary spectrum, complex profile Gram rank, exact parity-inserted half-spin traces, and a restricted six-dimensional SU(2) tensor condition. The map, rotatable-perspective surface and spectrum slice share the same computed masses. Selecting points updates the physical inputs; the camera angle changes only the view. SVG and JSON exports retain the grid and input values.

English/Español switches the new card's controls, results, graph labels, messages and demo without resetting inputs. The Spanish guide uses the translated control names; the general video has separate English and Spanish captures so the new Spanish chapter shows Spanish results.

why

An unwanted zero mode, linearly dependent profiles and an anomaly obstruction are different failure mechanisms. A diagnostic should expose which requirement fails without turning a partial success into a complete model verdict. Nonzero overlaps do not establish dependence, and factorized anomaly polynomials do not establish an integral tensor charge lattice.

so

The worked examples, assumptions, formulas, API, failure cases and independent reference calculations are documented in docs/boundary-research.md. The 44 English/Spanish guides and their manuals include the new card. The general video revision 2026-10-12-boundary-research has 45 chapters and 154 scenes in each language. The 10 October Demo revision keeps its original page and media. Tool version is 1.0.0; the application release is 0.2.1.

Numerical references use SciPy, NumPy and Fraction; browser checks exercise graph selection, numeric controls, saved links, exports and mobile layout. The full local/global anomaly calculation, normalized coefficients, integral charge lattice, Wilson vacuum, realistic flavour and neutrino masses remain open. None of the frozen paper records is revised by this addition.

check
Open Anomalies → Boundary research. Compare boundary coupling 0 and 1, profile mass 0 and 1, and one and three identical 6D families. Select a point on the 2D map or 3D mesh and confirm that the numerical controls update. Full anomaly cancellation must remain unknown.
2026-10-12notethe instrument · affects the record: no

Unified documentation for the English and Spanish mathematical films

what

Both repository READMEs, the documentation landing page, the video index, Editions, boundary-tool documentation and production instructions now present the English (11:34) and Spanish (11:55) mathematical films together. A video guide explains the four physics-to-mathematics connections, laboratory workflow, downloads, scope, verification and reproduction.

why

The Spanish film was already available, but several entry points still described the companion as English-only. Shared certificate checks, video checks and the separate general tutorial also needed clearly identified documentation.

so

Readers can find either 29-chapter edition and its production sources from the main documentation routes. The certificate provenance records the revised explanatory README and both video hashes. Mathematical certificate bytes, MP4s, application version and frozen scientific records are unchanged.

check
Build the site; check both language links from Docs, Video and Editions; run the shared certificate checker and validate provenance hashes.
2026-10-10extensionthe instrument · affects the record: no

Video guide revision with the first KK gluon chapter

what

The English and Spanish video guides gain chapter 43, First KK gluon at the LHC: the published warped reference point at the edge of the ATLAS tt̄ comparison, the m(tt̄) spectrum with constructive interference, the flat GHU coloron where it turns destructive, and how the expected Δχ² moves with the SM theory uncertainty. All 44 chapters were recaptured against the current laboratory, and the opening scene mentions the new chapter.

why

Every embedded experiment card has a chapter of its own; the ninth card had only a pointer to the Collider chapter.

so

The player, subtitles, transcripts and downloads select the 10 October revision. The certification revision of 8 October stays available as a historical page with its original media, as do the earlier guides. Narration remains synthetic, and results in the recording are computed by the application.

2026-10-10extensionthe instrument · affects the record: no

Video guide re-recorded on the current laboratory, with the 🎬 Demo buttons

what

All 44 chapters and 145 scenes of the bilingual video guide were captured again on the laboratory as it now stands. The previous revision (morning of 10 October) predates the guided 🎬 Demo buttons, so none of its screens showed them. The welcome now says that every section and card has a Demo button, and the KK-gluon chapter opens by starting that card's own demo, then stops it and takes over. Its narration follows the card after the external review of the same day: the published RS point with all nine bulk masses, and the m(tt̄) Δχ² with the SM-theory uncertainty taken as one correlated normalisation (5.3 instead of 1.8 for the flat coloron at 4.5 TeV).

why

A walkthrough whose screens no longer match the laboratory teaches the wrong page.

so

tools/video_guide/add_revision_demos.py makes the revision; every chapter was recorded, narrated, rendered and verified against the application now in the tree. The 10 October morning revision is preserved as video/2026-10-10-kkgluon.html with its original media, and the video gate checks that it still plays. Demos are generated from the same storyboard; the video's start and stop of a card demo are left out of them (a demo cannot start itself), and _test_demo_scripts.mjs checks both.

2026-10-10correctionthe instrument · affects the record: YES

The KK-gluon card after an external review — nine bulk masses, the ATLAS control with its chiral couplings, and certificates that can fail

what

An independent review of the laboratory found six defects in the KK-gluon card and its harnesses; each was reproduced here before it was fixed.

- The published RS point was a reduced one. The card set Q₂ = Q₁ and d₁ = d₂ = u₁. It now carries all nine bulk masses of arXiv:0807.4937, still in the flavour-diagonal zero-mode approximation without mass-basis rotations. At 3.75 TeV this moves σ × BR(tt̄) by 1.2% and the dijet σ × B by 19%; the tt̄ crossing moves from 3.73 to 3.72 TeV. - The ATLAS control ran the wrong chirality. ATLAS's benchmark has g_tL = g_s and g_tR ≈ 4 g_s; the harness used the vector top threshold. With the benchmark's couplings, our LO curve falls from 1.11 to 0.82 of ATLAS's between 1 and 5 TeV: within 15% from 1 to 4 TeV, 15–18% low at 4.5–5 TeV. The vector threshold had inflated the low tail and kept 5 TeV inside 15%. The mass slope is not explained; 4.5–5 TeV is pinned as a known deviation. - The live reference check could not fail. With an empty reference it returned perfect agreement, having compared nothing. It now counts its comparisons, reads an empty block or a non-finite difference as a failure, and judges the result by the harness's own tolerances. - The covariance solve accepted a non-symmetric matrix, reading only its lower triangle. It now refuses one. - A resonance with no top coupling gave NaN (0·0/0) instead of zero. - The dijet certificate said 4% and its harness tested 5%. The real worst case is 3.85%; the harness now tests 4%.

why

A certificate that cannot fail certifies nothing, and a control run with the wrong couplings passes for the wrong reason. The review found both; neither was visible from inside, because every harness was green.

so

The labels say what is assumed. The m(tt̄) sensitivity rests on a 10% SM-theory uncertainty that this tool chooses: it is now shown both uncorrelated and fully correlated, since CMS correlates its theory errors and the answer depends on that choice. The same K-factor for SM, octet and interference is stated as assumed, not validated. α_s is labelled as run at one loop from its value at M_Z; tools/alphas_table_check.py measures it against the PDF set's own table: 0.55–0.72% higher between 0.5 and 8 TeV (data/alphas_table_check.txt). Each fix has a negative control in its harness: an empty, corrupted or NaN reference fails; a non-symmetric matrix is refused; zero top coupling gives zero. The build now prints FAILED beside a harness that dies on an assertion, instead of "(no output)".

check
open Collider → First KK gluon at the LHC and press Published RS point (arXiv:0807.4937). r(tt̄) at 3.75 TeV reads 0.96 (it read 0.98), and the m(tt̄) paragraph now gives three Δχ²: 3.2 with the SM-theory uncertainty uncorrelated between bins, 5.6 with it as one correlated normalisation, 5.6 with the experimental covariance alone. The certificate tt_control says 1 to 4 TeV, not 1 to 5.
2026-10-10extensionthe instrument · affects the record: no

The first KK gluon against ATLAS, CMS dijet and CMS m(tt̄) data

what

A ninth experiment card, Collider → First KK gluon at the LHC. Choose the flat GHU coloron or a warped KK gluon with zero-mode quarks of bulk mass c; read couplings, widths and branching fractions; compare LO σ × BR(tt̄) with the ATLAS observed limit and σ × B × A(dijet) with the CMS spin-1 limits interpolated to the width, as r = prediction / limit. The card also computes the m(tt̄) spectrum with the interference between the KK gluon and the QCD gluon in the bins of the CMS parton-level measurement, and the expected Δχ² against its covariance.

why

The collider section compared a mass with a bound; an experimental limit is on σ × BR, so the meaningful comparison is a rate. A broad KK gluon also changes the tt̄ spectrum below its pole through interference, whose sign depends on the couplings: destructive for flat GHU, constructive for the published warped reference point.

so

Every number carries its status and witness. Couplings are checked against a 40-digit reference; ATLAS's and CMS's own theory curves are reproduced; the spectrum agrees with an independent computation from Dirac traces and LHAPDF, recomputed in the page. A crossing is a comparison with each experiment's benchmark and the spectrum Δχ² is a sensitivity, not an exclusion. LO only; four-top production and fermion KK modes are not computed.

2026-10-10extensionthe instrument · affects the record: no

A guided 🎬 Demo in every section, Simulator mode and experiment card

what

All 44 parts of the laboratory now have a 🎬 Demo button: 29 menu sections and the Simulator modes in "How to use this section" (a section with several demos offers a menu), and the nine experiment cards in their heading. A demo presses the real controls, explains each step in a banner with Next and stop buttons, and ends with how to read the result and a link to the full guide. A link with demo=<id> starts one; lang=es gives it in Spanish.

why

The first demo, in the KK gluon card, showed that a reader understands a panel fastest by watching it answer. The video guide already scripts every panel; the demos reuse that script inside the laboratory, where the reader can take over at the end.

so

The demos are generated from the video storyboard and the user guides, so the two cannot drift apart: a harness fails if either changes without regenerating them. A browser gate runs all 44 demos to their closing panel and requires that no step fail, with negative controls proving the gate can fail. The nine experiment cards have hand-written demos instead: each follows the question its card answers, presses its own presets, and every number in the banner is read from the card at that step (src/view/card_demos_cards.js). Every menu section and Simulator mode has a hand-written demo too (src/view/card_demos_sections.js): their banners quote what the section prints at that moment, so no banner states what the page does not say, and most close with the user guide's own reading. Only the welcome and export demos still follow the video script.

2026-10-10extensionthe instrument · affects the record: no

A guided simulation in the first KK gluon card

what

The First KK gluon card has a 🎬 Demo button. In about forty seconds it loads the published warped reference point, reads r against the ATLAS tt̄ limit, shows the m(tt̄) spectrum with its interference, switches to the flat GHU coloron, and sets the SM theory uncertainty to zero, with a banner explaining each step and a closing panel on how to read the card. A link with demo=kkgluon starts it; lang=es gives it in Spanish.

why

A card with nine controls teaches little until someone moves one. The demonstration presses the real buttons, so a reader can see the tool answer before choosing their own point.

so

Nothing in the demonstration is precomputed: every number in the banner is read from the model at that step. The banner can be closed at any time, and the card is left editable in the state the demonstration reached.

2026-10-09extensionthe instrument · affects the record: no

Bilingual user guides, contextual help and a complete current sitemap

what

Forty-two guides in English and Spanish explain every menu section, Simulator mode and embedded experiment, plus neutrino decays and getting started. Search by task, browse by family, follow an example and inspect the assumptions. The app opens the relevant guide without resetting the calculation; language changes retain the page. Both manuals are generated from the same records, with Babel composing the Spanish PDF.

why

Help was distributed across short panels and technical notes. The maintained catalogues now supply inline help, a 59-term glossary, full HTML guides and manuals. Older glossary wording has been scoped to its gauge seed, moment approximation, boundary conditions and comparison hypothesis. These clarifications do not change numerical formulas or frozen paper evidence.

so

Home, Docs, Editions, both repository READMEs and the machine-readable inventory link the guides. Current pages have canonical URLs; English and Spanish guides declare reciprocal alternatives. The root sitemap includes all current guide pages, with no fragment-only model states or frozen archives presented as separate current tools. Coverage, routes, formula parity, links, browser behaviour and PDF typesetting are checked before publication. Discovery aids do not guarantee search-engine indexing.

2026-10-08extensionthe instrument · affects the record: no

Updated bilingual video guide, documentation and root sitemap

what

The English and Spanish guides now contain 139 narrated scenes in 43 chapters. The added demonstrations cover SU(7) certificates, moment approximation errors, equal-moment potentials, the uncertainty budget, ATLAS/CMS references and matched thermal calculations. A visible bilingual CC button shows or hides subtitles and retains the choice across seeks and language changes. Captures use the current laboratory; captions, transcripts and chapter times follow the final narration.

why

The previous tutorial predates these diagnostic cards. Documentation, Changes and Editions now explain the same release, and the root sitemap is generated with the current public pages and linked from the main page.

so

The video update changes teaching material, not the scientific application or frozen papers. Earlier 7 October and 8 October tutorials remain available with their original media. The dossier distinguishes proof scope and physical unknowns, and scientific authorship is retained. The sitemap helps page discovery; it is not a claim that Google has indexed the pages.

2026-10-08extensionthe instrument · affects the record: no

Certified SU(7) benchmarks, uncertainty and named experimental references

what

The laboratory adds 26 Lean algebraic theorems, ten fixed-potential global-minimum certificates, conditional moment ceilings, full-Fourier versus moment error diagnostics, an exact equal-local-moment example, and a separated numerical and input uncertainty budget. The English certification dossier preserves formula attribution, proof inputs, checksums and reproduction commands. ATLAS/CMS mass references and archived CMS dijet tables retain their individual scope.

why

A computed value, a formal identity, an interval enclosure and a phenomenological claim require different evidence. The dossier makes these distinctions explicit. Matched PhaseTracer and CosmoTransitions calculations compare the same thermal potential and field convention, including tolerance and cutoff diagnostics and their shared shooting-method ancestry.

so

No frozen paper is rewritten by this laboratory extension. The physical gauge determinant, higher-order matching and a complete GHU likelihood remain open. Git attributes preserve the exact bytes used by certificate checks. The proof replay reproduces 26 Lean declarations and the 1,347 SU(7), 235 conditional-bound, 110 moment and 57 uncertainty checks. The new cards and downloadable artifacts are linked from the documentation.

2026-10-07extensionthe instrument · affects the record: no

Watch the laboratory in English and Spanish

what

A chaptered Full HD video guide demonstrates all 29 menu sections, three Simulator modes, eight research cards and integrated diagnostics. English and Spanish versions include synthetic narration, timed captions, searchable chapters, transcripts and downloads.

why

A description of a control is easier to follow when the control, its changed value and the resulting calculation are visible together. The video keeps the scientific assumptions beside the outputs.

so

The home page, documentation, navigation and both repository READMEs link to the guide. The instrument and its scientific calculations are unchanged. Only the video page loads adjacent, versioned media; it does not depend on an external video service.

2026-10-07extensionthe instrument · affects the record: no

Integrated transition history, conditional rung bounds and reproducible assumption studies

what

Thermal SU(3) now integrates nucleation, percolation, completion and expanding bubble volumes from refined PhaseTracer actions. A gated acoustic spectrum retains supplied wall, efficiency, expansion and reheating assumptions. Screen a table gains interval certificates for listed candidate and published rungs, plus independent full-Fourier witness checks. Three reproducible studies archive actual HiggsTools coupling/width profiles, 160 thermal scenarios and 80 selected vacuum checks after a budgeted candidate enumeration. Both repository READMEs, panel help, public documentation, result-card guidance and the handoff describe the new routes, outputs, reproduction commands and limits.

why

The S3/T proxy does not itself establish percolation or completion. A small-angle moment ceiling does not certify the full-potential vacuum. A Higgs width constraint depends on which couplings may vary. Each calculation now exposes these distinctions with the corresponding numerical evidence and assumptions.

so

The certificates remain conditional small-angle bounds; selected full-potential survivors are numerical witnesses, not proven global optima. The thermal acoustic amplitude is sensitive to supplied plasma parameters. The scalar fit, thermal SU(3) and candidate SU(7) are separate models; no combined GHU likelihood or detector significance is claimed. Existing papers and archived editions are unchanged.

check
In Simulator select SU(N) builder and a thermal paper case, then vary wall speed and efficiency in the integrated history. In Screen a table open the conditional bounds and witness checks. Run build/build_app.py --browser and tools/plot_exploration.py research/2026-10-07.
2026-10-07extensionthe instrument · affects the record: no

Fixed light inputs, neutrino responses and descriptive experimental-reference figures

what

A new experiment reconstructs the same light inputs along nine ring/deficit paths. Five descriptive figures display heavy centres, splitting, raw and explicitly normalized vacuum current factors, a magnified difference and the archived DeepCore 2018 reference map. The fourth study category archives 738 scan points and standalone SVG/PNG/PDF figures. Original experimental tables, hashes, independent NumPy/SVD references and browser checks accompany the code. Both READMEs, inventory, help and public guides describe the complete route.

why

Reproducing supplied masses does not make them predictions. A research tool must show which additional responses change, where normalization hides an effect, and which data assumptions permit a comparison. Captions, scales, fixed-input labels and difference plots make this visible.

so

This is tree-level, leading-Majorana reconstruction with specified vacuum current normalization. DeepCore is an archived standard-three-neutrino reference, not a nonunitary ring fit. No ordering odds, extrapolation, ring exclusion or sum with NuFIT is assigned. Detector response, matter, weak-input refits and radiative stability remain open. Frozen papers and editions are unchanged.

check
In Simulator select Neutrino ring and open Fixed light inputs. Compare the three presets and change the sweep position. Run node _test_neutrino_research.mjs, node tools/neutrino_identifiability.mjs and build/build_app.py --browser.
2026-10-07notethe instrument · affects the record: no

Complete laboratory map, source-derived counts and updated neutrino scope

what

🧭 Both READMEs and the public home/docs now expose the complete laboratory: model families, three Simulator modes, seven attached experiment cards, integrated analyses, optional scientific engines, experimental references and three reproducible batch studies. The 29-entry navigation catalog follows the actual registry order. A detailed map and source-derived JSON inventory show where each capability lives. 🧬 The neutrino guides, model explanation and exports acknowledge computed leading Majoron light/heavy widths and the separate three-copy flavour reconstruction. The unresolved full width, joint fits and uncomputed channels retain their scope.

why

A navigation count alone hid much of the implemented laboratory. Older descriptions also continued to list Majoron phenomenology and all flavour work as wholly uncomputed.

so

Readers can find and try the current capabilities without inferring them from the historical panel count. Emojis and aligned route tables make the map easier to scan. Numerical calculations and archived scientific results are unchanged. Long paths in the change log wrap within their column on narrow screens.

check
Run tools/laboratory_inventory.py, compare both README catalogs with its menu order, run build/build_app.py --browser and build/build_site.py, and follow the laboratory-inventory guide.
2026-10-06extensionthe instrument · affects the record: no

GHU research experiments with visual comparisons and scientific backends

what

Count a rung now builds its plot automatically. Candidate-seed curves and recurrence checks use the half-integral A4 grid; the published measured-mass fibre and budget comparisons are not transferred to that seed. Existing sections gain Maru–Nago SU(6), warped differential gauge running, a three-copy neutrino flavour construction, computed Majoron decay channels, RS gauge/baryon anomalies, thermal SU(3) with real PhaseTracer bounces, and complete Higgs scenarios evaluated with official HiggsTools datasets. Each experiment has a question, key indicators, interpretation, comparison snapshots, expandable numerical details, figure selection and a readable research summary export.

why

A useful calculation must make its inputs, numerical stability and permitted conclusion visible together. The existing navigation already provides the right places for these questions. New external calculations record program and dataset versions and are rejected when their inputs do not match the current scenario. The static reference examples and browser calculations work offline; an optional local scientific engine handles new bounce and experimental-fit points.

so

These are explicitly scoped model calculations. PMNS inputs are reconstructed, not predicted; finite-temperature nucleation uses an S3/T proxy, with precision sensitivity displayed; Higgs exclusion applies to the specified scalar scenario. Frozen Editions physically omit the local network bridge. Source tests, independent SciPy/Sage checks, real external runs and Chromium interaction tests accompany the new modules. No paper or archived checkpoint is revised.

Screen 3 now draws the candidate-seed arithmetic comb instead of leaving its canvas empty. Its missing per-rung ceiling certificates and physical reachability are stated explicitly; it no longer presents the other seed's ceiling table beside an empty candidate plot.

check
Open the experiment shortcuts in Paper models, Brane kinetic terms, Simulator, Anomalies & proton and Collider. Save a reference point, change a parameter and compare the indicators and figures. Run build/build_app.py --browser.
2026-09-18correctionthe instrument · affects the record: YES

Every card now says which arithmetic made it, and the text export no longer drops the structured values

what

Two things that travelled with every result this tool has ever handed out, and neither was right.

The card did not say which arithmetic produced it. card.mjs has always documented its provenance block as "tool version, build, kernel hash, model id". The field existed, the printer printed it — and nothing ever filled it. Counted on 18 September: seventeen call sites, seventeen passing version and build, none passing a hash. The line was printed only when the value was present, so its absence was invisible. Every card said which release and when it was built; no card said against which engine.

Now the build computes a digest over src/kernel/ and src/modules/ — the files where the arithmetic lives — and injects it into the page; makeCard refuses to build a card without one, and the text form prints it always.

The text export silently dropped structured values. A result whose value is an object — coords, the five complete invariants of Part VII Theorem 3; moments; laws; seed; vacuum — came out as [object Object]. Five of the nineteen rows of an SU(7) card. The .json export beside it was complete the whole time, so the two exports of the same card disagreed and only one of them was ever read.

why

Because a fingerprint is what lets you tell two situations apart that otherwise look identical. Same input, same fingerprint, different numbers is a bug worth reporting. Same input, different fingerprint, different numbers means the engine moved between the two runs, and this log says what moved. Without it you cannot distinguish them, and a reader comparing two cards months apart has no way to know which of the two they are looking at.

And because a value that disappears without saying so is worse than one that is absent. A reader pasting the plain text into an email lost the five invariants that decide whether two contents have the same one-loop potential, with nothing on the page to suggest anything was missing.

so

The printed record does not move: no number in any paper changes, and the JSON exports were always complete. What moves is what an exported card can be trusted to tell you about itself. Any .txt card exported before today is missing its structured rows and cannot name its engine; re-export it. A .json card from before today is complete except for the fingerprint, which will read null.

The seam is now held by a harness of its own, _test_card.mjs: the guard fires, every call site in the source passes a hash, the fingerprint in the built page equals the digest of the sources on disk — so a stale build is caught rather than published with a fingerprint that lies — and no card's text form may contain [object Object]. A full guide to reading a card, on a real export, is in [docs/result-card.md](https://github.com/karlesmarin/ghu-lab/blob/main/docs/result-card.md).

check
open any panel and press ⇩ card. The header block of the .txt now carries a kernel line — sixteen hex characters — and it was absent from every card the tool has ever exported. Then open a card from Hierarchy with a published row and look at coords, moments, laws, seed and vacuum: they now print as JSON. Until today they printed [object Object], five of nineteen rows, while the .json beside them was complete. If you hold an exported .txt older than this entry, re-export it.
2026-09-15correctionthe instrument · affects the record: YES

The vacuum verdict now says what it did not test, and a caveat that was an overclaim came out

what

The vacuum result of the hierarchy module used to hand over a three-valued verdict — true vacuum, false vacuum, undetermined — and nothing about what was varied to get it. It is obtained by minimising over the Wilson-line phase at fixed geometry. The radius is a field too, and it was never varied. Neither was the joint Higgs–radius direction.

Now the verdict carries its own scope, and the scope travels into both exports — the JSON card and the plain text:

scope: { geometry: "fixed", varied_fields: ["wilson_line_phase"], radius_stability: "not-evaluated", joint_higgs_radius_stability: "not-evaluated" }

And the caveat on the published anchor row of su7_km25 used to end *"…and this is the only row whose m_h falls inside the 125–127 GeV window"*. That is true by the approximate route and false by the summed one, and the two fall on opposite sides of the window. It now says that the window is decided by the summed potential, which is what the panel computes.

why

Because a true-vacuum verdict with no scope reads as a statement about the vacuum of the theory, and it is not one — it is a statement about one direction of field space with everything else held still. A reader who keeps the exported card keeps the verdict; if the card does not carry the hypothesis, the hypothesis is lost at exactly the moment the number starts travelling.

The caveat had the same shape one level up: a sentence that was true of the route the tool no longer uses to decide. Two routes that disagree is not a defect — printing only the one that agrees with you is.

so

The scope is not prose. _test_hierarchy.mjs gained a harness of four cases — published angular minimum, false angular vacuum, no electroweak breaking, no branch located — and each one asserts three things: the verdict still answers the original question, the JSON names the fixed geometry and both untested stability questions, and the text export carries the same two sentences. An export that drops the scope fails the build.

build/drive.mjs gained nine assertions through a real mouse holding the panel to the corrected caveat: that the anchor header names the summed potential as the window arbiter; that the actual anchor spans opposite sides (in_window true, in_window_summed false); that both routes are visible with their distinct values; that only the summed flag can admit a true angular vacuum; that an unavailable summed mass gives window undetermined rather than a pass; and that the three negative states stay distinguishable — false vacuum, No electroweak breaking, No small-phase branch located. Three different reasons for "no" that a single flag would have merged.

Gates on this build: 1 982 checks across 47 harnesses, drive.mjs 206 ok, site 30 ok, layout.mjs 0 to fix, extremes.mjs 448 clean renders, leaks.mjs nothing grew with 0 console over both walks, lifecycle.mjs 9 panels abandoned with nothing left behind.

Still not evaluated anywhere: the radius direction. The scope now says so, which is the honest floor and not a fix.

check
open Hierarchy with the published anchor row and press ⇩ card. The JSON's vacuum value now carries a scope block — geometry: "fixed", varied_fields: ["wilson_line_phase"], radius_stability: "not-evaluated" — and the plain-text export opens the same verdict with "Angular vacuum at fixed geometry." Then read the row's caveat in the model panel: it no longer claims the row is the only one inside the 125–127 GeV window. The panel prints both routes side by side, 125.85 and 127.85 GeV, and they fall on opposite sides.
2026-09-15extensionthe instrument · affects the record: no

Gravity–gauge in 3D — equal masses, different responses

what

A new app panel explores a positive gauge kinetic family on a warped interval. Controls, two interactive 3D plots, tables, help, result-card and LaTeX exports, and a permalink are all part of the existing app. The response surface can show the spectral-weight multiplier or Z.

why

A complete paired tower of masses and a fixed four-dimensional gauge coupling leave independent source-response and Wilson-normalization information. This panel makes that ambiguity testable by changing the action while holding those inputs fixed.

so

The paired tensor-NN/vector-DD spectrum is protected. The vector-NN control has different boundaries and moves. p=1.1 has a canonical scalar bulk realization; general p=1 weights are kinematic references, with eta=-0.99 recovering minimal RS. No Higgs mass, radion stability or collider rate is inferred. The established operator and GHU literature is linked in the panel.

The normal build runs 104 new checks against independent Python/SciPy references and the compiled engine. The new panel passed 20 Chromium interaction/export/layout checks. Read docs/h185-gravity-gauge.md for the equations, numerical provenance and full user instructions.

check
Open Gravity & gauge · research → Gravity–gauge · 3D, press eta=-0.9 and eta=0, and compare the unchanged paired masses with the changing Wilson scale and response. Rotate the plots or select a point on the surface.
2026-09-08notethe instrument · affects the record: no

What the page was still doing after you left a section, and the button that stayed dead

what

A section's listeners were given a lifecycle four days ago. Its timers were not, and that is the same defect one turn later.

Every long computation here is sliced so the page keeps answering while it runs — the calculator's sweep is seventeen seconds of arithmetic in blocks of ten representations, the BLKT demonstration walks eight coefficients at 620 ms apiece, and eight more panels defer their work the same way. Each slice was scheduled by a section and written as though that section were still on screen. It need not be: picking another panel replaces the whole of #section, and the pending timer outlives the elements its callback reaches for.

document.getElementById("cSweepNote").textContent = … is then null.textContent. Three panels threw it — the calculator, the BLKT demonstration and the literature census — and in the demonstration the exception landed above the line that clears its running flag. _demo opens with if (BLK_S.running) return;, so one mistimed click on the rail left the ▶ button dead until the page was reloaded.

A timer now belongs to the mount rather than to the closure that asked for it: ctx.later registers it with the shell, and leaving the section cancels every one and calls the section's dispose. Ten call sites moved; three panels that keep a flag gating their own button give it back there.

Three smaller things, found on the way. ctx.load() wrote η and role only for the multiplets the incoming model names and left the others carrying the previous model's, invisibly, at zero multiplicity — so adding one back through the catalogue's + returned it wearing the η of a model that was no longer loaded. The link button said copied whether or not the clipboard had taken it, which is a lie precisely on the readers this page advertises: file:// is not a secure context in every browser, and the Clipboard API refuses there. And the home page said *"One bulk model, eleven computations over it" and "Seven papers"* — it is three models, twenty-seven panels and ten records.

why

Because a null-check at each of the ten call sites would have silenced the exception and kept the bug. The work would still run, off screen, against a model the reader has since changed, and its result would be cached as though it were about what is now on the page. The exception was the symptom; the section owning a timer the shell cannot cancel was the defect.

And because the counting had the same shape as the sentence. _test_site.py already guarded that the home page keeps the sentence saying the numbers are not citable; nothing had ever been asked whether the page keeps its arithmetic. So the counts are no longer written: build_site.py reads the section registry and data/series.json, and a new check fails the build if any page states a count those two do not support. MODEL_FAMILIES in the registry says which of the six families are published models — three — next to where the families are declared, and renaming a family now stops the build instead of quietly shrinking the total.

so

build/lifecycle.mjs is the gate, and it does the one thing no other tool here does: it starts something long and then walks away, which is what a reader does constantly and what every other harness is careful not to do. Nine panels, three claims each — nothing throws, no timer outlives its section, and the panel still works when you come back. Pointed at the build that was live when it was written it goes red on five of the nine and names the defect: three TypeError: Cannot set properties of null (setting 'textContent').

Its first version reported six false failures, and the reason is worth keeping. There are two shapes of deferred work here and only one can be walked out of: a single block behind a 20 ms deferral holds the main thread for seconds and a rail click cannot interrupt it, so the only moment a reader can leave is inside that window. Waiting 130 ms and then asserting the caption is empty is asserting that a finished computation should be forgotten. Each case now declares when it leaves, and reports NOT IN FLIGHT rather than passing if it turns out to have abandoned nothing.

_test_lifecycle.py is the cheap half and runs on every build: no file under src/sections/ may call setTimeout directly. The behavioural gate covers the nine panels somebody wrote a case for; this one reads all thirty section files, so the next panel to grow a sweep cannot reintroduce the defect where no case looks. It flags one more thing, which was a live hole rather than a style question: ctx.later claims the mount current at the moment it is called, so a requestAnimationFrame wrapping it hands the work to the next section's mount, which owns it, which runs it. The dossier did exactly that, and the abandoned-work gate caught it as a panel that abandoned nothing.

The build now prints 1 964 checks across 47 harnesses, which is where README.md's sentence comes from rather than from anyone's memory of it.

check
open Brane-localized kinetic terms, press ▶, and while the coefficient is still walking click any other section on the rail. Come back and press ▶ again — it runs. Before this it did nothing, for the rest of the page's life. The console stays empty throughout, and the same is true of the calculator's seventeen-second sweep and the literature census.
2026-09-08extensionthe instrument · affects the record: no

The seven panels that could not export, and the button that had been dead for weeks

what

Seven panels hold their own model and could not export it, so this morning both their export buttons were hidden — the honest answer, and a loss of capability that was listed here rather than left to be discovered. They export now: anomaly5d, bcclass, brane, orbifold, relations, spectrum5d, sweep5d.

Each carries its own values, not the builder's. The ledger exports the channels it checked and the three-valued verdict, so "no subject" — no massless fermion, nothing to cancel — cannot be read as "anomaly-free". The brane panel exports both bills separately, because a content can pay the anomaly one without lifting the zero modes, and the mass gate's own control travels with the answer. The 4D content exports where it was read — the vacuum or a typed Wilson line — because the two differ at the lowest level of the adjoint, and a spectrum with no point attached is a table with no hypothesis. The class panel exports the class, with the reminder that the apparent unbroken group is not an invariant of it. The orbifold panel exports a refusal as a refusal, with no numbers, because an empty alphabet and degree zero look exactly like an answer. Relations exports the attribution — whether a row is derived here or read out of Sturmfels and Sullivant. The scan exports the whole funnel and both counts, and if it has not been run it says so rather than running itself and handing back numbers nobody saw.

Then pressing the buttons found three defects that were already there.

The LaTeX button on the published-models panel wrote nothing at all. papers.mjs prints "a triplet leaves ψ₁ᴿ, ψ₂ᴸ, ψ₃ᴸ"; neither superscript was in the glyph table; tex() did what this project decided in August that it must — throw rather than drop the character — and the exception landed inside a click handler, where it goes to a console nobody has open. The button had been dead for as long as that line has existed. Nine more characters were one keystroke from the same fate: the conjugate bar, the Kaluza-Klein half, the superscript c, the hatted Mandelstam variable. And 3̄ needed a change to tex() rather than to the table: a combining mark modifies the character before it, and a map from one code point to one string cannot reach backwards.

why

Because the alternative to exporting is not neutral. This morning's fix made those seven panels honest by taking the buttons away, and honest is where you start, not where you stop: a reader who has just watched the anomaly ledger decide something about their model wants to keep it, and "we would rather give you nothing than give you the wrong thing" is only the right answer while the right thing does not exist yet.

Four of the seven share the SU(N) builder's model but not its numbers, which is why none of them could simply borrow its card. An export naming this boundary condition and then tabulating the builder's potential would be about the right model and the wrong computation — the same defect the card button had, one level down.

so

drive.mjs now presses both buttons on every section that holds its own model and requires the two files to name one model. That check is what found the dead button: the panel had had a texExport all along, the driver had confirmed the button was VISIBLE, and whether the method ran was a different question from whether it existed. Nothing here had ever pressed it.

_test_latex.mjs swept data/ and the citation registry and cleared every string in them. The string that broke the export was a JS literal, so the sweep now reads the source too — 57 files, 131 distinct non-ASCII characters, comments stripped. A region a gate filters out is where it is blind, and this one was blind to code.

And with all thirteen panels exporting, the half of the rule that HIDES a button had no section left to exercise it. So the driver takes one section's texExport away in the live page, requires both buttons to go and pressing them to write nothing, and puts it back — verifying that it did. It is the only check in that file which constructs its own failure rather than finding one.

check
open Boundary conditions, Orbifold alphabet, Relations, Scan, The 4D content, The anomaly ledger or Brane matter and press ⇩ card. Each writes a card about the model that panel is holding, with that panel's own numbers. And on Four published models, press ⇩ LaTeX: it writes a file. It had written nothing at all, silently, for as long as that panel has printed the line about ψ₁ᴿ.
2026-09-08correctionthe instrument · affects the record: YES

The card button was exporting a model you were not looking at

what

Thirteen sections here declare holds() — they are showing a model that is not the shell's, and the header says so with "this section holds its own model". The rule for exporting from one of them was written five days ago and is not in dispute: unless the section hands over its own card through texExport, the button is hidden, because a control that cannot do what its label promises is worse than a missing one.

That rule governed ⇩ LaTeX. It did not govern ⇩ card — the JSON and the plain text, which is what a reader actually keeps. That button called run() unconditionally and wrote the shell's model out of all thirteen. In the six sections that do implement texExport the two buttons sat side by side handing out files about different models, and neither file said which.

The file name came from the shell too, so two exports could carry the same name and different contents.

One predicate hides both buttons now, and one function — exportCard() — decides which model is leaving the page. Neither handler builds a card of its own any more.

why

Because this is the failure mode with no symptom. The JSON was well formed, every field in it was right, the status column was honest, and only the model was somebody else's. Nothing in the page looks wrong, and nothing in a file looks wrong either — it is a correct file about the wrong thing, and a reader who saves it has documented a computation they never ran.

The comment above the LaTeX guard had said, in writing, that the defect was *"still latent in every other section that holds its own model"*. It was, and the button next to it was where.

Nothing could have caught it. drive.mjs walks the rail asking whether the LaTeX button is shown where it should be, section by section, and had never once asked about the card button — the string btnCard did not appear in that block. The gate measured the rule on the control it was written for.

so

The driver now asks about both buttons in one pass, and separately presses both on a section whose model is its own and requires the two files to name the same model — which is the only check that can see the bug in the state where it fired, with both buttons visible and both working. Pointed at the deployed build it goes red twice and prints the two ids.

drive.mjs also gained --page, which the other three browser tools already had. Without it the one driver that presses real controls could not be aimed at the copy that is actually deployed, so a regression written here could not be asked what it does to the build it was written about.

Seven sections lose their card button: anomaly5d, bcclass, brane, orbifold, relations, spectrum5d and sweep5d. They hold a model and cannot export it, so what they were offering was the wrong one. Giving it back is a texExport each, carrying that section's own values rather than the builder's — four of them share the SU(N) builder's model but not its numbers, so delegating would export the right model with the wrong values, which is the same lie one level down. They are listed here so the gap is visible rather than absent.

That gap closed the same day, and this paragraph is left standing rather than edited because it is what was true when the fix shipped. All seven export their own model now — see *The seven panels that could not export*, below.

check
open the SU(N) builder, build a model that is not the family's, and press ⇩ card and ⇩ LaTeX one after the other. The two files now carry the same model id in their names and the same model inside. Before this the .json was about the shell's model and the .tex about the one on screen — on the deployed build the driver reads back card 5f23df88b593 against tex 8f763d32ac5e, from one screen, in one second.
2026-09-07extensionthe instrument · affects the record: no

in_window stopped meaning one thing and saying another, and m_h came out as a range

what

in_window classified with the mass of the small-phase branch and did not say so. On the published SU(7) permalink that branch gives 125.85 GeV where the summed potential gives 127.85 — one inside the window [125, 127] and the other outside it. A single boolean was deciding between them silently.

Both are now printed, because they are different objects: m_h_summed and in_window_summed join the originals, and the source field on the second says which one is being quoted.

Six modules arrived with it. rank — the weighted rank law over SU, SO and Sp. observables — no state is unobservable in the abstract, only undistinguished by a declared set, with the gate that refuses to compare a resolution on a rate against an overlap. particles — one row per state, with KK parity and a census of channels. sensitivity and robustness — three budgets that never add up. higgsrate — the last row of Carson–Okada's Table 1 reproduced, 1.322 against their 1.32 TeV. bundle — the export, with its sources and its disclaimers inside the hash rather than beside it.

And the orbifold section had stopped printing the dimension under the name of the rank.

why

Because the difference between the two Higgs masses is not a defect to be picked between. H129F establishes that it is the domain of the expansion at α ≈ 0.083 — the branch and the sum are answering slightly different questions, and at this α the gap between them is the honest size of that choice. Printing one of them and calling it the Higgs mass hides a modelling decision inside a boolean.

The same reasoning is why sensitivity reports m_h as a range of 26 GeV rather than as an error bar. An error bar is a statement about measurement; this is three budgets that open a convention, and adding them would manufacture a precision nobody has.

so

The falsifiable list, and a model whose Higgs mass is a range wide enough to contain both the measured value and the model's own failure to reach it. That is the instrument working: the screen says what is a property of the theory and what is a property of the frame, and here the window verdict turned out to be the second thing wearing the first thing's name.

check
open the published SU(7) permalink in the Simulator. Two Higgs masses are printed, not one — 125.85 GeV from the small-phase branch and 127.85 GeV from the summed potential — and the window verdict names which of the two it is quoting. In Sensitivity, the same model's m_h spans 26 GeV across three budgets that are never added together.
2026-09-04notethe instrument · affects the record: no

What the page kept after you left a section, and the gate that counts it

what

Twenty-four console errors, all of one kind, and none of them belonged to the section that was on screen. init runs on every mount of a section and render on every change of the model, and four different places registered a listener on window inside one of the two and never removed it. Each copy kept a canvas the shell had already replaced with the next section's markup, so a later resize redrew a picture that was no longer in the document.

The one that threw was the simulator's, and it is the clearest statement of the mistake: it guarded on the model, which survives leaving the section, rather than on the canvas, which does not. It was also unnecessary — the shell already re-renders every section on resize. The other three never said anything at all: the tower control added four listeners per call, the surface panels a pair per mount with a detach nobody had ever called, and the fibre panels one repaint-per-resize per visit. Each is now registered once for the page, over a record of what is actually on screen.

why

Because no gate here could have found them. The harnesses check the mathematics; shoot.mjs photographs a section that renders correctly; drive.mjs presses controls that answer; and layout.mjs and extremes.mjs ask what a reader sees. All five ask whether a section is right while it is on screen. This was about what a section leaves behind when it is not, which has no picture and no assertion — only a count.

So build/leaks.mjs asks the browser itself, through DOMDebugger.getEventListeners, how many handlers hang off window and document, walks the whole rail twice, and fails if the second walk added any. It found three sources the console never mentioned.

so

Before: 4 listeners on load, 41 after one walk, 78 after two — 37 leaked per pass — and 27 errors. After: 4, then 17, then 17, and none. And the two Kaluza–Klein landscapes, which have said "drag to turn" since the day they shipped and had never been dragged by any gate, are now turned by a real mouse and turned again after leaving the section and coming back: the exact way rewiring them could have broken the gesture while every other check stayed green.

check
open the browser's console, walk the whole rail once, and resize the window on the way. It stays empty. Then open Simulator, drag the Kaluza–Klein landscape to turn it, go to any other section and come back, and drag it again — it turns from where you left it, both times.
2026-09-04extensionthe instrument · affects the record: no

Four published models, taken off their pages and run through one engine

what

src/modules/papers.mjs takes four published five-dimensional gauge-Higgs models off their own pages — Kubo–Lim–Yamashita's SU(3), Kawamura's SU(5), Burdman–Nomura's SU(6) and Haba–Hosotani–Kawamura's SU(5) — and puts every statement each one prints that this engine can compute beside the number it returns. Twenty-eight anchors, each carrying its locator and the scope it was read at. Twenty-four are reproduced, one differs, three are outside this engine and say which representation or which file they would need. The new section loads any of the four into the SU(N) builder, so the spectrum, the anomaly ledger, the brane panel and the simulator all read somebody else's published model.

Nothing is fitted. The boundary condition is typed off the paper, the bulk content is typed off the paper, and Haba–Yamashita's general formula does the rest. Kubo–Lim–Yamashita's whole eq. (33) comes out to 1.7 × 10⁻¹³ over forty-one values of α and five fermion counts; their eq. (34), their Table 1 and their eq. (39) follow. Burdman–Nomura's eqs. (38) and (39) — ten parity assignments, the two halves of one hypermultiplet — both fall out of one line of content, because only the product ηη′ is physical and this instrument's single eta names the pair. Kawamura's own footnote says the Hosotani mechanism cannot work in his model; the engine returns zero Wilson-line phases, which is that sentence counted rather than argued.

why

Every other harness in this repository holds the instrument to our reading of a formula. A general formula that reproduces four papers it was never fitted to is a general formula; one that reproduces only the paper it came from is a transcription. And the point of the SU(N) builder is that the model is the input — which is worth nothing to a reader who cannot check that the engine behind it is right on models whose answers are already in print.

so

One row differs, and it is the reason the section exists. Kubo–Lim–Yamashita's eq. (35), the Higgs mass-squared at their α = 0 vacuum, reads (9 − N_f) where their own eq. (33) differentiates to (9 − 2N_f). The same second derivative taken at their other vacuum reproduces their eq. (39) exactly for every N_f; at N_f = 0 eq. (35) agrees too, which fixes the prefactor and leaves the fermion term as the only thing in question; and their eq. (34) is a second, independent witness, exact with the 4N_f of eq. (32) and wrong by a factor of three with a 2N_f. None of their conclusions moves — α = 0 is the vacuum only for N_f ≤ 1, where both readings give a positive mass — and the row says so, because a defect whose consequences are nil should be reported as one. Read off the rendered page, not a text extraction, after this house spent 2026-08-30 proving a correct published formula wrong on a dropped delimiter. Their eq. (34) also needs its printed lower limit n = 1 read as n = 0; with n = 1 the closed form is about 222 times too small and the sign, which is all their argument uses, is unaffected either way.

Two conventions are marked rather than hidden. Their eq. (28) puts the singlet zero mode in ψ_R and the doublet in ψ_L and this instrument returns the mirror: only the relative chirality is physical, the absolute labels follow the γ₅ sign in their eq. (1), and the potential — which cannot see γ₅ — pins η = +1 either way. And three of the four papers are supersymmetric while this engine's one-loop potential is not, so every anchor taken from them is parity linear algebra and never their dynamics; the header, each model card and the closing card each say it, because "the instrument reproduces Burdman–Nomura" is a sentence somebody will write and it is only true of the half that was looked at.

check
open Paper models, pick Kubo–Lim–Yamashita · SU(3) and read the table: eight rows green and one amber. The amber one is their eq. (35). Move the dial to N_f = 0 and it turns green — with no fermions the two readings coincide, which is what fixes the prefactor. Move it back and read the sentence under The rows that need a sentence. Then pick Burdman–Nomura · SU(6), press Load into the SU(N) builder, and walk 4D spectrum, Anomalies and Simulator on their model.
2026-09-03extensionthe instrument · affects the record: no

Who pays the anomaly bill, and what it costs

what

src/modules/brane.mjs puts fermions on the two fixed points and holds the choice to two verdicts at once: the anomaly ledger, recomputed over bulk and brane together, and Part I's boundary-mass gate, which says which zero modes that same matter has just given a mass. A brane field is a representation of the local group — the commutant of the one reflection acting there, S(U(n₊₊+n₊₋) × U(n₋₊+n₋₋)) at y = 0 and P₁'s at y = πR — written as a two-block frame, so the ledger, the U(1) generators and the charge of a piece are the routines the rest of the instrument already uses, on a coarser partition of the same N indices. Nothing here recomputes an anomaly: both columns of the bill are an5LedgerOnFrame on one list of pieces, once without the brane matter and once with it.

Three consequences the arithmetic knows and prose does not. A local representation splits into several pieces of the unbroken group, so you cannot add "the conjugate of that one mode" and stop — the partners panel lists what each candidate drags in with it. Its charge under the local U(1) is a free rational, which is where Part VI's forced brane charge lives, and brSolveCharges solves the channels that are linear in it exactly while reporting the cubic ones apart, because paying the linear channels does not make a model anomaly-free. And the two jobs pull apart: gauge invariance of the mass term fixes the charge to one value, the anomaly wants another, so the same field cannot always do both.

why

The panel next door has ended in an apology for as long as it has existed — a non-zero row is not a verdict, because these models carry brane fields and Komori and Maru say right after their eq. (76) that one introduces the 4D fermion conjugate to each unwanted zero mode. That is now a control rather than a sentence. Part I's own statement of the gate is dimension-blind and is used verbatim: in a fully left-handed convention a mode in r_q pairs with a localised Weyl in r̄₋q, and — its words — "test de rango, no de conteo", so what survives is |difference| in each class separately, a class being the representation under every block and all its U(1) charges.

so

The control is that a paired class and its conjugate are vectorlike, so the anomaly of what survives must equal the anomaly of everything that entered — a rank test over class keys and an exact rational ledger agreeing on 8 190 models of SU(3)…SU(6), which they can only do if the keys really are conjugate; the gate lifts something in 6 972 of them. The decoy is the same gate on keys that ignore the charges: it over-lifts on 89 models, which is Part I's warning as a number, and under-lifts on 166, where a real representation carrying opposite charges makes one blind key its own conjugate. Not done, and said on the page: the ledger is the sum over the two fixed points and not the split between them; the rank test is the generic answer, so the surviving content is a lower bound; there is no U(1)′ beyond the local group; and the gate is read at the symmetric point, because the local groups do not move with the Wilson line but which modes are massless does.

check
open Brane matter and press load Kawamura's SU(5). The two branes read SU(5) at y = 0 and SU(3) × SU(2) × U(1) at y = πR — the same orbifold, two different groups. The bill says 7 channels owing. In Who can pair with a given mode, press add it on the first candidate: the bill goes to 0 → every channel cancels, the massless count goes to 0, and the chip beside it says the anomaly of what survives equals the anomaly of everything that entered. Then move that field's charge by one and the same representation lifts nothing.
2026-09-03extensionthe instrument · affects the record: no

The exact tower at the vacuum, the W as the unit, and three phases without a grid

what

Two things a model builder reads first, and neither existed here yesterday.

The Kaluza–Klein spectrum at the minimum, exactly. With the constant A_y gauged away the field is periodic up to U′ = P₁′P₀, so its modes are e^{i(n+Θ)y/R} with e^{2πiΘ} an eigenvalue of ρ(U′), and the orbifold identifies Θ with −Θ. A conjugate pair strictly inside is one tower |n + x|, n ∈ Z; an eigenvalue at 0 splits under P₀ into an even part with n ≥ 0 — the massless states, exactly the joint invariants the previous entry counts — and an odd part with n ≥ 1; an eigenvalue at ½ is n + ½. The eigenvalues never need a matrix: a (+,+) or (−,−) letter is Θ = 0, a (+,−) or (−,+) letter is ½, a pair rotated by t is ±t/2, the adjoint takes differences and the tensors sums. vac5Tower and vac5Ladder in vacuum5d.mjs; the spectrum section prints the table under its families, and the dossier gains two lines — the lightest massive vector m·R, and each bulk field's first massive state in units of it — both invariant on the class like the rest of the minimum group.

Three phases and more, by restarts. A grid on a 3-torus at the 2-torus's resolution is 10⁷ evaluations and the panels were right to refuse it. sun5dMinimumRestarts descends from every symmetric corner and from a reproducible batch of random points, keeps the deepest, and reports how many starts reached it and how many distinct minima were seen; every line that reads it carries restarts, not certified. The dossier and the spectrum section fall back to it above two phases, so the five three-phase classes of SU(4)…SU(7) that declined yesterday are located today — and their minimum lines come back invariant like the other 81.

why

The families the spectrum section already drew are the potential's multiset and are right for it; at a broken vacuum they are wrong at the lowest level of the adjoint and of the symmetric tensor, where a Cartan direction the per-state bookkeeping keeps at charge zero has in fact become the W of mass t. The same mistake the previous entry's decoy makes, one level up. And the ratio a builder wants — the top at 2 m_W from a symmetric tensor — is a statement about where the W lives: in SU(3) [2,0,0,1] the W is a letter⊗pair vector at t/2 and the tensor's pair⊗pair state sits at t, twice it; in SU(2) the only massive vector is pair⊗pair at t, so the same state sits at 1 m_W. The harness pins both.

so

The tower is held to the potential by differences: summed with the degrees-of-freedom weights of Haba–Yamashita, Σ_n n⁻⁵ cos(2πn x) per tower reproduces sun5dV between any two points of the torus to 10⁻⁹ on five (boundary condition, content) pairs — a route that shares no code with the potential it lands on. The Θ = 0 split and the Θ = ½ count are held to the joint counts of the other three twists, which the tower did not use. And the restarts are held to the grid where the grid exists: 222 (boundary condition, content) cases of SU(4)…SU(6), the same depth to 10⁻⁹ in every one, the deepest value reached by at least ten starts in every one. Above two phases there is nothing to hold them to but each other, and the page says so.

And a third route for the vacuum module itself, in SageMath: tools/vacuum5d_sage_control.py rebuilds P₀, P₁′ and the four representation matrices with Sage's own linear algebra and recomputes the joint counts and the eigenvalue angles of ρ(P₁′P₀) on ten cases — 200 of 200 agree with the JavaScript. The first run disagreed 39 times, all on Sage's side: its RDF rank() counts the 10⁻¹⁶ pivots cos π and sin π leave behind, and returned a negative nullity for a kernel that provably holds the identity. An SVD with a stated tolerance fixed every one; the eigenvalues had agreed from the start.

check
open What the model contains on SU(3) with boundary condition [2, 0, 0, 1], one bulk Dirac fundamental and one Dirac symmetric tensor, at the vacuum. Under the families a second table, The exact tower at this point, gives the lightest massive vector at m·R = θ/2 and every field's first massive state in units of it — the fundamental at 1 m_W, the symmetric tensor's pair⊗pair state at 2 m_W. Then load SU(6) [1, 2, 2, 1] in One model, every verdict: three Wilson-line phases, and the depth of the vacuum is a number marked restarts, not certified rather than a declined line, with the minimum lines under it tagged the theory's.
2026-09-03extensionthe instrument · affects the record: no

The Standard-Model cell, read where it lives

what

src/modules/smcell.mjs asks the model builder's first question of the vacuum's massless content: is SU(3)×SU(2)×U(1)_Y in the unbroken group, with pieces carrying Q, uᶜ, dᶜ, L, eᶜ at their hypercharges? Colour is a block of size three, weak isospin a block of size two, and Y is solved exactly, in rationals, as a combination of the blocks' U(1) generators on the pieces offered as each field — Part II's counting, K − 1 unknowns against one constraint per field. When the fields fix Y the embedding fixes sin²θ_W = tr T₃² / (tr T₃² + tr Y²) over the fundamental; when they do not the page says how many directions are free. The largest assignment is kept and what is not found is listed as missing; the pieces outside the cell are listed with their (colour, weak)_Y, which is the brane's bill in the units a builder reads.

It is read at the symmetric point nearest the vacuum — each phase rounded to 0 or 1 — with the distance printed and the blocks the vacuum breaks named. That is physics: the vacuum's job is to break SU(2)×U(1)_Y to U(1)_em, so an unbroken weak block at the minimum would refuse every realistic model. The rounded point is a class-mate chosen by the vacuum, so the reading is the theory's and not the frame's, and the dossier tags it so on all 86 classes of SU(4)…SU(7).

why

Three anchors and one absence. Georgi–Glashow's direction gives 3/8 from the exact solve on SU(5) [3,0,0,2], on Kawamura's split [2,3,0,0] and on SU(6) [3,1,2,0] — three routes to one rational. SU(6) [3,1,2,0] with 6, 6′, 15, 15′ hosts the whole cell and a Higgs doublet in A_y with Y = ½. And on SU(5) [3,0,0,2], over all 64 two-representation bulk contents, no content has Q or dᶜ together with sin²θ_W = 3/8: a left-handed zero mode has P₁-twist +1, so a bifundamental across the two P₁ signs — Q — only ever appears as its conjugate, and the colour block's fundamental pieces are all left-handed, so dᶜ never does. The thirteen contents that do show a Q do it by bending Y to a hypercharge that is not Georgi–Glashow's, and the page prints that sin²θ_W beside it. The doublet of SU(2) is pseudo-real, and reading 2̄ as 2 is what lets L be found from the right-handed chirality.

so

The solver is made to fail on purpose: an inconsistent system returns nothing, an underdetermined one returns its free count, and changing eᶜ's hypercharge to 2 in the cell makes the anchor content stop hosting uᶜ and eᶜ together. Not done: three generations, brane matter to pay the bill, Yukawas, and the running of the couplings from 3/8 down to the measured angle — the next tools, listed in the HANDOFF.

check
open One model, every verdict on SU(6) with boundary condition [3, 1, 2, 0] and four bulk Dirac fields — a fundamental and an antisymmetric with ηη′ = +, and the same two with ηη′ = −. The group The Standard Model reads yes, all five; Y fixed, sin²θ_W = 3/8; Higgs doublet: 1, with the exotics listed as (colour, weak)_Y. Switch to SU(5) [3, 0, 0, 2] with a fundamental and an antisymmetric: 2 of 5 (uᶜ, eᶜ; missing Q, dᶜ, L) … and L appears once the doublet is read as pseudo-real, which it is; Q and dᶜ stay missing, as the literature knows.
2026-09-03extensionthe instrument · affects the record: no

The simulator, anchored to HHKY 2004, and a scan of the whole space against the data

what

Three things, chained.

The running. src/kernel/running.mjs runs the three couplings at one loop from M_Z, with the MS-bar inputs of the PDG 2024 electroweak review (α̂⁻¹ = 127.930, ŝ²_Z = 0.23129, α_s = 0.1187, M_Z = 91.1876) carried in experiment.mjs with source and date. At 6.6 TeV the Standard Model gives sin²θ_W = 0.253; the Georgi–Glashow 3/8 is 0.122 above it, and that number is the bill a model's Kaluza–Klein and brane sectors must pay, printed as such.

The simulator. src/modules/predict.mjs and the section Simulator: the model on the builder, at its vacuum, turned into 1/R from the measured m_W, the Higgs mass from the curvature through HHKY's eq. (22) — m_H² = (3g₄²/32π⁶R²)·∂²(V/C)/∂a² — with g₄ = g₂(1/R) and no brane kinetic terms, sin²θ_W from the cell against the running, and every field's tower in GeV, each beside its measured partner and its source. Two pictures: the towers as a landscape the reader turns, with m_W, m_h, m_t as lines and the CMS coloron bound as a plane; and a mass axis drawn like a search reach plot with the excluded region shaded. No event is simulated. The anchor is exact where it can be: HHKY's Fig. 1 content gives their a = 0.058 as 0.0583, their m_H R/g₄ = 0.031 as 0.0306, and their eq. (20) to 10⁻⁹.

The scan. tools/scan_cells.mjs chains every verdict — vacuum, group, cell, sin²θ_W, Higgs doublet, anomalies at the minimum, 1/R against CMS — over every boundary condition of SU(5), SU(6) and SU(7) and every bulk content of up to four fields at multiplicity one: 42 380 models in eleven minutes. tools/scan_predict.mjs runs the simulator on the theories with a full generation and a Wilson-line W; tools/scan_map.py draws them against the data. The report, the table and the map are in data/scan_2026-09-03/.

why

What the scan says, and none of it was assumed:

- 304 of 42 380 models host a full Standard-Model generation (4 in SU(5), 216 in SU(6), 84 in SU(7)); 148 of them also have a Higgs doublet in A_y. Every one has both an η = + and an η = − field in the bulk — 304 of 304 — and every one owes at the minimum: no bulk-only generation with a Higgs doublet is anomaly-free without brane fermions. - 62 theories have a full generation and a Wilson-line W. Their 1/R runs from 0.32 to 2.11 TeV — none clears CMS's 6.6 TeV if colour is in the bulk — and their one-loop Higgs mass from 10 to 47 GeV, none within 10% of 125.2. Their symmetric tensor's lightest state sits at m_W in all 42 that have one, not at the 2m_W of the lore: the letter⊗pair component, not the pair⊗pair one, is the light one whenever a letter is left. - The embedding is not always Georgi–Glashow's. Among full cells sin²θ_W takes 3/8 (256), 21/44 (24), 3/92 (18) and 3/20 (6); across all cells that fix Y, twelve rational values. - 1 332 of 7 190 rows with a cell have a vacuum that breaks colour — a rotated pair inside the colour block — which no panel had ever reported.

So the little hierarchy of flat 5D gauge–Higgs unification is not a folklore sentence here but a number over the space: with at most four bulk fields at multiplicity one, the Wilson-line angle never falls below 0.038, and 6.6 TeV needs 0.012. That is the reason the published models carry large multiplicities and large representations, and the map says where to push.

so

Three anchors and three refusals. The running returns its inputs at M_Z and meets α₁ = α₂ near 10¹³ GeV; the dictionary reproduces HHKY; the cell reproduces 3/8. The simulator refuses a scale at a symmetric vacuum, a Higgs mass at a non-positive curvature, and a sin²θ_W where the cell does not fix Y. What it does not include is said on the page: two loops, thresholds, brane kinetic terms, the Kaluza–Klein power law above 1/R, three generations, Yukawas.

check
load on the SU(N) builder SU(3) with boundary condition [1, 0, 0, 2] and the bulk of Haba–Hosotani–Kawamura–Yamashita's Fig. 1 — two adjoint Dirac fermions with ηη′ = +, eight fundamental Dirac fermions with ηη′ = −, four and two fundamental scalars with ηη′ = ±. Open Simulator: the vacuum sits at a = 0.0583 (their 0.058), 1/R = 2.755 TeV from the measured W, and m_H = 54 GeV with g₄ = g₂(1/R) — their m_H R/g₄ = 0.031 reproduced as 0.0306 — printed beside 125.20 GeV. Turn the towers; move g₄ to 1.0 and watch m_H follow. Then read data/scan_2026-09-03/predictions.md.
2026-09-03extensionthe instrument · affects the record: no

The massless content at the minimum, and the three lines that stop moving

what

Every verdict the instrument gave about a 5D SU(N) model — the apparent group, the massless vectors, scalars and fermions, the whole anomaly ledger — was read at the symmetric point of the boundary condition on screen, θ = 0. The dossier of the same morning measured what that costs: eleven of eighteen lines move under a gauge-equivalent boundary condition, and the reason is that the class relation [p,q,r,s] ~ [p−1,q+1,r+1,s−1] is a shift of the Wilson line by one, so a class-mate's symmetric point is this one's other symmetric point.

src/modules/vacuum5d.mjs reads the same three questions at the minimum. Gauge the constant A_y away and the reflection about y = πR becomes P₁′ = W⁻¹P₁ with W the holonomy (Hosotani; Haba–Hosotani–Kawamura §2). A massless four-dimensional mode is a vector fixed by both P₀ and P₁′ — for a unitary P₁′ the linear term of a + b·y is killed outright — so the massless content of a field with parities (ε₀, ε₁) is a joint eigenspace, and the unbroken group is the commutant of {P₀, P₁′}, which Schur names as S(∏ U(m_i)) over the irreducibles of the group they generate: four one-dimensional letters and one two-dimensional D(cos πt) per angle at which a pair is rotated. When every phase is 0 or 1 that is the parity rule applied to a class-mate, the one the vacuum rearranges the boundary condition into; strictly inside it is the Hosotani mechanism, and no member of the class has that content.

The anomaly ledger runs over that frame unchanged. anomaly5d.mjs is now written over a frame — a list of blocks with a size and a dimension — and the four parity letters are its first instance; a rotated pair is a block of dimension two, and the ledger's group theory never asked what a block was made of.

The dossier gains a group At the minimum: where the vacuum stands, the group, the three counts, the verdict and the channels owing. They are tagged by the same measurement as every other line, and they come back invariant on all 86 multi-member classes of SU(4)…SU(7), with two bulk contents — 81 classes located, 5 declined because they carry three phases or more.

why

A statement about the theory has to be read where the theory sits, and until today the instrument could not read there. The dossier had made the gap visible and said so on the page; this closes it, and the honesty card now says what remains: the scalars are tree-level flat directions, whether a phase sits at an end and whether two phases coincide is decided to the minimiser's tolerance of 10⁻⁶, and past two phases there is no located vacuum.

so

Two routes and a decoy, because the count is easy to get subtly wrong. vac5Rep produces the pieces by representation theory — letters twist into letters, D(c) into D(±c), S²D(c) = (+,+) ⊕ D(2c² − 1), Λ²D(c) = (−,−) — and vac5Direct builds ρ(P₀) and ρ(P₁′) as matrices on the fundamental, adjoint, antisymmetric and symmetric and counts the joint eigenspace by elimination. _test_vacuum5d.mjs holds one to the other on 880 (boundary condition, θ, representation, twist) cases including three-phase ones; at θ = 0 and θ = 1 it holds the result to sp5ZeroModes and an5Ledger of the boundary condition and of its class-mate, character for character, on every one-phase boundary condition of SU(4)…SU(7) with three contents.

The decoy is the count a reader would reach first: read the Kaluza–Klein families at n = 0. For SU(2) with P = P′ = diag(+,−) at θ = 1 it gives two massless vectors; there is one, because W = −1 is central there and the theory is the θ = 0 theory. The per-state bookkeeping keeps the Cartan direction at charge zero, and at a broken vacuum that direction mixes with its (−,−) partner into a vector of mass θ — the Hosotani W boson. The harness requires the decoy to disagree.

And the enhancement is real rather than an artefact of the tolerance: SU(5) [3,0,0,2] with two pairs at the same angle leaves an SU(2) the symmetric point never had, and SU(4) [1,1,1,1] with an A-pair at θ and a B-pair at φ = 1 − θ leaves SU(2) too, because a B-pair's P₁ is −σ₃ and the two irreducibles coincide there. Both are checked by the matrices.

check
open One model, every verdict on SU(6) with boundary condition [1, 0, 4, 1] and one bulk Dirac fundamental. In the group At the minimum the unbroken group, the three massless counts and the anomaly verdict are tagged the theory; their symmetric-point twins two groups up are tagged the frame. Click the other member of the class: the symmetric-point lines move and the minimum lines do not. The first row of the group says where the vacuum stands — a class-mate, or broken with the angle of the rotated pair.
2026-09-03extensionthe instrument · affects the record: no

A how-to on every section, a demo that drives it, and the results read back in sentences

what

Three things, and none of them adds a number to the page.

A how-to on every section. src/view/howto.js carries one entry per section — what it answers, what to press in order, and how to read the result including what would make it not apply — and the shell mounts it above whatever it renders. It is mounted by the shell rather than written into twenty-five files because a section that forgot would look exactly like a section with nothing to explain; _test_howto.py fails the build if a built section has no entry, if an entry names a section that no longer exists, if an entry is thin, or if its what and its read say the same thing.

A demo that drives the panel. src/view/demo.js: five sections carry a scripted run — from a boundary condition to a vacuum, a published model reproduced and then falsified, which answers are about the theory, what a model contains, and two boundary conditions that are one theory. Each step performs a real edit through the page's own state and says what it changed; next and stop are there, it advances by itself every eight seconds, and stopping restores the model the reader had before it started.

The results, read back. src/modules/reading.mjs turns the computed object into ordered sentences: the verdict first, then what it rests on, then what would move it. Every sentence is a function of the numbers — move a parameter and it changes — and what the instrument cannot decide is said in the same list rather than left out.

why

A panel with six controls teaches nothing until somebody moves one and sees a number answer, and fifteen numbers coming back at once do not say which of them just decided something. The reading also carries the discipline the rest of the page carries: a comparison names the hypothesis it rests on (the CMS bound needs colour in the bulk) and the source of the measured number it uses, and no sentence calls a model promising, viable or worth pursuing — _test_reading.mjs fails on those words. It is arithmetic said in words, not advice.

so

The gates are the interesting part. _test_reading.mjs holds each sentence to the condition that produces it and to the condition that must not: a scale above the bound reads as holding, below it as failing and carrying its hypothesis; a Higgs at half the measured mass must not read as holding; a model with no located vacuum produces exactly one sentence and it says so; and the whole reading must differ between two vacua of the same model, because a text identical before and after is a text that is not a function of the numbers.

And drive.mjs walks all twenty-five sections requiring a how-to with at least two steps in each, then drives the demo with a real mouse. It found a real defect on its first run: the next button advanced the counter twice, so one step of the demo never happened. The index of the step being shown is now the only thing that advances it.

check
open any of the twenty-five sections: the first card is How to use this section, folded, with what it answers, what to press and how to read what comes back. On SU(N) builder, What the model contains, Anomalies, One model, every verdict and Simulator the same card carries a ▶ demo button: press it and the parameters move by themselves, one change per step, with a caption saying what just happened. In the Simulator and the dossier a card called What these numbers say turns the computed values into sentences — move the Wilson line and the sentences move with it.
2026-09-03extensionthe instrument · affects the record: no

Most of what the instrument says about a model is not about the model

what

Five sections already answer about a 5D SU(N) model on S¹/Z₂: the builder gives the Wilson-line potential and its vacuum, the spectrum panel the massless content, the anomaly panel the bill, Boundary conditions the equivalence class, and Part VII's kernel the closed form when there is a single phase. Read one after another they give eighteen numbers about one model.

Eleven of the eighteen are not properties of the model. They change when the boundary condition is replaced by a gauge-equivalent one — the same theory, a different frame. This section recomputes every line on every member of the class and tags each by what came back: the theory if it was the same on all of them, the frame if two members that are one theory disagreed, declined if the computation refused and said why.

The tag is a measurement made on that render, never a list of which lines ought to be invariant. _test_dossier.mjs hands the same tagger two decoy lines whose answers are settled before it runs — p, a coordinate of the representative, and p − s, which the class relation preserves — and requires the two different tags at three values of N.

why

Seeing this needs the class from one section and the verdicts from the others at the same moment, so no panel could see it alone, and a reader stacking them by hand comes away with a page of numbers of which a majority are about where they were standing. That is the arbitrariness problem bcclass opens with, stated once about the apparent unbroken group — measured here across everything the instrument computes.

What survives, at N = 4…7 and over every class: the phase count, the number of terms in V, the depth of the vacuum, whether it sits at a symmetric point, and N_Δ. What does not: the apparent unbroken group, where the vacuum sits, Part VII's W, all three massless counts, the anomaly ledger, and N_v.

And invariant is not the same as informative, so there is a second axis and its own button. A line that takes one value over every class at this N separates no theory from any other, however stable it is — N₀ is one, and so is N itself. Splitting within a class makes a line the frame's; taking one value between classes makes it no verdict at all.

so

It found a false verdict on its first run, which is the argument for building it. "Is this model anomaly-free?" came back YES for one member of a class and NO for another — the same theory, two answers — on 4 of the 16 multi-member classes of SU(5) and 5 of the 25 of SU(6).

The arithmetic was never wrong. The cause was an empty sum: the member with n₊₊ = 0 has no massless fermion for a bulk fundamental to leave, so every anomaly channel is zero and the flag read clean. anomaly5d.mjs now returns a verdict with three states — no subject, cancels, owes — and the section reads that instead of keeping its own copy of the condition. The page had always printed "No massless fermions" and had always been right; the flag under it had not, and the header line beside it said "every channel cancels" with no fermion in the model.

The same shape turned up twice more in the same afternoon and both are fixed the same way, by moving a guard out of its one caller and into the function. sun5dTermTable refuses two Wilson phases by name and was blind to zero: no term, no loop, an empty table, a clean pass — and Part VII's five coordinates and its stability verdict handed to a model that has no α for them to be about. It takes the phase count now. And this section's own separation panel was written to warn when its sweep belonged to another N, and then assigned the table over the top of the warning: the panel's own version of the failure it exists to name.

What it still cannot do is the honest headline. Every line except the depth and position of the minimum is computed at the symmetric point of the representative loaded, which is exactly why those lines move across the class — the class relation is a shift along the Wilson line. The instrument does not yet compute the massless content at the minimum, which is what would turn the spectrum, the anomaly ledger and the apparent group into statements about the theory. That is a gap in the tool, and it is named on the page.

check
open One model, every verdict on SU(6) with boundary condition [1, 0, 4, 1] and one bulk Dirac fundamental. 7 of the 18 verdicts are the theory's; 11 are the frame's. Click the other member of the class in the table on the left — the same theory in different clothes — and watch the depth of the vacuum stay exactly where it is while the apparent group, the massless counts, W and the whole anomaly ledger move. The anomaly verdict reads owes here and no subject there.
2026-09-03extensionthe instrument · affects the record: no

The masses the Wilson line gives the fermions, and the pictures made legible

what

The fermion masses. src/modules/yukawa.mjs: in gauge–Higgs unification the Yukawa coupling is the gauge coupling, so a Standard-Model field is a massless piece at the symmetric point the vacuum sits next to, and at the vacuum some of its components move off zero. The eigenvectors of the twisted translation are the unpaired letters (eigenvalue 0 or ½) and, on each rotated pair, (e_i ± i e_j)/√2 with eigenvalue ±t/2; on a tensor the eigenvalues add, on the adjoint they subtract, and ηη′ = − shifts every one by ½. The folded eigenvalue times 1/R is the mass, and the measured m_W fixes 1/R.

A vacuum eigenstate is not in general a component of one piece of the symmetric point: e₊e₋ on a symmetric tensor is (e_ie_i + e_je_j)/√2, half in the (+,+) piece and half in the (−,−) one. The first version read masses index by index, put that state in one piece, and failed against the tower. Every eigenstate is expanded in the index basis now and attributed by squared overlap; the weights sum to one over the pieces, to the piece's dimension over the states, and to vacuum5d's massless counts — which is the control the harness runs on 40 (boundary condition, representation, η) cases.

The pictures. src/view/tower3d.js is one renderer for both sections: What the model contains draws the towers in units of 1/R, Simulator the same object in GeV with the measured masses as lines and the CMS coloron bound as a plane. It sizes itself to its card, which the first deployment did not — 720 px in a half-width column overflowed. And the help is in collapsible blocks: how to use the section, how to read each picture, what the assumptions are, all folded away until asked for.

why

Cacciapaglia–Csaki–Park, hep-ph/0510366: for a bulk fundamental with vanishing bulk mass "we find that m_q → m_W" (§3), and from a larger representation "at tree level m_t = 2m_W" (§5). Both come out here by the eigenvalues, exactly: the fundamental's paired component at t/2 — which is m_W when the W is a letter⊗pair vector — and the symmetric tensor's pair diagonal at t.

So the Yukawa problem of flat gauge–Higgs unification is a number on the page rather than a sentence in a review: with no bulk masses, no brane mixing and no boundary kinetic terms, a model predicts its charged lepton at 80.4 GeV and the τ weighs 1.777 GeV. The three ingredients that fix it are named and are not implemented; what is implemented is the tree-level answer they have to correct.

so

One more thing the readers said and is fixed: g₄ scales the Higgs mass only — m_H ∝ g₄, every other mass being fixed by the measured m_W — so moving the slider and watching the towers looked broken. The parameter card says what g₄ touches, and the predicted m_H is drawn in the landscape, where the slider does move it.

check
load SU(6) [3, 1, 2, 0] on the builder with four bulk Dirac fields — a fundamental and an antisymmetric at ηη′ = +, the same two at ηη′ = − — and open Simulator with the probe at φ = 0.03. The table Fermion masses from the Wilson line reads eᶜ at exactly 1.00 m_W = 80.4 GeV against τ = 1.777 GeV, L with one massless component (the neutrino) and one at m_W, and uᶜ untouched. Turn the landscape; it now fits its card at any width, and What the model contains has the same picture in units of 1/R.
2026-09-03notethe instrument · affects the record: no

An outside audit read the deployed source, and five of its five findings were real

what

Carles put the public source of ghu-lab and ghu-explorer in front of an outside reader on 2026-09-03. Five findings came back and every one of them is real:

1. The permalink did not carry η or the matter/gauge role, although both are buttons in the calculator and both go into model(). A link therefore reproduced a different model from the one whose results were on screen when it was copied — silently, under a button that says "the whole state, in the address bar". For a tool whose whole use is that a claim in a letter becomes something the reader checks in thirty seconds, this is the worst of the five. 2. decodeURIComponent ran unguarded at startup. It throws URIError on a lone %, and it ran before render(), so #x=% left the reader a blank page — the same symptom as the dead-permalink bug of 2026-08-26 arriving through a different door. 3. The card export fired two downloads in one tick, which is exactly the pattern the LaTeX button had already been fixed for: Chrome raises its multiple-download prompt and, declined or auto-blocked, drops the second file. The .bib waits 500 ms and the .txt did not. 4. The "what this tool cannot tell you" block had gone stale. It still said "Two models, not a framework" and "only the result card as JSON", both true when written and neither true since the SU(N) builder and the LaTeX export arrived. 5. The site footer said the code is MIT while both LICENSE files say Apache 2.0.

why

The audit also says the tool is better tested than usual for its size, and it is: 1 557 checks, a real-mouse harness, and a build that refuses to publish red. That is precisely why these five matter. Four of them are in the shell and the fifth is in prose, and neither is where the checks were. Every harness in this repository asks whether a number is right; nothing asked whether the link that carries the number carries all of it.

Fixing the permalink turned up a second layer under the reported one. A link carries only what differs from the default — the rule the seed and the brane already follow — and the default is not +1: the anchor content of a group carries η = −1 and role = gauge on some slots, and this group does. Encoding against +1 and resetting to +1 would have lost the anchor's own values from an untouched model, which is the same bug one level down. Both sides now call one function, anchorEtaRole, so they cannot disagree about what an omitted marker means.

And the marker itself changed once: .e+ becomes .e%2B in the address bar, which is the same lesson as the pipe that became a comma in the BLKT permalink. It is .em and .ep now — a letter naming the value, nothing a mail client can maul.

so

drive.mjs gained the checks that were missing rather than the ones that were easy: a round trip through the real buttons, with a control leg that strips the markers and requires the anchor's own values back — so the round trip cannot pass by never resetting anything — and five deliberately broken hashes (x=%, x=%E0%A4%A, su4_ahmn=%ZZ, ===, %) under one rule: no string a reader can put in the address bar may stop the interface appearing. 113 checks, all green, with the console still clean.

_test_app.mjs gained the source-level half — the guard, the two markers, the shared default, the staggered download — and its list of the tool's stated limits now asserts that the stale sentences are gone, not merely that some sentences are present. A limits block that has fallen behind the tool is worse than none: a reader believes it.

One more thing came out of the same file, and it was the harness looking at itself. The check that every id a section reaches for is an id that section creates was reading render and init only — and most sections keep their DOM in helpers, so a section written that way was checked against nothing and passed. It reads every function on the section now.

The licence line says Apache 2.0. The scale question the audit raises last is not a bug and is not new: our α disagrees with the published α by 1.03× to 2.08× and not by a constant, every TeV and GeV inherits that, and the page has said so in its own first paragraph since the day it opened.

check
open the Model calculator, change a representation's η and its matter/gauge role, press 🔗 link and open the address in a fresh tab — the two toggles are now in the URL and come back. Then put #x=% in the address bar: the instrument still appears. node build/drive.mjs drives both, with a control leg that fails if the reset is not happening.
2026-09-03notethe instrument · affects the record: no

An empty model that did not survive its own link, and a label that outlived the model

what

Two bugs from an outside review of the deployed page, both real, both about the page saying something that was no longer true.

A cleared model did not survive its own permalink. Every family opens on its published anchor, so clear is the one edit that makes a family's parameter empty — and the encoder wrote nothing at all for an empty family. At the far end an omitted parameter means *leave this family alone*, which is what an old link written before that family existed must mean, so the anchor loaded at startup was left standing. You cleared the model, copied the link, opened it, and got the published model back, while the button's tooltip promised the whole state. A cleared family now writes its key with an empty value and the decoder keys on the presence of the key, not on its truthiness. Both meanings are kept and both are driven: an old link still opens on the anchor, a cleared link still opens empty.

The published-model label outlived the published model. The header carries *"opening on <row> — <its caveat>"* while the model is untouched, and the comment beside it promised it disappears the moment you change anything. The signature compared the representation, the parities and the multiplicity — and the interface moves four more things: η, the role, the gauge seed and the brane. Flip any of them and a caveat about the published row stayed attached to numbers that were no longer its. The comparison now covers every dial a reader can move.

The head of the page went with them: the title still said one model, every section and the description one bulk model, from a build with five sections and one family.

why

Both are provenance, which is the thing this instrument claims to be careful about. A link that silently substitutes a different model is worse than a link that does not work; a caveat attached to the wrong numbers is worse than no caveat. And the title was stale because nothing had ever read it — _test_site.py's head gate skips app/index.html by name, so it was the only prose on the page no gate had looked at.

so

The empty round trip is in drive.mjs, both legs of it — the cleared link comes back empty, and a link that names no family still opens on the anchor. The label is driven too: the seed and the brane each drop it, and putting the seed back brings it back. _test_app.mjs now reads the head and asserts the claim rather than a count, so it cannot go stale the next time a section is added. Three further items in the same review did not reproduce against the current source or the deployed page — the test/source contradiction, the two stale sentences in the limits panel, and an MIT notice — all three were fixed earlier and the review had read a cached copy; the repository's public remote being a commit behind is what made that possible, and it is pushed.

check
open Model calculator, press clear, copy the link, and open it in a new tab — the model comes back empty, as it was when the link was made. A link that does not name a family at all still opens on that family's published anchor. Then open Hierarchy: the header says opening on published row (2) with its caveat; switch the gauge seed to the candidate, or type a brane charge in Escape from proton decay, and the label goes — it is your model now.
2026-09-03extensionthe instrument · affects the record: no

Against the data, with the hypothesis named

what

The vacuum fixes m_W·R, a number with no units. One measured mass makes the whole ladder dimensionful: 1/R = m_W / (m_W·R), and each field's first massive state follows in GeV. src/kernel/experiment.mjs holds the measured numbers the instrument uses, each with its source, its URL and the date it was read — m_W (PDG 2025, the LHC-TeV working-group average, not the CDF 2022 value), m_h and m_t (PDG 2024), the CMS full-Run-2 dijet limits (axigluons and colorons 6.6 TeV, excited quarks 6.3, Z′ 2.9), ATLAS's dilepton Z′_ψ at 4.5 TeV, the CMS dijet-angular contact scales of 17 and 37 TeV (CMS-EXO-24-011, the analysis Part VIII transports to), and Super-Kamiokande's τ/B(p → e⁺π⁰) > 2.4 × 10³⁴ years. The harness refuses an entry without a source or a date.

vac5Confront applies exactly one bound, the one that needs no Standard-Model embedding to be applied: the first Kaluza–Klein level of the unbroken vectors sits at 1/R, and if colour lives in the bulk that level is a colour-octet vector with coloron-like couplings. The verdict says above or below the bound and names the hypothesis in the sentence.

why

A number a model builder can act on is a mass in GeV against a limit from a detector, not a Wilson-line angle. And the W that sets the unit has to be a Wilson-line mass: at a symmetric vacuum the lightest massive vector is the first KK mode at 1/R, which the Wilson line had nothing to do with, and calling it the W would fix the scale from nothing. So the unit is the lightest vector strictly inside the tower, and a symmetric vacuum reports that nothing sets its scale rather than a number.

so

What is deliberately not done: which massless piece is a quark, the hypercharges, sin²θ_W, the Higgs mass from V″, the proton-decay rate. Each needs the Standard-Model cell at the vacuum or a normalisation anchored to a published number, and each is listed in the HANDOFF as the next tool rather than approximated here. A bound applied to a state it was not set for is a false verdict, and the instrument would rather print one line it can defend.

check
open What the model contains on SU(3) with boundary condition [2, 0, 0, 1] and one bulk Dirac fundamental, at the vacuum. Under the exact tower a line reads the measured W mass, 80.3692 ± 0.0133 GeV (PDG 2025), turns m_W·R into 1/R in TeV and every first massive state into GeV, and holds the first KK level against CMS's full-Run-2 dijet limit on colour-octet vectors, 6.6 TeV — saying that the bound applies only if colour lives in the bulk. One model, every verdict carries the same two lines in a group Against the data, tagged the theory's on every class.
2026-09-03notethe instrument · affects the record: no

A column cut off at the edge of a card, and the two gates that could not see it

what

A reader reported that one table ran off the edge of its card. It was one CSS declaration, and it was the right declaration in the wrong place: .card table{display:block;overflow-x:auto} — the rule that lets a wide table scroll inside its card instead of widening it — lived inside @media(max-width:959px). Above 960 px a table that did not fit simply pushed its card out, and the columns past the edge were gone. Eleven boxes across four sections, and on two of them the whole page scrolled sideways. The rule is now unconditional.

Three tables were then still asking for a horizontal drag, which is a scrollbar standing in for a decision: the SU(7) catalogue moved out of the two-column grid to full width, where its seven columns and its 560 px plot belong; the pre-registered sixth row and the T²/Z₆ census got shorter headers. Nothing on the page needs a sideways drag now.

Three verdict boxes were showing the — they were built with: the census recurrence and fibre until the sweep is pressed, and the relations move until one is typed. The page's own footer says a verdict is "said out loud with its reason — never an empty cell", so each now says what it is waiting for. Two of them were unreachable fixes at first — the caller returned before the code ran, which is the same shape as the guard-in-the-caller bug this instrument has now paid for four times.

why

Because none of the existing gates could see any of it. The harnesses check the mathematics against outside computations; the smoke test checks the markup is built; shoot.mjs takes a picture — of the defect, not a complaint about it; drive.mjs checks the controls answer a mouse. A column clipped at the edge of a card passes every one of them, and a reader sees it in one second. Two new tools close that: build/layout.mjs walks every section at several widths and in every state a reader can put it in — how-to open, each help bubble open, the demo running — and reports anything whose content is wider than its box, telling apart a box that scrolls, a box that clips, and a box that truncates with an ellipsis and can give the text back. build/extremes.mjs drives the page through the states no gate visits — every family cleared, one multiplet, every slot at its ceiling, and boundary conditions at the corners of the block simplex — and looks for the six ways a template literal says it was handed something it did not expect, plus verdict boxes that decided nothing.

so

Layout: 28 findings → 0 clipped, 0 boxes that need a drag. Extremes: 416 (section, state, width) renders came back clean. The verdict rule is now driven on the real page for all 26 sections at once. Both tools exit non-zero, so they can be gates rather than reports; both are documented in the README with the rest of the build.

check
open Anomalies & proton at any window width. The catalogue table — multiplets, contents, in window, hold host, can pay, best 1/R₅, best that pays — now sits at full width below the two columns, with all seven columns visible and the page not scrolling sideways. Then open any section and check that no verdict box shows a bare dash: the census recurrence says not checked yet and what to press, the relations panel says nothing judged yet, and clearing the model leaves the α caveat in the hierarchy panel saying it has no subject rather than vanishing.
2026-08-30correctionthe instrument · affects the record: YES

What the page says in their absence — a page number, a framing, a button that was in the wrong places

what

Four changes, and the first is the one that matters.

The page no longer asserts, in the authors' absence, more than we are willing to say to their faces. On 30 August a letter went to Akamatsu, Hirose, Maru and Nago about arXiv:2603.05857, and it says that which of their two published minima belongs with which value of c is something we could not settle from their text. This page had been saying something firmer — that the 1.4 TeV was their equation with α₂ dropped. Both numbers are still here, computed and not quoted; what has gone is the diagnosis. The row measures their equation, and the open question is named as open.

A page number that was wrong. The sentence quoted is on p. 21, not p. 22. Our own two scripts disagreed with each other about where eq. (5.19) sits, and both misplaced the sentence; measuring by the printed page number settled it. A page reference is the one part of a quotation a reader can check without any work.

The ⇩ LaTeX button appears only where it can export what is on screen. A section that declares holds() is showing its own model, so unless it also implements texExport the button would produce a correct file about a different one. On five sections it now simply is not there, and pressing it there anyway writes nothing.

And the demonstration exports its own dial, which is the section where a reader would most want it: the model, the free tower and the roots with a brane term, with the potential marked unknown and the reason given — with a brane term it is an integral over those roots, not a sum of cosines this export could carry.

why

A permalink also had to survive being sent. The state separator was |, which travels in an e-mail as %7C; Gmail re-encodes that and wraps the whole address in a google.com/url redirect with tracking parameters. It resolves correctly and it looks like surveillance. The separator is a comma now — every value is a number, so there is no ambiguity — and the pipe is still decoded, because links carrying it have already been sent.

so

Two of these were found by pressing buttons rather than by running assertions, and one was found by the assertions being wrong.

The two-file export was writing both downloads in the same tick, which is how a page asks a browser for permission to grab files; the second is now staggered by half a second.

And a harness lesson worth more than the fix. The driver stubbed HTMLAnchorElement.prototype.click to capture a download — and the rail's entries are <a> elements. Every later navigation silently did nothing, so six checks measured whatever section the page was already sitting on and reported a defect that was not there. A stub installed for one check must be put back before the next; the driver now asserts that it was.

check
open Brane kinetic terms. Step 4 now cites p. 21 for the authors' sentence, reports what eq. (5.19) gives at each of their two minima, and says that which minimum belongs with which c is an open question put to the authors. Press ⇩ LaTeX: the dial's own model comes out. Then switch to Boundary conditions or The literature — the button is not there, because on those it would write a file about a different model.
2026-08-30extensionthe instrument · affects the record: no

A model leaves as LaTeX — the potential, the table with its status column, and the bibliography

what

The header gains ⇩ LaTeX beside ⇩ card. It writes the model out in the form that goes into a paper: the effective potential as a displayed equation, the results as a table, and the sources as a companion .bib.

It is the same object the card button already exports — card.mjs builds it once, and toText, the JSON and now latex.mjs are three renderings of it. A number in someone's paper is the number the card carries, or the whole status apparatus is decoration.

Two details that are the point rather than the trim. The status column is a column: every row says theorem, verified, measured or unknown, and an unknown prints its reason in the table instead of leaving a blank cell. And the bibliography travels with the numbers, keyed the way INSPIRE keys it, so a reader who lifts a potential out of this page does not have to go and find the citation for the formula it came from — and so that citing it is the default rather than an act of virtue.

why

The builder could already write a reader's potential on screen. What they had to do next was retype it, and retyping is where a sign goes missing.

The transport is the hard part, and it is the same hard part that cost this project a day earlier today. Every string here is full of Unicode — α, A₄, n⁺₊, and U+2212, which looks exactly like a hyphen and is not — and pdflatex takes none of it. So tex() maps what it knows and throws on what it does not: an export that cannot be typeset fails loudly here rather than quietly in the reader's build. _test_latex.mjs pushes every string in data/ and in the citation registry through it.

so

Three defects were found by things other than the harness, and each is worth naming.

pdflatex found one by refusing to build. Three .bib titles carried bare maths — S^1/Z_2 — which is Missing $ inserted in the reader's document. Delimited now, and the harness rejects a bare caret in any registry field.

The compiled PDF found the second by looking wrong. BibTeX entries placed in the .tex are not comments: LaTeX ate the braces and typeset them as a paragraph of prose in the middle of the page. The entries went to a companion .bib, and the .tex carries a pointer.

build/drive.mjs found the third by pressing the button. The SU(N) builder declares holds() — it carries its own model, not the family's — so the export was pairing this section's potential with the shell's card: two models in one file, presented as one. The section exports its own card now, and the driver asserts the file names one model.

And a fourth, which was ours all along: the reference for the paper this instrument's whole 5D family is built on was typed into seven files, and all seven named the wrong volume. It is JHEP 02 (2004) 059, DOI 10.1088/1126-6708/2004/02/059 — arXiv's journal-ref, the ADS bibcode and INSPIRE agree, and one of the seven copies was displayed on the page. There is one copy now, in src/kernel/cite.mjs, and a gate that sweeps the tree and fails the build if any file prints a volume the registry disagrees with.

check
open SU(N) builder, press the §4.3 · SU(6), P ≠ P′ preset, and press ⇩ LaTeX in the header. Two files come out: a .tex whose equation is V_eff = (C/2) Σ n⁻⁵ [−2cos(nπa) − 18cos(nπ(a−1)) − 3cos(2nπa)] and whose table carries a status column with scale marked UNKNOWN and its reason printed; and a .bib with the INSPIRE-keyed entry for the formula it rests on. The pair compiles: pdflatex on the standalone form gives one page, no overfull boxes.
2026-08-30extensionthe instrument · affects the record: no

A census of the literature — and its finding is an absence

what

To compare two gauge–Higgs models you need three things from each: the bulk content, the minimum of the Wilson-line potential, and a mass. There is no dataset that gives it — HEPData is experimental, and the tables of this field live inside PDFs and nowhere else.

So this section is curation, not calculation, and it keeps two halves apart on the page. Measured: every paper in the corpus swept for the signals its text carries — complete, reproducible, and worth exactly what a keyword sweep is worth, which is that it turns a corpus into a shortlist. Read: the rows the census actually asserts, each naming the page or equation somebody looked at.

Conflating the two would make a grep look like a literature review. The page shows the count of both, and the gap: the six papers the sweep shortlisted that nobody has opened are listed by name, because a to-do you can see is honest where an omission is not.

why

The finding is the absence. Of 84 distinct papers, 11 print all three legs anywhere in their text, and of the eight read in full, three carry a usable row. There is no table of gauge–Higgs models because the field does not publish one — and mostly does not publish the rows such a table would be made of.

Which is also the answer to a question this instrument keeps being asked: why is every absolute number here labelled measured rather than compared against the literature? Because there is almost nothing to compare against. The one row our engine reproduces end to end is AHMN's 2023 model, and it does so exactly — their published minimum, their ratio, their 303 GeV.

so

A second number came out of the sweep that was not what it was built to find, and it is the more useful of the two: 73 of the 84 PDFs — 87% — lose glyphs to text extraction.

That is not a quirk of one paper. It is the normal case in an equation-heavy corpus, and it is why this project spent 2026-08-30 proving a correct published formula wrong: the text layer of Haba–Yamashita's paper had silently eaten two absolute-value bars. pdf_glyph_audit.py exists because of that day; this census says how often the condition it detects is present.

So a paper the sweep could not read is a third state on this page, with its own count — 28 of them — and never folded into "publishes nothing". That would be the sweep reporting its own blind spot as a property of the literature, and with 87% of the corpus in that condition it would be a large report of nothing. _test_census_lit.mjs holds the line: no unreadable paper may reach the shortlist, no curated row may exist without a page reference, and the arithmetic of the denominator — duplicate filenames included, one of which was found — has to close.

check
open The literature. Of 84 distinct papers in the corpus, 11 print all three legs of the triple a comparison needs — content, minimum, mass — and 8 have been read and are asserted with a page or an equation. Search the table, or switch it to no published minimum. The six papers the sweep shortlisted and nobody has opened are listed by name.
2026-08-30correctionthe instrument · affects the record: YES

A bibliography that left out the paper it rests on — and a census row that named the wrong people

what

The demonstration's bibliography did not contain the paper every number in it comes from. The brane-kinetic-term section computes nothing but Akamatsu, Hirose, Maru and Nago's eq. (3.19), its regulator (3.21) and the potential (4.2) — and the file it exported cited Haba–Yamashita, Haba–Hosotani–Kawamura, Arkani-Hamed et al., von Gersdorff–Irges–Quirós and Takeuchi–Inagaki, with no entry for the authors at all. A bibliography that omits the source of every number in a document is worse than none: it points the reader at the wrong five papers. And the letter sent to those four authors that morning links to that page.

A census row named two people who are not on the paper. arXiv:2502.08250 is by Kawamura, Kodaira, Kojima and Yamashita — the row said "Kojima-Kubo-Kubota-Yamashita", an initialism guessed from a file name rather than read off the title page. Its orbifold is T²/Z₄, and the column said T². Those are the two fields a reader would use to find the paper. Both are corrected against the title page and against INSPIRE, and the paper is now in the citation registry with its JHEP reference and DOI.

And the census exports. It is a table, so it leaves as one — one row per paper, with the four legs it prints and the rows it yields, and a .bib of exactly the papers the table cites. The summary card travels above it: 84 papers swept, 11 carrying all three legs anywhere in their text, 8 read and asserted, and 5 of those 8 printing no usable row at all. That absence is the finding, and it is now something you can paste into a paper.

why

The bibliography followed the group, not the file. That is right for a section computing a family of models and wrong for one built on a single paper: the brane section declares group: su3_hy because that is the physics it sits in, so its .bib inherited that group's five sources. A section that knows its own sources now says so, and the two cases resolve the same way.

The census row is the older failure and the plainer one. The file on disk was called KKKY_2502.08250.pdf, and the label was written from those four letters instead of from the first page of the paper — which names four different people. A file name is not a source.

so

The gate that did not exist: an exported document must cite the paper its numbers came from. It checks the brane export carries the authors' key and no longer inherits its group's, and that the census .bib carries the eight papers its rows assert.

Two more things were found by compiling the file and looking at it, which the assertions could not have caught. The caption said a row needs the content and a minimum — but von Gersdorff–Irges–Quirós prints both and is credited none, because a row needs the whole triple: a Higgs mass or a compactification scale as well. The caption and the column beside it were two statements about one number, and they disagreed. And when the caption was corrected, the summary card's own source line kept the superseded rule, so the compiled PDF printed both, one page apart. One criterion stated twice is two claims; both are now gated, and every row's dots are checked against the count it is credited.

check
open Brane kinetic terms and press ⇩ LaTeX. The companion .bib now carries Akamatsu, Hirose, Maru and Nago; before it carried five other papers and not theirs. Then open The literature: the ⇩ LaTeX button is there now, and it writes the census as a table, one row per paper, with a .bib of the eight papers the rows cite. The row for arXiv:2502.08250 names Kawamura, Kodaira, Kojima and Yamashita, on T²/Z₄.
2026-08-30withdrawalthe instrument · affects the record: YES

The absolute value was already there — we withdraw a correction we had no business making

what

On 29 August this instrument shipped, in the source of sun5d.mjs, in its harness and in a changelog entry, the claim that the two coefficients of Haba & Yamashita's general formula — eqs. (5.9), (5.10) and (5.17)–(5.20) of JHEP 05 (2004) 059, hep-ph/0401185 — were printed as plain differences (n₊₊ − n₋₋) and (n₊₋ − n₋₊), and that an absolute value had to be restored for their own worked examples to come out.

That is false. All six equations print the coefficients with absolute-value bars, on the page. Nothing was missing. The paper is right and we were wrong, and since we said it in public we withdraw it in public.

why

The bars are set in CMEX10, TeX's extensible-delimiter font, and in that PDF its glyphs map to U+000C. Every text extraction drops them without a word: pdftotext does, and so does PyMuPDF, in every mode it offers. We had moved to PyMuPDF precisely because we knew pdftotext loses ligatures; the failure was one level below that.

What makes this kind of loss different from a lost ligature is that it leaves no wreckage. A missing fi turns unification into unication and you see it. A missing pair of bars turns |n₊₊ − n₋₋| into (n₊₊ − n₋₋), which is a well-formed expression, reads as an ordinary formula, and is a different formula. There is nothing to notice, so nobody goes back to the page. This one sat in our notes for three weeks and in this instrument for one day.

Nor did the machinery help. Seventeen of the paper's published potentials were reproduced, two decoy readings were killed, and an exact invariance was swept over 710 boundary conditions — all of it working, all of it pointing at a premise nobody had checked against the page. A harness measures consistency with its input. If the input is mutilated it will certify the mutilation, and do it with confidence.

so

Nothing the instrument computes changes. sun5d.mjs has always used |n₊₊ − n₋₋|, which is what the paper says, so every potential, minimum, spectrum, anomaly bill and sweep result stands exactly as it was. The harness still checks that the bars-dropped reading fails — that check is worth more now than before, because it is a guard against the extraction bug itself: it is precisely the wrong formula a tool will hand you.

Three things changed, and all three are text. The header of sun5d.mjs carries the retraction where the claim was. The harness says what it is guarding against. The 29 August entry has its third paragraph struck, pointing here.

A letter to the authors had been drafted on the false premise. It was not sent, and it will not be. What survives of that day is a tool: pdf_glyph_audit.py, which lists the pages of a PDF carrying glyphs the text layer cannot render, and which on this paper flags pages 4, 5, 14, 15, 16 and 17 — its §3 and its §5 entire. Run it before quoting a formula.

check
open SU(N) builder, press the §4.3 · SU(6), P ≠ P′ preset with no bulk content. The gauge potential reads −3cos(2nπa) − 6cos(nπa) − 18cos(nπ(a−1)), which is −3 × Haba & Yamashita's own eq. (4.29) — the equation their paper prints. Every number this instrument has ever shown for a 5D SU(N) model is unchanged; what changes is a sentence we wrote about their paper.
2026-08-30extensionthe instrument · affects the record: no

T²/Z₆ counted on the page — the same orbit walk, on a third orbifold

what

The equivalence classes on T²/Z₆ are now counted on the page, in the section that already counts them on S¹/Z₂ and T²/Z₃. It is not a new orbifold in the selector: the cells, the energy and the unbroken group of that page are S¹/Z₂ and T²/Z₃ objects, and a T²/Z₆ state is a different animal. What it shares is the only thing a count needs — states, and moves between them — so it goes through the same orbit walk rather than a second copy of it.

A state is (b₀,b₁,b₂ | c₀,c₁ | d₀…d₅): how many 2×2 blocks of each label, how many 3×3 blocks of each label, and how many diagonal entries of each of the six patterns. The moves are Takeuchi–Inagaki's own reductions — three 2×2 blocks of distinct label, and two 3×3 of distinct label, become diagonal — and in both cases the eigenvalues that come out are the six sixth roots of unity, so each reduction produces exactly one of each diagonal pattern.

The diagonal column is the control and it is printed. Their section 3 proves no two diagonal sets are connected, so those classes must number C(N+5,5). If that column ever stopped matching, the states or the moves would be wrong and no other number in the row would mean anything.

Beside the count, the two expressions their paper prints for the same quantity — a sum over configurations, and the closed form of eq. (5.9) — are quoted as printed, and a third column evaluates the sum, because a formula is easier to use than a five-fold sum. Which columns are computed here and which are quoted is stated in the note.

why

The evaluated form is two branches by parity rather than six by N mod 6, and the reason is visible in the generating function: x²(3−4x+2x²) / [(1−x)⁹(1+x)]. The 1/(1−x³) that every term with 3×3 blocks carries cancels, so there is no pole at the primitive cube roots of unity and the count cannot depend on N mod 3 at all. The pole of order 9 at x = 1 is the degree, and the simple pole at x = −1 is the period. That is worth having on the page because it is the kind of statement one can check before doing any arithmetic.

so

A defect found while porting, and it is the general lesson. bcClasses finds a class by walking the moves forward from one state — which computes the connected component only if the move set is symmetric, as the S¹/Z₂ and T²/Z₃ relations are, each being its own inverse in the list. A reduction is not: it only goes one way. Without its inverse alongside it, the walk returned 665, 1560 and 3351 at N = 6, 7, 8 instead of 663, 1548 and 3303 — it was measuring what is reachable from where it started, not the classes. The inverses are listed now, and the harness checks that every move has one.

check
open Boundary conditions and scroll to How many classes there are. Below the existing table there is a second one for T²/Z₆, N = 1 to 8. The diagonal column is the control: it must equal C(N+5,5), and the note says whether it does. The last two columns are quoted from Takeuchi–Inagaki, not computed here, and the note says which is which.
2026-08-30extensionthe instrument · affects the record: no

Brane kinetic terms — the tower when the masses stop being n/R, and a demonstration you can send

what

A brane-localized kinetic term is an extra kinetic term sitting on the orbifold's fixed points. With one, the Kaluza–Klein masses stop being n/R: they become the roots of a transcendental equation, the sum over the tower diverges and needs regulating, and the potential has to be built from the roots rather than written down. src/kernel/blkt.mjs does that, and a new section demonstrates it.

Four steps. The mass equation drawn, with the poles marked — because at c = 0 the poles are the spectrum, and watching the roots slide off them is the mechanism rather than a description of it. The same thing read as a spectrum, with the drift. The check. And what it buys, in the authors' own numbers.

It is the live route, not a curiosity. Akamatsu, Hirose, Maru and Nago's 2023 model sits at about 303 GeV, too low to be viable; their 2026 paper turns brane terms on and lifts it. We had measured the alternative — the whole symmetric-rank ladder of their 2023 paper — and its best point is 464 GeV. They were right to change route, and until now this instrument could not follow them there.

why

Step 3 is the reason the other three can be believed, and it is worth stating separately.

Their (3.22) is an approximation they derive on p. 10 to test their own regularization. Expanded for α ∼ x ≪ 1 it collapses to x = m|α| / (2√(1+c)) — which at m = 1 is their (5.19) on p. 20, ten pages later. The page solves the first numerically and compares it with the second, live, across c from 0.5 to 50; the relative error runs 3×10⁻⁴ → 2×10⁻⁵ → 8×10⁻⁷ as |α| shrinks by 4 and then 5. Falling like α² is the point: a fit that merely agreed would agree equally well at every α. Two of their equations, joined by our arithmetic, in the page.

The kernel's own controls are harder still. As c → 0 the roots must become the ordinary twisted tower — which is computed in closed form from the poles, so two independent objects have to meet. And the special functions are held to mpmath at 40 digits (tests/blkt_reference.json), not to values typed from memory.

so

Everything that could find a defect did, and each one is now a gate.

The c → 0 control found three. A plain grid cannot locate the roots — as c falls each root migrates to a pole and sits a distance of order c from it, so root and pole land in the same cell; the solver brackets by the poles now. blktFreeTower was rounding to 1e-9 to de-duplicate, which capped how close the search could get. And the real one: catastrophic cancellation — cos(a) − cos(θ) near a pole is −1 + 5×10⁻¹⁸, which rounds to exactly −1, so the denominator was exactly zero and the whole α = 0 sector went missing. That is the symmetric point, which is the sector the physics is about. It uses cos A − cos B = −2 sin((A+B)/2) sin((A−B)/2) now, which does not cancel.

mpmath found two. Our "tabulated" E₁(5) was wrong in the twelfth digit and the JS was the half that was right — a reference you wrote yourself is not a reference. And the digamma was shifting only to 8 before its asymptotic series, leaving 5×10⁻¹³ at small argument.

build/drive.mjs found one, and it was the number a letter would carry. The paper prints two minima, one per value of c — (0.438, 0.299) at c = 0 in the text, (0.46, 0.30) at c = 15 in the caption of Fig. 1 — and this page was reading the first at the second, giving 1213 GeV. Eq. (5.19) at their c = 15 minimum gives 1171 GeV; the same equation on α₁ alone gives 1398 GeV. Which published minimum belongs with which value of c we could not settle from their text, so the page says that rather than deciding it, and reports all three numbers.

And the permalink is not a convenience. A demonstration that cannot be sent is a demonstration nobody sees: any section may now declare encodeState, so a link opens on exactly the model and coefficient it was left at, and a reader moves the dial themselves instead of taking a sentence on trust.

check
open Brane kinetic terms and press ▶ run the demonstration. The dial walks c from 0 to 25 and each Kaluza–Klein root slides off its pole. Step 3 solves the authors' own eq. (3.22) live and lands on their eq. (5.19), ten pages later, with the error falling like α². Press 🔗 link at any setting: the URL carries the dial, so the page can be sent.
2026-08-29extensionthe instrument · affects the record: no

Which boundary conditions are the same theory — the equivalence classes, on S¹/Z₂ and T²/Z₃

what

Putting a gauge theory on an orbifold means choosing boundary conditions at the fixed points, and there are many. Some are related by a gauge transformation, so they are the same theory wearing different clothes: they form an equivalence class, and only the class is physics. This section does that quotient, on both orbifolds where the classification is settled.

On S¹/Z₂ a boundary condition is a pair of Z₂ parities, so four block sizes [p, q, r, s] — the same four numbers the SU(N) builder takes. The only relation is [p, q, r, s] ~ [p−1, q+1, r+1, s−1]: Haba–Hosotani–Kawamura, PTP 111 (2004) 265, eq. (2.21), and re-derived twenty years later by Takeuchi–Inagaki (PTEP 2024 033B03) from the conservation of the trace at each fixed point alone — a geometric fact about the orbifold, using nothing at all about the structure of the gauge transformations. On T²/Z₃ the same argument gives their eq. (46).

The page computes the orbits; every count on it comes out of that and none is quoted. HHK's n₁ = C(N+3, 3) boundary conditions, n₂ = (N−1)N(N+1)/6 relations and (N+1)² classes are reproduced for every N up to 14 as properties of the orbit structure. So is their §3 energetics: which member of a class the one-loop vacuum energy prefers, with eq. (3.27) checked term by term as a polynomial in the matter content.

why

Because it is the first thing a model builder needs and the easiest thing to get wrong. The apparent unbroken symmetry is not an invariant. SU(5)'s [2, 0, 0, 3] looks like the Standard Model's SU(3)×SU(2)×U(1) and [1, 1, 1, 2] looks like SU(2)×U(1)³, and they are one theory: which group you appear to have depends on where you are standing on the Wilson line. A survey over boundary conditions that does not quotient by this counts the same model over and over, and a claim that a particular boundary condition "gives the Standard Model gauge group" is a claim about a representative, not about a theory.

And the class is exactly the pair of eigenvalue spectra of the two parities — one at each fixed point — which is the trace that is conserved. That is why there are (N+1)² of them.

so

Two things the page says out loud rather than quietly.

The comparison it refuses. The vacuum energy splits into N₀λ₀ + N_Δλ_Δ + N_v·v(½), and only the last is finite. N₀ does not depend on the boundary condition at all. N_Δ multiplies a divergent λ_Δ with no principle to fix the regularisation — but it is constant on a class, which is exactly why ranking members within a class survives and ranking classes *against each other* does not. So the panel ranks members and refuses to rank classes, and says why. In a supersymmetric theory the ambiguity cancels; that is HHK §4 and it is not implemented here.

The answer that does not carry over. On T²/Z₃ the moves are 3-cycles rather than the 2×2 swaps that would connect every matrix with the same spectra, so the spectra stay invariant but stop being complete: at N = 4 there are 477 classes among 495 boundary conditions. Assuming the one-dimensional answer generalised would have been the easy mistake, and the page measures it instead.

Collaterally, a real defect in this repository's own build, latent since the first commit: build_app.py decoded its harnesses' output with the machine's ANSI codepage. On Windows that is cp1252, which has five unmapped bytes, and a harness printing an omega killed the capture — stdout came back None with returncode 0. Had that landed one line later, a red harness could have been reported green. It decodes UTF-8 explicitly now and refuses a build where the capture came back empty.

check
open Boundary conditions. SU(5) with [2, 0, 0, 3] looks like SU(3)×SU(2)×U(1); the class table beside it shows [1, 1, 1, 2] and [0, 2, 2, 1] in the same class, looking like SU(2)×U(1)³ and SU(2)×SU(2)×U(1)². Three apparent symmetries, one theory. The counting table computes the orbits at every N from 1 to 12 and they come out 4, 9, 16, 25, 36, … = (N+1)². Then press T²/Z₃ and watch the answer change: the same invariant is no longer complete, and almost every boundary condition is alone in its class.
2026-08-29extensionthe instrument · affects the record: no

What the model contains — the 4D spectrum of any 5D SU(N) boundary condition

what

The SU(N) builder gives the potential and the vacuum; the boundary-conditions section says which boundary conditions are the same theory. Neither says what the theory has. This does: the four-dimensional fields of any 5D SU(N) model on S¹/Z₂, massless and towered, with their quantum numbers under the unbroken group. It is Table 1 of every paper in this corner of the field.

One rule does all of it — Haba–Yamashita eq. (3.5): the mode expansion is fixed by the pair of Z₂ parities a state carries, and only (+,+) has a zero mode. Two riders carry the physics. A_y has the opposite parity to A_μ, so the massless vectors are the unbroken group and the massless scalars are exactly where the vectors are not — which is where the Higgs candidates live. And a Dirac fermion's two chiralities carry opposite parities, because the orbifold condition carries a γ₅: at most one of them can be (+,+), so a massless 4D fermion here is automatically chiral. That is the whole reason for orbifolding, and the panel says whether this particular boundary condition delivers it.

The section takes no model of its own: it shares the builder's, so changing the boundary condition or the bulk in either panel moves both.

why

Because "what does this theory contain" is the first question of model building and the instrument could not answer it. And because the answer is not where a reader expects: the massless content follows from the parities, not from evaluating a Kaluza-Klein family at n = 0 — a (+,+) state expands in cos and has a zero mode, a (−,−) state expands in sin and has none. A tower drawn the second way puts states at zero mass that are not there, so this panel publishes the families — a multiplicity, an offset and a charge, which is what the sources print — and computes the massless content separately. What it does not do, it says.

so

Two things fell out that were not the point and are worth more than it.

The spectrum and the potential are the same data. A cosine in the potential is a pair of states in the spectrum: m·cos(nπ(c·θ − d)) is two states at charge ±c/2, with d = 1 the half-integer tower. So summing cos(2πnQ) over the states must reproduce the potential's own bracket — the potential counts each ± pair once and the states count both, so the factor is exactly 2. Asserted, not assumed, and checked on 96 cases in the harness at 5·10⁻¹⁵ and again on every render of the page. Two constructions that share no code, one object.

And the deepest point is not always a vacuum. On their own §4.3 SU(6) with four fundamentals, the minimum sits at θ = 1 — an end of the fundamental domain, which is the other symmetric point and not a broken vacuum. The panel now says so, and names the boundary condition it belongs to: the gauge-equivalent one a single class move away. Three sections of this instrument meet at that sentence.

check
open 4D spectrum and press load their §4.3 SU(6) with four fundamentals. The massless content comes out as 13 gauge bosons — the dimension of SU(3)×SU(2)×U(1)² — plus 4 scalars, all of them from A_y, plus 4 left-handed against 8 right-handed Weyl fermions: a chiral 4D theory. The eigenvalue families on the right are the object Haba–Yamashita print, and the panel below them re-derives the potential from the spectrum on this render and reports the gap: 0.0e+0.
2026-08-29extensionthe instrument · affects the record: no

The scan — the four panels chained, and the model-building loop closes

what

The other four panels answer a question about one model — the builder gives the potential and its vacuum, the 4D spectrum says what is massless and whether it is chiral, Anomalies says what that content owes, and Boundary conditions says which of these theories are the same theory. A model builder uses all four on one model and then types the next one. Nothing walked the space.

This does: every boundary condition of SU(N) on S¹/Z₂ crossed with every bulk content up to a chosen size, through a chain of filters ordered cheapest first, so the only expensive one — minimising the potential — runs on the fewest candidates. And a survivor loads into the builder, which is the same shared model the other panels read, so the sweep hands over a candidate instead of ending in a list.

why

Because the funnel is the answer, not the survivors. "Three models survive" says nothing without "out of how many, and where the others died", so every stage reports what it kept.

And because the headline is a pair of numbers. Twenty-four surviving boundary conditions that are sixteen theories will be read as twenty-four results by anyone who does not know to quotient, so both counts are printed side by side, always, and every row carries its class with the repeats greyed and marked ↺. The sweep walks boundary conditions rather than classes on purpose: the apparent unbroken group is not a class invariant — [2,0,0,3]'s own class shows three different ones — so one representative per class would be picking an answer rather than computing one.

so

Four things the harness caught, and one of them is the honesty floor.

A default that filtered. needHiggs defaulted to "any", which reads as don't care and means must have one: it discarded two thirds of the space while stage zero went on printing the full denominator. The sweep was lying about its own denominator.

An undecided vacuum reported as a no. The minimiser handles one Wilson-line phase and two; with three or more it returns nothing, and those models were being filtered out together with the ones whose minimum genuinely sits at a symmetric point. Three buckets now — breaks, symmetric, undecided — and the undecided are counted on the page, as is anything the budget cut off before it was ever minimised.

Showing 40 of 24. The list decided which rows were the first of their class inside a second pass, by which time the first pass had already seen every class, so every survivor was listed twice. That is section code, which no module harness reaches — build/drive.mjs now drives the panel and checks that the count it prints is arithmetic that holds.

A filter that is always empty is a bug wearing a result's coat. Two of the four returned nothing over the whole space at first sight. Each is now exhibited keeping something on its own — and the conjunction being empty turned out to be the real physics. On SU(5) the four filters leave 36 pairs and every one of them is a pure adjoint content with no massless scalar at all, which is the anomaly module's theorem read backwards: the adjoint is real, so at two multiplets it is the only bulk that settles its own bill. Ask for a Higgs as well and SU(5) empties completely; ask for a colourless one and it dies one stage earlier, for a reason that fits on a line — a 3 and a 2 already use up all of SU(5), so no block of size 1 is left to pair with the doublet. One rank higher, all five filters at once leave survivors, so the zero is about SU(5) and not about a stuck gate.

What the panel refuses to say is on it: the group it filters on is the one you write, not the one you get, since the physical symmetry is the one at the minimum and that is the expensive question the last filter only samples. Bulk Dirac fermions only, no brane fields — so *"the bulk pays its own anomaly" reads as "needs no brane fermion to be consistent"*, a far stronger demand than consistency, and failing it excludes nothing.

check
open Scan, tick all four filters, press run the sweep. On SU(6) with one bulk multiplet: 672 pairs in, 192 left by the group, 48 by the anomaly ledger, 24 by the vacuum — and the verdict reads 24 pairs, but 16 theories, because boundary conditions related by [p,q,r,s] ~ [p−1,q+1,r+1,s−1] are the same theory in different coordinates. Press load on any row and the builder is holding that model; the 4D spectrum and Anomalies panels then read it. Then turn every filter off: the funnel must return the whole space unchanged, because a default that filters would make the sweep lie about its own denominator.
2026-08-29extensionthe instrument · affects the record: no

The anomaly ledger — the bill a chiral spectrum runs up, channel by channel

what

A chiral four-dimensional spectrum is inconsistent unless its gauge anomalies cancel. That is the first gate a model has to pass; it has to be checked channel by channel; and it is where an arithmetic slip hides best. This computes it for any 5D SU(N) boundary condition and bulk content: every channel the unbroken group has — [SU(n)]³, U(1)×[SU(n)]², U(1)³, U(1)×[grav]² — with an exact rational coefficient, so a zero is a zero and not a rounding.

It shares the builder's model, like the spectrum panel. One model, three views: the potential and its vacuum, what the model contains, and what that content owes.

why

Because the four-dimensional anomaly is the right object, and that is a theorem rather than a convenience. Arkani-Hamed, Cohen and Georgi (hep-th/0103135) compute the anomaly on S¹/Z₂ and find it lives entirely on the fixed points, independent of the shape of the mode — their eq. (4.38), ∂_C J^C = ½[δ(x₄) + δ(x₄ − L)] Q: each fixed point picks up half the anomaly of the chiral zero mode, and in their words *"the cancellation of the four-dimensional anomaly is sufficient to eliminate the five-dimensional anomaly"*.

And because a non-zero row is not a verdict of inconsistency. Every model of this kind carries brane fields, since the unwanted zero modes have to be given mass — Komori and Maru say how in as many words after their eq. (76), by introducing the 4D fermion conjugate to each — and a conjugate brane fermion contributes to the same channels with the opposite sign. So the ledger reports a bill, and says who can pay it. That is Part VI's own reading, generalised off the one model it was written for.

so

The harness caught three premises of mine that were wrong physics, not wrong code, and each was replaced rather than patched.

p = s does not make a spectrum vector-like: the left-handed piece lives in the (+,+) block and the right-handed one in (−,−), and those are different SU factors even at the same size. Flipping ηη′ is not conjugation: it moves the zero modes to the other pair of blocks, which is a different theory — on a boundary condition with q = r = 0, one sign gives zero modes and the other gives none at all. And an unbroken boundary condition is the maximally chiral case, not a vector-like one: it is ACG's own setup, one zero mode per bulk Dirac fermion, and anomalous.

What replaced them is stronger because each is a real statement: an adjoint bulk fermion is anomaly-free on every boundary condition, because the adjoint is real — which is a genuine test of the conjugation on the off-diagonal pieces, and the module failed it at first by counting (a,b) and (b,a) as two fundamentals instead of a fundamental and an anti-fundamental. And a piece fed in with its own conjugate must cancel, which tests every sign at once.

Collaterally, the build's collision guard refused the first version by name: it declared its own gcd, and src/kernel/charges.mjs — Part VI's exact-rational arithmetic — already had one. The ledger uses the kernel's, which is what a neighbour should do.

check
open Anomalies and press load their §4.3 SU(6) with four fundamentals. Twelve massless Weyl fermions in two pieces, thirteen channels, nine of them left owing — U(1)(+,+)×[grav]² = 14/3, U(1)(+,+)³ = 127/54, U(1)(+,+)×[SU(2)(−,−)]² = 1/3 — every one an exact rational. And four cancel, including [SU(3)(+,−)]³, because nothing in this content is charged under that factor. Then load an adjoint instead: every channel goes to zero, on every boundary condition, because the adjoint is real.
2026-08-29extensionPart VIII · affects the record: no

Part VIII enters the instrument — the map backwards, the clusters, and the census

what

Part VII maximises 1/R₅ over the lattice of bulk contents and publishes a ceiling. Part VIII runs the same map backwards: given a target box in the two observables the closed form predicts, it returns a bulk content or a named certificate that none exists. The instrument had the ceiling and none of the inverse. It has both now, in two sections that sit next to Hierarchy because they are the same map read the other way.

Design a scale does the deciding. Type a scale — or click the axis — and the page walks the rungs, issuing one of five certificates where nothing sits: floor (identity (II) asking for an A₄ below the empty content, which non-negative multiplicities forbid), cone, congruence, dual (an exact rational Farkas pair) and exhaustion (the rung is finite and was enumerated). Two more things are reported and are explicitly not certificates: rung, which excludes the rung and not the target, and budget, which means the enumeration was stopped. A design is only a design once the exact potential agrees that the electroweak point is the deepest place on (0, 1] — W > 0 compares the two symmetric points and nothing else.

Count a rung does the counting. A dynamic programme over the two partial moments gives N(A₄, 8D) for every A₄ at once, in about twenty milliseconds, where the enumerator that built the same contents one by one took twenty-five minutes and ran out of budget below 5 TeV. The four rung totals — 69 022 464 contents — land exactly on what that enumerator built, by an algorithm that shares nothing with it. The section also proves and checks the recurrence N(A₄, 8D+6) = N(A₄, 8D) − P, which is why the four counting curves superpose, and reads the fibre of the measured-mass point with Part VII's completeness theorem: 81 contents there share all five coordinates, so they are not 81 models that agree — they are 81 ways to build one potential, one of 19 multiplets and one of 198.

why

A ceiling is a bound; the inverse direction reports a set, and the set is not what the bound suggests. The clusters the instrument now draws are finite point sets — rung one is 35 values of 1/R₅, about 31.5 GeV apart — and between the rung-three and rung-one clusters there are 2682 GeV with nothing in them, forty-five times the widest gap inside either cluster. A finite set is disconnected for free; a macroscopic stretch closed by an exact rational certificate is not.

Nothing in the record moves: this is Part VIII arriving in the instrument, not a correction to anything already deposited.

so

Nothing to redo, and three defects paid for on the way — all of them in this page's own code, all now guarded. The first drawing painted each cluster as a bar, which is the misreading the paper warns against; it is a comb now, computed here. The point sweep then hit a budget cap on rung three and printed 54 points as though they were 65, with no mention of the cut — the cap is derived from the same threshold that chose the rung, and a deliberately capped sweep is now part of the harness. And the fibre panel picked its class by size, which on this rung gives 86 and not the paper's 81: two classes there have a single 2W, and the one the paper means is the one at the measured Higgs mass. Each class is one potential, so it has one scale, and that is what selects it.

check
open Design a scale, press resolve the clusters into their points, and read the note: rung 8D = 1 is 35 points and not an interval, 31.46 GeV apart on average, widest interior gap 59.44 GeV — so the certified gap is 45× that, computed on the page. Then type 7.5 into the target and press design it: floor, one rung, a proved no-go. Then 9.0: a content of eight multiplets at 9008 GeV, verified on the exact potential. In Count a rung, press build the table: the four rung totals land on the enumerator's own 69 022 464 contents, counted by a dynamic programme in about twenty milliseconds.
2026-08-29extensionthe instrument · affects the record: no

A builder for any 5D SU(N) on S¹/Z₂ — the model becomes the input, not the subject

what

Every section of this instrument until now answers a question about a model somebody already wrote down — theirs or ours. This one takes the model as input. Type a boundary condition (four block sizes, which is what simultaneously diagonal orbifold parities are) and a bulk content, and it returns the one-loop Wilson-line effective potential of any 5D SU(N) gauge theory on S¹/Z₂, with the unbroken subgroup, the number of Wilson-line degrees of freedom, the potential written out term by term, and where its minimum is.

It is Haba & Yamashita's general formula, JHEP 05 (2004) 059, §5 — the machine every model in this corner of the field is built on. The instrument already had one instance of it, their SU(3) case; this is the formula.

why

Two things follow, and the second is the one that matters.

First, a reader with a model of their own no longer has to redo the group theory by hand to get the object they need before they can do anything else. It is a form.

Second, when the model has one Wilson-line phase the terms are the (m, s, c) triples the rest of this instrument runs on. So the closed form of Part VII, its five complete invariants and its stability criterion apply to somebody else's SU(6) as readily as to the SU(7) they were written for — and the page says which of those are theorems about the shape (they travel) and which are theorems about the SU(7) lattice (they do not, and become measurements you can check). The panel prints both, and reports the arithmetic laws failing for SU(6) as the measurement it is rather than hiding it.

so

**WITHDRAWN 2026-08-30 — see The absolute value was already there. What stood here said the coefficients of eqs. (5.9), (5.10) and (5.17)–(5.20) were printed as plain differences and had to be corrected to absolute values. They are printed with** the bars, in all six, on the page. The paper is right; we were wrong. The bars are CMEX10 glyphs mapping to U+000C and every text extraction drops them in silence, ours included. Nothing the instrument computes changes — it always used the absolute value, which is what the paper says — and the harness still checks the bars-dropped reading fails, now as a guard against the extraction bug rather than as a correction to anybody. The rest of this entry stands.

And one overclaim of our own, caught before it shipped. Ours: the vacuum panel first announced "the Hosotani mechanism" for a minimum sitting at a = 1, which is not a broken vacuum but the other symmetric point — the two ends of the fundamental domain are exactly the pair Part VII's criterion compares. Three verdicts now, and the criterion by name. And the two normalisations differ by the paper's ½, which is now stated in the panel and asserted in the harness rather than left to be rediscovered.

check
open SU(N) builder, press the §4.3 · SU(6), P ≠ P′ preset and give it four fundamental Dirac fermions. The page writes the potential — 10cos(nπa) − 18cos(nπ(a−1)) − 3cos(nπ2a) — locates the deepest point at a = 1 and says what that is: an end of the fundamental domain, so the other symmetric point is the deeper one and nothing is broken by the Wilson line. Part VII's own criterion, F(1) − F(0) = (31/16)ζ(5)W, is quoted beside it and agrees. Nothing about SU(6) is in any data file: the whole thing is built from four block sizes.
2026-08-27notePart VII · affects the record: no

A verdict can have no subject — the true-vacuum flag was a boolean where three answers were needed

what

A second outside audit read the corrected source and found the correction's own edge. The verdict had become true: symmetricOK && deepest !== false — right whenever there was something to test, and wrong whenever there was not. deepest is null on every content that never reaches the minimiser, and in this language null !== false is true. So a content with no electroweak breaking and W > 0 exported alpha_min: no electroweak breaking next to vacuum.true: true. The auditor built it from this page's own coordinates: 2 × 7(+,+), where the gauge seed gives 8D = −27, 2W = −3 and each 7(+,+) adds 8D = −6, 2W = +2, so 8D = −39 < 0 and 2W = +1 > 0. Reproduced here to every digit, and the Python engine of Part VII now produces that row into tests/reference_models.json so a reader can check the null against an implementation that shares no line of code with the page. The screen was never wrong — it said "But D ≤ 0, so there is no interior minimum for it to be the vacuum of" — but the screen is not what a third party reads. vacuum.true is now one of {true, false, null} beside a named state: true-vacuum, false-vacuum, no-electroweak-breaking, no-branch-located, undetermined. Null is not a verdict, and it no longer pretends to be one.

The same audit asked for the globality half to stop resting on a positional tolerance — it decided the branch was the deepest point if |α_global − α_closed| < 0.02 or the gap in F was negligible. The closed form is an expansion, accurate to 0.71 % under the largest α of their Table 1 and to 20 % out at α = 0.229, so a fixed window in α is a guess about how wide a basin is. It is gone. The closed form now only locates the basin: localMin walks downhill from it to the minimum it is about, numericMin finds the deepest point with no bracket at all, and the verdict is F against F at two numerically refined minima. On their five rows the two points coincide to better than 10⁻⁶; on the 2026-08-26 counterexample they are 0.0839 and 0.5660, and F is lower at the second by 1.07.

why

The first is the honesty floor read at the wrong layer. The instrument had learned that a necessary condition is not a sufficient one, wrote the two halves, and then joined them with an operator that cannot tell "no" from "not asked" — a three-valued question answered in a two-valued type. The second is the same instinct as the first correction, applied one level deeper: a tolerance in α is a claim about the potential's shape, made where a comparison of two computed depths was available for the same cost.

so

No printed number moves and the frozen record is untouched: every published row has a branch, and on all five the refined branch minimum is the global one. What moves is what the instrument exports about contents that break nothing — and the standard the globality half is held to. Both are pinned: _test_hierarchy.mjs fails on the old boolean and on a localMin that returns its input, and the shipped tests/run.mjs now checks that a reference row with no electroweak point makes the page claim neither vacuum. Fired both on purpose before believing them.

check
load 2 × 7(+,+) in the hierarchy section — 8D = −39 < 0 with 2W = +1 > 0, so there is no electroweak breaking at all; the exported card now reads state: no-electroweak-breaking and true: null where it used to read true: true. tests/run.mjs, which ships with the page, pins it against the Python engine, and the globality half no longer rests on any positional tolerance
2026-08-26notePart VII · affects the record: no

A true vacuum needs more than W > 0 — and three smaller things an outside audit found

what

An outside audit of the deployed source found four things, and every one of them is real. First and largest: the instrument wrote true: W > 0 and labelled it a theorem about "the true vacuum". [8]'s criterion — and Part VII's own sentence, "W > 0 sufficient for the electroweak point to be the deeper one" — says only that α = 0 is deeper than the *other symmetric point*, α = 1. It says nothing about a deeper minimum elsewhere in (0, 1). The auditor built a counterexample from this page's own tables: 7(+,+) + 48(+,−) + 84(+,+) has D = 5/8, W = 5/2, a small-α branch at 0.0848 with F = −0.626 — and F = −1.698 at α = 0.566. The page called it a true vacuum. Reproduced here to every digit. The verdict now has two halves with their own standing: the symmetric-point half stays the theorem it is (necessary, never a tie); the deepest-point half is measured, by minimising the same F directly on (0, 1] on every render — which is exactly what the sweep already did and counted as notGlobal, without the single-model verdict ever consulting it. vacuum.true is now the conjunction. Second: the sweep's "largest α their Table 1 reaches" was 0.0836 — our α on their rows — when their printed maximum is 0.081. The regime boundary stays on our axis, because that is the axis the closed form is evaluated on, but both numbers are now carried and the sentence says which is which. Third: the SU(4) calculator minimised over the whole torus and then reported searched: [0, ½] whenever the selection rule allowed the halving — a true answer with a false provenance. minimise() now receives the licensed domain, and what is reported is what ran. Fourth: validate() accepted a parity list of any length; termTable reads two. It now demands exactly two.

why

The first is the class of error this whole instrument exists to refuse — a necessary condition shipped as a sufficient one, under the wrong chip. The page knew the distinction (the sweep's notGlobal count is the same fact) and did not apply it to itself: two instruments that agree on a definition and disagree on where it is used. The other three are provenance drifting from computation — a label naming the wrong number, a report naming the wrong domain, a check that did not check.

so

The frozen record is untouched: the paper's sentence is the modest one, its true-vacuum level 9.22 TeV is a maximum over a class its witness was checked to belong to on the exact potential, and no printed number moves. What moves is the instrument's verdict on contents like the counterexample, the wording of the regime boundary, the provenance of the SU(4) minimum, and one validation. Each has a harness check that fails on the old behaviour. The audit that found them read the source, not the page — which is the second time today that reading the artifact found what the artifact's own tests had not.

check
load 7(+,+) + 48(+,−) + 84(+,+) in the hierarchy section — W = 5/2 > 0 and the verdict now reads "a false vacuum W alone cannot see", with the deeper minimum at α = 0.566 named; _test_hierarchy.mjs pins it, the printed 0.081, the searched domain and the parity check
2026-08-26notePart VII · affects the record: no

The instrument stood on the draft; it now stands on the published paper

what

The hierarchy and anomalies sections were closed on the 9 August draft of Part VII, whose ceiling was the relaxation's 10.03 TeV, called certified and drawn as one point. The paper as deposited on 24 August keeps that number as the bound the dual proves and adds three levels below it: 10.01 TeV attained at (A₄, 8D) = (212, 1) once the lattice is lifted — the relaxation's own vertex (215, 1) is empty — 9.22 TeV once the electroweak point must be the true vacuum, and 9.09 TeV at the Higgs mass the Higgs actually has. The content that attains 10.01 sits in a false vacuum: the potential is deeper at the other symmetric point by 316. The instrument had no way to see that, because it did not compute W.

It now does. Every content carries W = Σ_{c odd} m(−s), F(1) − F(0) = (31/16) ζ(5) W exactly, and a verdict — the numbers at a stationary point in a false vacuum are still shown, labelled. The ceiling a content is measured against is 9.22 TeV, and the four levels are a table with what each one bounds. Theorem 1 (8D odd) is now stated as the paper states it, conditional on the gauge seed: a switch lets the model stand on the candidate parity-resolved split of §13, under which 8D is even, A₄ half-integral, the relaxation ceiling drops to 7.38 TeV at 8D = 2, and Theorem 2 and the 2W theorem survive untouched. The five complete invariants (A₄, 8D, 2U, V, 2W) are computed in the kernel and checked, generator by generator, against lattice_lift.py.

why

A page that says "certified ceiling 10.03 TeV" over a content in a false vacuum is showing a number the paper it advertises has since qualified. Publishing a part did not update the instrument built on its draft — the same failure that left the series pages saying "not yet deposited" for five days after Part VI was deposited, and it was found by auditing the whole site against the papers rather than the part that had just moved.

so

The record is unaffected: nothing in the frozen Part VII depends on this page. Two things in the instrument were wrong and are corrected — the single ceiling, and Theorem 1 stated without its hypothesis — and one thing was missing, the stability functional, which is [8]'s criterion and not ours. And one bug of the shell surfaced while photographing the seed switch: a page opened with a permalink rendered nothing at all, so every deep link the tool had ever handed out was dead. Fixed in the same commit; the harness now opens one.

check
open the hierarchy section — the four levels of the ceiling, the other-symmetric-point panel, and the gauge-seed switch; _test_hierarchy.mjs checks each against the archived runs of the paper
2026-08-11extensionPart IV · affects the record: no

The compression to three integers holds at every root of unity, and there it is proved

what

The alphabet of this paper, (1,−1,t,t⁻¹), is the second member of a family: the full set of t-th roots of unity together with one free reciprocal pair. arXiv:2608.09619 evaluates s_λ(μ_t, z, z⁻¹) for every t ≥ 2 and every λ, with no hypothesis on the shape: the value is a signed product of exactly three factors over a fixed denominator, or zero, and the three arguments are read off the t-quotient of λ. At t = 2 the alphabet is (1,−1,z,z⁻¹), which is this one. (The letter t changes job between the two papers: here it is the free variable, there the order of the root of unity.)

why

This paper grades its closed form an Observation: checked against the bialternant in exact arithmetic on all 3060 partitions with four parts ≤ 14 and all 4845 with parts ≤ 16, with no mismatch, and not proved. The general statement carries a proof — a Laplace expansion along the t frozen rows of the bialternant with one cancellation lemma in the symmetric group, which also delivers the sign, the one already in Littlewood's evaluation at the roots of unity.

so

No number here moves and the record does not need a new version. What moves is a status word: at t = 2 the closed form stops being an Observation.

The rank-two case this paper stopped at, and said so, is now conjectured to be unrepairable rather than merely unrepaired: Conjecture 10.4 there says the value is a product of characters for every λ if and only if the free part is a single reciprocal pair. Four deformations of the alphabet are measured against it and each destroys the product. That is evidence, not a proof, and it is labelled a conjecture.

check
the paper, and the scripts with their archived output at schur-orbit-and-reciprocal-pair — theorem_full.py, 959 exact values, 476 zeros, 0 sign failures, 0 magnitude failures
2026-08-08extensionPart V · affects the record: no

The η closed form, checked on 119 contents instead of five

what

The closed form for the η-dependence of the Higgs mass matrix — ΔH₁₁ = −2(2π)²L₁·M₂/8, ΔH₂₂ = −2(2π)²L₂·M₂/8, ΔH₁₂ = 0 — was published against five worked cases. The instrument runs it against the direct winding sum on all 119 multiplets of the catalogue: worst disagreement 0.0162 %. On the 16 multiplets the catalogue declares blind, the closed form predicts exactly zero and the winding sum measures exactly zero.

why

Five cases cannot distinguish "the formula is right" from "the formula is right on the cases it was built on". 119 can, and the blind ones are the sharpest of the 119 because a prediction of exactly zero has nowhere to hide.

so

The record is unaffected — no number in Parts IV or V moves. What changes is the strength of the evidence behind one of them.

A trap paid for here, and it is the reason the blind cases are stated separately: 16 multiplets have no Part IV box, and the first sweep silently printed M₂ = 0 for them and concluded "invisible to η". That was the right answer for the wrong reason — those 16 happen to be exactly the 16 the catalogue declares blind. On another group the same code would have lied. A missing datum is now an explicit unknown, never a zero.

check
open the eta-meter; the sweep runs in your browser against the winding sum
2026-08-08extensionPart VI · affects the record: no

Part VI §7's modified potential, recomputed

what

Part VI says, in its own words, that the potential modified by the escape is not recomputed there. With the Part VII kernel present in the same instrument it is: the modified potential is evaluated, the vacuum is re-minimised on it, and the result is displayed labelled measured, carrying the Part VI §7 anchor band and marked explicitly as going beyond what the paper claimed.

why

Part VI reached a sign, deliberately, and stopped there. The kernel that turns the sign into a number was written for Part VII. Once both live in one instrument, refusing to run the second on the first's output would be a presentation choice, not an honesty one.

so

The record is unaffected: Part VI's statement that it does not recompute remains true of Part VI. The site is where the recomputation lives, and it is labelled as this page's work, not the paper's. Every absolute number in it inherits the open question about the published α column — see the tool's own "what this cannot tell you" panel.

check
open the anomalies section; the recomputed value is labelled "measured" and carries the anchor band
2026-08-08notePart VI · affects the record: no

The published α column is still not reproduced — and where the residual can no longer live

what

Our α disagrees with the α published in Table 1 of arXiv:2503.04090 on every one of the five rows, and not by a constant: the ratio runs 1.03× to 2.08× with no pattern in 8D, in A₄ or in the content. A constant would be a convention and could be absorbed; this cannot. Row (2) is the only row that agrees, and the only one whose Higgs mass lands inside the 125–127 GeV window — and it is the row this tool opens on, which it inherited rather than chose.

why

Everything upstream of the α column reproduces. Their §3 was rebuilt from their own eqs. (11)–(13) and (54) — structure constants, KK spectrum, all four branchings — and agrees; their eq. (67) is proved rather than sampled; their eq. (68) is rederived; their Table 1 is internally consistent with their own eq. (82). No rescaling reconciles the two columns: neither a per-representation nor a per-channel factor, and a single common coefficient on the antiperiodic sector fails by 18 % at best while also breaking the Higgs-mass column.

so

No absolute number on this site (TeV, GeV) is citable until this closes. The three things that escape it entirely — the mass ratio, the bill in eighths, and the two arithmetic laws — are marked as such, because no normalisation enters any of them.

Two things have moved since. A discriminating sixth row is registered in advance in Part VI, so whoever computes such a row next can read our answer off in print rather than by asking us. And Part VII adds a second, independent published anchor — von Gersdorff, Irges and Quirós, arXiv:hep-th/0204223, whose five-dimensional single-parity model on S¹/Z₂ is exactly the Δ = 0 corner of our formula — and it reproduces our criterion, its three critical flavour numbers and one of its two published minima exactly. That does not close the gap. It relocates it: the residual is no longer free to sit in the potential itself.

check
the tool's header states the band on every page; the five rows are in the hierarchy section
2026-08-08extensionPart III · affects the record: no

And the rule bites — 40 of 60 forbidden representations really lose the minimum

what

Where the rule forbids halving the domain, halving anyway moves the minimum of the Wilson-line potential in 40 of the 60 representations tested — the worst by 45.1 % of the potential's own depth |V|. The other 20 are cases where the two domains happen to share their minimum.

why

A selection rule that never changed an answer would be a bookkeeping convention rather than a constraint. Nothing in Part III measured how often it matters, because the paper's question was which domain is legal, not what it costs to use the wrong one. The instrument can ask the second question cheaply, so it does.

so

The record is unaffected. This is the missing sentence about why the rule is worth stating, and it is now a panel rather than a claim: the numbers are recomputed in the page, over the same potential the calculator uses, so a reader can watch the minimum move.

One trap paid for here, recorded so nobody repeats it: the first version scanned the half-domain on its own grid, which gave it twice the resolution of the full-domain scan and manufactured a "loss" of −5.3 × 10⁻⁴ that was mesh, not physics. Two regions must be compared from one set of evaluations.

check
open the selection section and read the "does it bite" panel; it recomputes on load
2026-08-08extensionPart III · affects the record: no

The selection rule reduces to one bit

what

Part III's admissibility test — a + 2b + 3c odd, or the representation degenerate — is a single parity: the half-domain is legal if and only if a + c is even. Since a + 2b + 3c ≡ a + c (mod 2), and both branches of the degenerate case independently force a + c even, the second disjunct can never be the one that decides. Checked on all 3375 triples with a, b, c ≤ 14, of which 399 are degenerate: zero exceptions.

why

The rule was stated as a disjunction because that is how it was derived — one clause from the centre charge, one from the degenerate orbits. Written that way it hides that the two clauses never disagree. The instrument evaluates both and compares them, which is why the coincidence showed up at all.

so

The record is unaffected: the printed rule is correct, and this is a reduction of it, not a correction. Nothing in Part III depends on the disjunction being irredundant. The one-bit form is what the tool displays, with the disjunctive form beside it.

check
open the selection section; it re-runs the enumeration in your browser