open-standards/wai/live-conformance/upscale/README.md
Transaction Science df1004f187 Merge origin/main into wai/exact-upscale (wai-mark:tent64, contribution, settlement, access, ad presentation, exploration, shared lists)
Resolved by meaning: synthesis::Case holds both the priors (exact-upscale) and the unmarked
frames (§7.6); synthesis §11.1 lists both inputs and the three policy members; the
synthesis-mark corpus's cases hold no prior; exact-upscale passes synthesis's second_layer
policy through; the live-conformance table gains the upscale row in its generator column; both
CI steps and both CHANGELOG entries are kept. Generated files are main's here and are
regenerated in the next commit.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 03:02:57 -04:00

3.1 KiB
Raw Permalink Blame History

live-conformance/upscale — exact upscale

The corpus of 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 .