# T642 build handoff

Built **[Selberg approximation errors in the Nyman–Beurling criterion](https://numberdb.org/T642)**,
with 29 entries, every integer N=2,...,30 in increasing order, at 100 significant
digits. It remains a private, populated draft. This build did not offer it,
publish it, review it, update the family checklist as completed, or close #273.
The controller must run the separate critique and repair stages before offering.

## Policy and selection

The family was read first with `python3 agents/queue.py show 281`; its content
is archived in family-281.txt. The controlling skill manifest is
`agents/runs/20261031T225043Z-build-skills/manifest.json` in this source snapshot,
also attached as skill-manifest.json. Both archived skill-local.md and
skill-live.md were read and have SHA-256
`a2b28d9953264d7b0ca62663785c2952190c5be6d6d3597fd695d9a54d606278`.
The source snapshot canonical skill has the same digest. No skill mismatch
was encountered and no alternate or remembered policy was substituted.

The only free parameter N is a genuine discrete truncation index, N>=2.
The entire defined prefix through 30 is retained, including nonsquarefree
endpoints because they still change the logarithmic taper. Thirty is a
practical, noncanonical bound tied to the companion Gram and minimization
problem, not a target count. The exact positive-half-line norm, unanchored
basis, ordinary fractional part, natural logarithms and plus residual sign
follow the family and the checked primary sources. No convention was guessed.
N=1 is undefined. No exploratory or probability grid is present.
`argument-selection.md` gives the breadth and bounds assessment.

No independent argument-review sidecar was created by this build. The critic
must independently assess the selection and numerics and generate its own
fingerprint and sidecar with its own NUMBERDB_RUN_ID. All generator source
dependencies are in generate.py; checks.py independently verifies it, and
program.py is the displayed self-contained example. fingerprint.json records
the current hashes of all three. No external data file controls enumeration.

## Screening and mathematical evidence

Live already_here/already_asked checks found the three intended companions
T639, T640 and T641, with no duplicate Selberg-error family. Numerical lookups
at N=2,3,10 returned no matches. Existing tags `number theory` and `functional
analysis` were verified and used. Companion slugs and the Euler-constant entry
were resolved from live data; specific explanatory links appear in the draft.

The generator evaluates the finite rational-dilation Vasyunin formula in Arb
at 461 bits and forms 1+2*w^T*b+w^T*G*w. Every value retains at least 449
relative bits. The dry run passes exactness/enclosure and prose checks;
its longest internal ball string was 155 characters and its block was 5.5 KB.

The independent checker uses 640-bit piecewise analytic integration against
the trigamma kernel: 16 terms integrated directly, 112 tail-expansion terms,
and an explicit alternating-series remainder bound. It checks all 900 ordered
Gram entries (465 symmetric), all 29 errors and weights, and independent
Gaussian solutions for every matching least-squares problem. Known-answer
controls include G_11 and E_2=3+log(2*pi)-3*gamma. Wrong-sign and perturbed-value
controls fail as required. The largest independent error radius is
2.8791772e-137. Each E_N exceeds its independent d_N^2, and the projection-gap
quadratic identity is verified. The displayed Sage program agrees for all 29 N.

After the one fill, `SelbergErrors().verify(sample=None)` reports **29/29
matched, 0 differing, 0 missing, 0 extra**. Both numerical enclosures lie
strictly inside every live stored decimal's last-place interval. All independent
minima lie inside the corresponding live T641 intervals. All 29 stored
E_N intervals lie above the matching T641 intervals, and ten-last-place
perturbations are rejected. See stored-evidence.json for the complete values,
balls, source hashes and versions: Sage 10.9, numberdb 0.1.10, Python 3.12.3.

The authenticated site audit returned `clean: true`, `findings: []`.
The anonymous table API does not expose the draft; authenticated reads do.
No outward-link audit with a database was available; source URLs were fetched,
and every internal companion link was resolved individually. Downloaded source
hashes are in sources.json. No conditional RH assertion supports these digits.

## Reproduction and remaining work

The draft carries generate.py, checks.py, program.py, check_program.py,
argument-selection.md, derivation.md, skill-manifest.json, numerical-evidence.json,
stored-evidence.json, sources.json, dry-run.log and program-check.log.
`generate.py` verifies by default; `checks.py --stored` repeats the independent
checks with a key authorized to read the private draft. The generator's first
line names T642. Sources and numerical work remain in this run's work directory.

Proposed family tag: **Nyman-Beurling criterion**. It was absent from the live
tag list and would connect T639 Bettin–Conrey cotangent sums, T640
Multiplicative fractional-part autocorrelation, T641 Squared Nyman–Beurling
approximation distances, and T642. It was not created by this build.

Two checking-harness issues were resolved before filling: exact endpoint
weights must be encoded algebraically rather than tested by equality of
logarithm quotients; radius comparisons must use a compatible exact tolerance.
The failure logs are preserved. The empty-draft prose edit was refused without
a revision, so the final document and package-serialized entries were sent
together. environment-notes.md records this API observation; the short skill
lesson proposal is an artifact only. No source, pipeline, skill or published
table was edited, and no commit or deployment was attempted.

The only completion handoff authorized for this actor is
`agents/runs/20261031T225043Z-build.table.json`, containing `{"tid":"T642"}`.
This identifies the draft filled in this run; it is not a completion receipt
or an independent critique approval.
