# live-conformance/upscale — exact upscale The corpus of [`extensions/exact-upscale.md`](../../extensions/exact-upscale.md) §9: `vectors.json`, the priors it names in `priors/`, and `sha256.json`. A vector holds its `policy` (`dual_layer`, `assistive` and `second_layer`, synthesis §11.1's, and `upscale`); its records as JSON texts, list by list: `claims` (origin claims of synthesis §3.1), `upscales` (upscale records, §4.2) and `presentations` (presentation statements, §6.2); the `objects` it holds, each a `WAI1` envelope in hexadecimal; the `decoded` samples it holds, each the content hash of the `object` decoded and its `RGB8` `samples` in hexadecimal; the `priors` it holds, each the name of a file of `priors/`; and the `residuals` and `targets` it holds, each in hexadecimal. `vectors.json` also lists every file of `priors/` with its SHA-256. **Exact-upscale equivalence.** For each vector, a conforming verifier reaches the outcome it states: - `refuse`: the `reason` and where, `at`: `["upscale", i]`, `["presentation", i]`, `["presentation", i, "frame", j]`, or `["synthesis", …]` with synthesis's own place; - `accept`: the `statements` of §7.3: `claims`, each its `link`, `class` and `assistive` (`proved`, `not-recomputed`, `asserted`, or `null`); `upscales`, each its `link`, `status` (`proved` or `not-recomputed`) and `max_difference` (or `null`); `presentations`, each its `link` and `totals`. `sha256.json` gives, for each upscale record of an accepted vector, the SHA-256 of the picture a sink presents (its `output`): the `RGB8` buffer of SPEC §7 *Digests*, rows top to bottom. A verifier that reaches another outcome, reason, place or statement does not conform. **Provenance.** `wai_upscale_vectors gen` writes `vectors.json`, `sha256.json`, `priors/seeded.wsr` and `priors/unreadable.wsr` from records authored in code: every key is SHA-256 of the corpus's label and an index; every picture is an integer function of a label (a gradient, a rectangle and diagonal lines, `corpus::picture`), and a full-resolution target's low-resolution picture is its 2 × 2 means; every envelope payload, and the samples of the generated and float-upscaled frames, are SHA-256 output of a label; the seeded prior is drawn from SHA-256 of a label (`int_sr::seeded_prior`) and trained on nothing; every time is a constant, and Ed25519 signing is deterministic. `priors/generic.wsr` and `priors/title.wsr` are read, not written, each pinned by its SHA-256 in `corpus::INPUT_PRIORS`: `tools/wai_int_sr_train.py` (seed 20261021, `--width 16`, its defaults otherwise; the run also took `--source` for the measurement, which adds a title and changes neither prior) trained `generic.wsr` on pictures it generates from a seeded formula (filled shapes, strokes, gratings), and `title.wsr` by fine-tuning it on the eight frames of its generated title `title-mixed`. No picture, recording or footage from outside this repository is in the corpus or in the training. The training is in floating point and is not claimed to regenerate the same bytes on another machine; the priors' bytes are what is pinned. ``` python3 -I ../upscale_verify.py . ```