# Numerical evidence for T582

Run: 20261028T125154Z. Stage: build.
This evidence is not an independent campaign critique or review sidecar.

## Coordinated skill

The archived manifest is `/home/ubuntu/numberdb-campaign-20261026-hundred/repo-balanced-coverage/agents/runs/20261028T125154Z-build-skills/manifest.json`.
Its SHA-256 is `468f5191d13df1eaecac71d659cc26682a40378c5982ce84143ed004d1933cc7`.
Both archived versions were read and their bytes compared. The local and live
SHA-256 are both `e37efb7e2ededf6c1d7134c673f152f648f26e0267c556aebdf3ec65765d8b4c`.
The source snapshot canonical skill has the same digest. See skill-evidence.json.

## Source evidence

FMSV, DOI 10.1016/j.aim.2024.109733, Definition 3.2 fixes the ring.
Propositions 3.5--3.7 fix weighted-chain sums and the ordinary-Chow relation.
Theorem 3.14 gives the independent Mobius recursion, and Theorem 3.21 gives
the uniform Eulerian formula. Published Table 1(b,d), page 31, supplies ten
full polynomials in the selected range. These were read in the published PDF
through the web reader. A matching preprint is archived as fmsv-arxiv.pdf
from https://arxiv.org/pdf/2212.03190, SHA-256
`33edfb888c22c93257bae69d0b9fa0c0d647b467bdd268ae6299e3bffd115f0b`.
Its text was extracted with pypdf 6.19.0; theorem and table numbering matches.
The university PDF URL returned 403 to direct download, and the author-hosted
URL was unreachable; the web reader and arXiv supplied the needed content.
Sage's live catalogue documentation was read through the web reader at each
named constructor. Ordinary HTTP download returned 403; no cached transcripts
were used. Source links are in argument-selection.md and the table document.

## Arithmetic and checks

SageMath 10.9; numberdb 0.1.10.
The generator imports numberdb.sage before named Sage rings and matroid modules.
All coefficients are exact integers in ZZ[t]. The 100-digit campaign goal is
inapplicable to exact polynomials; no approximate integer coefficients are used.

Known-answer controls run first: A_0=1, A_3=1+4t+t^2, the S_3 cycle counts
(0,2,3,1), the rank-zero braid base 1, H_(K3)=1+4t+t^2,
H_(U_1,3)=1+t, H_(U_2,3)=1+4t+t^2, the Fano polynomial
1+15t+15t^2+t^3 with 16 flats, and Bell(3)=5.

All 37 complete polynomials agree with separate computations:

* Uniform: all 24 use the Eulerian formula, with descent counts from explicit
  permutations of sizes 0 through 7. No chain recurrence is reused.
* Braid: all five use the Mobius recursion. Signed Stirling coefficients are
  counted from permutation cycles of sizes up to 8; the generator instead
  uses Stirling numbers of the second kind and positive chain weights.
* Named: all eight use subset-rank closure tests to enumerate the flat lattice,
  then compute Mobius coefficients and the augmented recursion. The generator
  uses Sage's flats enumeration and a different positive recurrence.

The same catalogue constructors specify the named input objects in both paths;
this is an acknowledged shared input dependency, not a claim of independent
matroid databases. Arithmetic recurrences and flat enumeration are independent.
Ten uniform polynomials also match the complete published coefficient lists.

Every selected value passes degree, unit endpoint, nonnegativity, symmetry,
unimodality and linear-coefficient checks ([t]H = number of proper flats).
Both ordinary-Chow contraction sums in Proposition 3.7 / Remark 3.8 are tested
for all 37 values. These identity checks reuse ordinary factors from the
generator and are additional to the independent comparisons, not substitutes.

The standard agents/table-build/dry_run.py and check.py were used. Dry-run
outcome: 37 exact entries; no disguised exact decimals or prose findings;
longest 95 characters at U(8,12); entry block about 3.4 KB. The standalone
check.py measurement with shorter parameter labels gives 3.13 KB. All checks
passed in 0.785 seconds after imports on this builder.

## Reproduction

Run `sage -python checks.py` beside generate.py and check.py. In this campaign,
use `agents/sage.sh checks.py generate.py check.py` with the artifact paths.
The standard dry run is invoked by run_dry.py with dry_run.py, generate.py and
check.py mounted beside it. See dry-run.log and checks-local.log in the run.

After filling, run generator.verify(sample=None), then set
NUMBERDB_CHECK_STORED=1 when invoking checks.py with private read credentials.
The checks read values through numberdb.table because check.stored requires
a Django database, unavailable on this builder. Final read-back, audit and
attachment fingerprints are retained in the build handoff artifacts.
