# Numerical evidence for T597

The table contains all 77 pairs 2 <= d <= 12 and 0 <= k < d. It has 22
exact rational entries (vertices and facets) and 55 certified approximations,
each targeted at 100 significant digits.

The canonical-skill manifest is
`agents/runs/20261029T020934Z-build-skills/manifest.json`. Both archived
`skill-local.md` and `skill-live.md` were read and verified against SHA-256
`28ecbeeccb0c5e5d6eb541b5a5b0f88aec47b154374d909085116d34f5629199`.
The matching version is the policy for this build; no older policy was used.

## Certification

The generator computes the published real Gaussian integral in 413-bit Arb
complex ball arithmetic, using an entire integrand. For 100 digits the finite
limits are -25 and 25. Since the normal CDF power is between zero and one on
the real axis, both omitted tails together are at most
2 exp(-25^2/2)/(25 sqrt(2 pi)), by integrating x/25 in place of 1 on the
positive normal tail and reflecting the negative tail. This bound is evaluated
in ball arithmetic, and its outward upper endpoint is added to the radius.
The quadrature goal is 10^-115; the returned enclosures, including the tails,
supply the error claim. All balls are finite, positive, less than one, and
have relative radius below 10^-110.

The full run retained at least 376 relative-accuracy bits. Its maximum
relative radius was 2.93317626122e-114. Thus the 100 significant decimal
digits have more than 13 additional digits of enclosure margin. Exact
vertex values follow from the partition by the vertex normal cones; exact
facet values follow from the half-line in its one-dimensional span.

## Independent build checks

`checks.py` uses a separate mpmath tanh-sinh quadrature after substituting
x=sqrt(2(k+1))t and pairing t with -t. Every entry is computed at 125 and
155 decimal digits. The independent computations agree within 10^-119;
comparison to the Arb midpoint passes 10^-110, with maximum observed
absolute difference 7.13259794763e-124. This is agreement evidence, not a
second rigorous enclosure. It shares the published integral but shares no
quadrature implementation with the generator.

Before the main loop, both paths reproduce 1/2, 1/3 and 1/8 without using
the generator's exact-value shortcuts. These nonzero controls catch
normalization errors and vacuous zero-returning checks.

Additional checks outside that implementation:

- All 77 exact normal Gram-matrix products yield the identity: the Gram
  matrix I_m-J_m/(d+1) has inverse I_m+J_m/(k+1). This verifies the
  derived covariance, including the distinction between r and correlation.
- All 11 codimension-two angles agree with the planar wedge formula
  arccos(-1/d)/(2 pi).
- All 10 codimension-three angles agree with the spherical excess formula
  (3 arccos(-1/(d-1))-pi)/(4 pi).
- All 11 vertex and 11 facet identities hold.
- All 30 applicable odd-m moment reflection identities hold at fixed k,
  using Phi(-x)=1-Phi(x).

The complete local check took 229.39 seconds. Raw numerical results and
per-entry 155-digit independent values are in checks-local.json and
checks-local-v3.log. Initial API/coercion failures and their causes are
preserved in earlier logs and lessons.md; no entries had been sent then.

Versions: Python 3.12.3, SageMath 10.9, numberdb 0.1.10, mpmath 1.4.1.
The sources, exact hashes and local archived filenames are recorded in
source-archive.json.

## Handoff status

The separate controller critique must independently evaluate the selection
and numerical claims. This build does not create an argument-review verdict,
offer the draft, publish it, or perform human review.

## Final dry run and Programs

The standard dry_run.py passed for all 77 entries, with no exactness or
prose findings. The certified-ball display had maximum length 141 characters.
After the numberdb serializer rounds to 100 significant digits, the longest
entry is 103 characters and the check.py measured block is 8.803 KiB.
The actual displayed mpmath snippet was executed for all 77 pairs and passed
an absolute tolerance of 10^-110 for approximate values and exact equality
for the rational cases. final-local.log preserves the complete output.

## Database read-back

After the single fill, generator.verify(sample=None) reported 77/77 matched,
zero differing, zero missing and zero extra entries. Each of the 55 stored
decimal intervals contains its independent 155-digit reference value; the
22 exact rational entries agree to tolerance 10^-145 with that independent
computation. All wedge, spherical-triangle, vertex, facet and reflection
checks were repeated on balls enclosing the stored intervals. Every one
passed. The precise results are in checks-stored.json, with executable
check_stored.py and logs retained in the work directory. The attached
checks.py --stored can recompute the independent references and repeat the
complete process from scratch.

The API returns Numbers grouped by d and k. The first read-back checker
assumed a flat list and stopped after generator.verify() had passed. The
checker now uses numberdb's own entry normalizer; no stored value required
repair. All numerical code and the enumeration were unchanged.

The authenticated site audit returned findings=[] and clean=true. The draft
is unpublished and was not offered. The controller must arrange the separate
critique, including its own fresh argument-selection fingerprint and sidecar.
