# T570 build handoff

Built one populated private draft: **T570**, Hankel derivative asymptotic
coefficient polynomials b_k(nu), https://numberdb.org/T570.
No offer, publication or human review action was performed. The controller
must arrange the separate critique and any repair before offering the draft.
The proposal remains under the controller's family #226 workflow; no completion
receipt or independent argument acceptance was written by the builder.

## Governing policy

The exact archived manifest is
`/home/ubuntu/numberdb-campaign-20261026-hundred/repo-balanced-coverage/agents/runs/20261028T033309Z-build-skills/manifest.json`.
The archived local and live skills were both read and their bytes compared;
both and the canonical source snapshot hash to
`e37efb7e2ededf6c1d7134c673f152f648f26e0267c556aebdf3ec65765d8b4c`.
`skill-evidence.json` records the verification. No policy mismatch occurred.

## Scope and conventions

There are 21 exact Q[v] polynomials, in increasing order k=0..20. The
mathematical parameter domain is all nonnegative integers. The letter v
serializes nu, following companion T569 and the client's polynomial grammar.
DLMF 10.17.8 fixes the product, and 10.40.4 fixes the overall minus sign outside
the derivative expansion. The display header is b_k(nu). No normalization,
parameter or mathematical convention needed guessing.

The finite cutoff was reassessed and retained after measurement: longest
polynomial 1,209 characters at k=20, generic measured block 9.673828125 KiB.
`argument-selection.md` justifies k as a discrete correction-order index,
retains all symbolic nu values, and explains readability and family breadth.
There are no sampled continuous parameters or excluded statistical quantities.
The completeness note and Programs agree with the generator's default prefix.
Exact rational coefficients need no 100-digit approximation claim.

## Corpus and sources

Read family #226 first. Ran `already_here` and `already_asked`; title/family
searches found no same-family derivative-coefficient table. Three expected
nonconstant polynomial lookups found no matches. The third pre-screen spelling
was corrected to the actual b_3 and queried again; see
`lookup-b3-corrected.json`. Unrelated matching values would not have counted as
a duplicate family. The title claim succeeded as T570 before computation.

The existing tags polynomial, special functions and recurrence were confirmed.
The proposed tag **asymptotic expansion** remains absent; T567, T568, T569 and
T570 would all support it. This build proposes it in this handoff and did not
invent a tag used only by its own table.

Read T116, T199, T567, T568 and T569 directly from the database. Published
slugs were read from search results. Companion drafts do not expose public
redirects, so links use their verified stable identifiers HREF{T569} and
HREF{T568}, supported by the current renderer and audit, without guessing
slugs. The site audit resolves every link. These companion drafts still need
coordinated human publication before a public T570 may link to them.

DLMF HTML formulas were checked through the browser tool. Direct TeX downloads
were refused with HTTP 403, but the HTML contained the needed formulas.
The recurrence's modified-cylinder phase convention was checked in 10.25(ii),
and the spherical normalization in 10.47.9. Source locations and claims are
recorded in `sources.json`. No inaccessible source was silently treated as read.

## Verification completed

- `agents/table-build/dry_run.py` and `check.py`: exactness and size pass.
- An independent recurrence for the elementary half-integer K functions,
  followed by differentiation and exact interpolation in nu^2, reconstructs
  every coefficient of all 21 polynomials. All 441 specializations agree.
- The 21 underlying Bessel polynomials match stored T116. Both identities with
  stored T569 agree, for k=1..20 and k=0..20 respectively.
- Degree, parity, leading coefficient, stated half-integer roots, and the
  elementary nu=1/2 specialization pass across the complete selected range.
- Positive controls include nonzero low-order Bessel and derivative
  polynomials and interpolation of 1,t,t^2. A deliberate coefficient change
  of 10^(-20) is rejected.
- After filling, `verify(sample=None)` reports 21/21 matched, no differing,
  missing or extra rows. The final document was fetched again, and every
  independent check was rerun on those stored values. Its Programs snippet
  reproduces all 21 rows exactly.
- The authenticated site audit returns `findings: []`, `clean: true`.
  The API does not run the optional outward-link crawl.

Environment: Python 3.12.3, numberdb 0.1.10, Sage 10.9. All Sage work ran through
`agents/sage.sh`. No computation remains running. Values were filled once;
final prose was written separately after the initial empty title claim and
checked computation. No numerical repairs were required.

## Reproduction and independent critique

The website has `generate.py`, `checks.py`, the campaign's unchanged `check.py`,
`argument-selection.md`, `numerical-evidence.md`, `skill-evidence.json` and
`sources.json`. Additional attachments preserve the post-fill evidence and
source-table snapshots. The build work directory retains all scripts, logs,
computed values, database readbacks and this handoff. No source files, skills,
pipeline prompts or Git state were intentionally edited.

Run `sage -python checks.py` beside `generate.py` and `check.py` for the
independent offline reconstruction. With the attached T116.json, T569.json and
T570.json snapshots present, the same command also checks cross-table and
stored values plus the Programs snippet. Draft verification requires the
owner's authorized API key supplied through the normal NumberDB client.

`selection-fingerprint.json` records the live fingerprint:
`f4c5759af2c828a2dc1f9e93e3a02b9641bf6186a1a38d3a79771c00427c36ee`.
The bound attachments are generate.py, checks.py, check.py and
argument-selection.md. Generation and enumeration are self-contained in
generate.py; the other files are verifier dependencies and selection rationale.
The independent critic must fetch the current draft, independently evaluate
both mathematics and argument selection, and create its own fingerprinted
`-arguments.json` using its own run ID. This build creates no such sidecar.

A contributor-facing lesson about single-letter polynomial variable names is
saved as `20261028T033309Z-build-lesson.md`, with a parser control. It is an
artifact proposal only; the skill was not changed.
