back to table · edit · history · where entries came from · files · download
6217 bytes, as of the version from 2026-10-16 10:44 (current). Recorded here, not run.
# Build handoff: T462
Table: **$\lambda_g$ Hodge integrals on $\overline{\mathcal M}_{g,n}$**
Draft address: https://numberdb.org/T462
Canonical slug returned by creation: `lambda_g_Hodge_integrals_on_overline_mathcal_M_g_n`.
Family: numberdb-data issue #198. The proposal checklist has been recorded as built with T462.
Status: filled, unpublished, and not offered for review. No publication, review or offer endpoint was called. The controller must run the separate critique and repair stages. This report describes build verification, not a human review.
## Contents and decisions
* 232 exact rational integrals, every non-decreasing nonnegative profile of total degree `2*g-3+n` for `1 <= g <= 5` and `1 <= n <= 5`.
* Marked points are labelled; sorting only chooses an address, and there is no division by n! or a profile multiplicity. Parameters remain `g, n, d`, with d a comma-separated string including zeros, consistent with T259 and T458.
* Integration is over the Deligne-Mumford stack, including automorphism weights; the genus-one initial value is 1/24.
* The dimension constraint is the Hodge-specific one, with the codimension g of lambda_g included. The generic psi-only formula in the family cannot be copied unchanged.
* Type Q and rigour exact follow the current skill. The family's older 'proven' wording for exact rationals was not copied. There is no approximation and hence no rounding error or 100-digit precision limit.
* The selected rectangle is a small-genus reference with up to five markings. Measurements of larger rectangles are in measurements.txt; length was not limiting. The longest stored rational is 13 characters, and the dry-run block estimate is 13.1 KB.
* The mathematical parameter domain includes g=0, with lambda_0=1, but those entries are not repeated here: the genus-zero formula is stated, and the pure psi table already holds the low-genus-zero cases. No `repeats` declaration is made, because the stored positive-genus integrals are different geometric quantities even where their values coincide with other tables.
## Numerical checks actually run
The generator obtains b_g by exact inversion of sin(t/2)/(t/2), then uses integer binomial products for the multinomial coefficient. The independent checker obtains Bernoulli numbers from their rational recurrence with Python fractions and uses factorial quotients.
`dry_run.py` passes: 232 entries, exactness, written-value checks, prose checks, named ring imports. The displayed Sage program was executed and then compared with every generated entry.
Both before filling and on values read from the website:
* all 232 values agree with the independently implemented Bernoulli formula;
* all 232 profile keys agree with an independently enumerated complete rectangle;
* three published Macaulay2 HodgeIntegrals outputs agree exactly (Macaulay2 itself was not run here);
* five even Bernoulli values agree with the existing Bernoulli-number table;
* five one-point values agree with 512-bit Arb computations from even zeta values; all radii are finite and below 10^-140, and wrong-normalization controls fail as intended;
* five sine-series coefficient identities hold exactly;
* all 12 genus-one entries agree with reduction to genus-zero string recursion, with four additional matches to the T458 snapshot;
* all 155 string and 122 dilaton identities whose terms lie within the stored range hold exactly;
* positive known-answer, nonzero, wrong-degree, wrong-normalization, and float-rejection controls pass.
`Generator.verify(sample=None)` reports **232/232 matched, 0 differing, 0 missing, 0 extra**. `stored-checks.txt` records this and the full independent read-back summary. Subsequent prose edits were checked to leave Numbers identical.
The site's final audit is **clean: true, findings: []**. The first audit identified a long definition. Its class explanations were moved into Comments and its integral formula into Formulas; no numbers were corrected. The API audit does not check outgoing HTTP link availability. The paper and Macaulay2 links were read directly during the build.
## Issues for the controller and critique
* The `moduli spaces` tag does not exist in the live tag list. T458 (psi intersections), T459 (Weil-Petersson volumes), T460 (volume polynomials), T461 (orbifold Euler characteristics) and T462 would all use it. Existing tags algebra and combinatorics are used here. No tag was created.
* T458 is still a draft. T462 links it using its stable T-number; the audit resolves it. Publication order needs to account for that dependency. Its API snapshot is attached to make the extra numerical checks reproducible. T459–T461 were read for family context but are not links in T462.
* Under these named Sage imports, equality of Sage QQ and Python Fraction returned false even for 1/24. The discrepancy was traced to type interoperability by comparing numerator and denominator, not accepted as a numerical disagreement. The checker now explicitly normalizes types. The reproducer and proposed lesson are in fraction_control.py, fraction-control.txt and lessons.md.
* The publisher and the arXiv PDF header differ on bibliographic year/volume. The reference uses the publisher's Annals 157 (2003), pages 97–124 and the DOI field, with the arXiv identifier in its own field.
## Reproduction and artifacts
Attached to the draft: generate.py, checks.py, check.py, evidence.json, bernoulli.json, T458.json, dry-run.txt, program-check.txt, source-notes.md, stored-checks.txt, audit-final.json, and this handoff.
With Sage and the NumberDB client installed, `sage -python checks.py` reruns local checks. `sage -python generate.py` verifies the website table; access to this unpublished draft requires its owner's API key in NUMBERDB_API_KEY. `sage -python checks.py --stored` applies the independent checker to the website values. The generator's --fill option writes numbers to the existing table and does not publish it.
In this campaign all Sage execution used agents/sage.sh. The source snapshot, skills, prompts and pipeline were not edited. No commit, push, deployment or numberdb-data import was performed. All working artifacts remain in this run's work directory.