repair-evidence.md

back to table · edit · history · where entries came from · files · download

5537 bytes, as of the version from 2026-10-26 23:51. Recorded here, not run.

# T532 repair evidence, 20261026T234446Z

The single P3 finding in agents/critiques/T532.md still applied to the live
private draft. Only the first mention of “zeros of Ai′” in Definition was
wrapped in HREF{Local_extrema_of_the_Airy_function_Ai}. The full surrounding
sentence was printed and read before saving. All other document sections,
all 19 entries and their identities, parameter order, and all existing
attachments were retained. The document edit was sent through the authenticated
API as zeta3; its revision is
7ffeadbc9f4c2ac4f56730ba057774bc959b0156a98c012b7c2eea9f681811ce,
with reviewed=false. No offer, publication or review action was performed.

## Governing instructions

Read the canonical .claude/skills/numberdb-table/SKILL.md, both complete archived
versions in agents/runs/20261026T234446Z-repair-skills, and a fresh live
https://numberdb.org/skill response. All four byte streams are identical, SHA-256
b4d51ded0d52cfe3dcc0859de0845c3879b0c2363273ba7e809a7e06ded40b18.
The governing manifest is
agents/runs/20261026T234446Z-repair-skills/manifest.json, SHA-256
d03b756eaa1cd22ce39c8cee78fb3a44b052146786d6371925ac7bc9dec564f3.
The individual reads are recorded in skill-read-manifest.json in the repair work
directory and attached as repair-skill-read-manifest.json. Also read the build
prompt, campaign-gate.md, and argument_review.py. This evidence does not replace
or update the independent critic's verdict.

## Link claim and checks

The live target API document and rendered public page resolve the exact slug
Local_extrema_of_the_Airy_function_Ai. Its definition describes the negative
local extrema of Ai, indexed from n=1, with locations approximately -1.01879,
-3.24820 and -4.82010. Ai′ zeros are stationary points of Ai. By the Airy
ODE Ai″(x)=x Ai(x), a negative zero of Ai′ has nonzero curvature: simultaneous
vanishing of Ai and Ai′ would force the nonzero Airy solution to vanish
identically by uniqueness for the ODE. Thus these are extrema, as required
for this link. The root ordering agrees with DLMF 9.9(i).
Sources: https://dlmf.nist.gov/9.2#E1 and https://dlmf.nist.gov/9.9#i.

repair-checks.py provides a fresh Sage check. At 640 bits, it evaluated Ai′ at
both exact rational endpoints of the target's first three decimal intervals
(center ± one last-place unit). Opposite certified signs were obtained in all
three cases: (+,-), (-,+), (+,-). Argument rounding is enclosed by Arb; no
rounded midpoint is used as an exact root. This checks three target rows, not
the entire target table.

As a numerical preservation check, the same script independently recomputed
all 19 current T532 values. It builds Ai(z)/Ai′(0) from the linear Airy equation
and direct Arb evaluations at zero, divides formal power series to obtain
Ai/Ai′, and extracts Z_N(n)=(-1)^(n-1)[z^(n-2)]Ai/Ai′. This shares neither the
attached generator's nonlinear moment recurrence nor its Gamma initialization.
The finite formal coefficients have no series-truncation error. A nonzero
known control, (1+2z)/(1-z), returned coefficients 1,3,3,...,3 through order 20.
All 18 nonexact balls were finite, positive, had relative radii less than
2^-580, and lay strictly inside their stored decimal intervals. The n=3
coefficient and stored integer are exactly 1. All results agree with the
unchanged generator, whose default enumeration remains every n=2,...,20.
No values or precision claims were changed.

The successful live-read run is repair-checks-live.log; its complete JSON output
is repair-results.json (attached). Sage 10.9, numberdb 0.1.10. Earlier scratch
logs retain corrected checker API mistakes (ComplexBallField.real_field and
RealBall.rel_accuracy_bits are unavailable); these were not mathematical
failures. The final attached script passed using fresh API reads.

Reproduce with the attached generate.py and repair-checks.py in one directory:

    sage -pip install numberdb
    cat "$NUMBERDB_KEY_FILE" | NUMBERDB_KEY_FROM_STDIN=1 sage -python repair-checks.py

In this source snapshot, use agents/sage.sh instead of invoking Sage directly:

    cat "$NUMBERDB_KEY_FILE" | NUMBERDB_KEY_FROM_STDIN=1 agents/sage.sh \
      "$TMPDIR/repair-checks.py" "$TMPDIR/generate.py"

## Rendering and review boundary

GET https://numberdb.org/T532 returned 404 for this private draft; the full
private page was inaccessible without a browser login. A live read-only
/preview request containing the changed Definition, its declarations, and the
existing n=3 row rendered successfully. Chromium 156.0.8078.4 reported no page
or MathJax errors. The actual anchor resolves to
https://numberdb.org/Local_extrema_of_the_Airy_function_Ai with the expected
“zeros of Ai′” caption. The screenshot was inspected. This is a section
preview, not a claim to have inspected the complete private page.

The prior selection fingerprint was
d693cc9b4e324ba5d8f67cda898389b0ab80d8d25ddd68c51d9b029e72096623;
the repaired fingerprint is
f7b7a7093d7720692a3171574e0123c0102c8d1a901874ad344a2319b2d060d0.
The mathematical selection is unchanged, but Definition bytes are included in
the campaign fingerprint, so a fresh independent critique is required. The
controller must recover this same T532 draft. agents/critiques/T532-arguments.json
was not written, edited or accepted by this repair; its SHA-256 remains
9c20c15e7865d1e04a81e488d8fd7c856a0fd211bf4b50459d52a820437ba17b.
The original generate.py remains attached, unchanged, SHA-256
16eb9df4d4ced6515b06ea154580ac8b8c158c96dd80ddca0dd84a2f7d4aabbd.