open-standards/.github/wai-conformance/verifiers/catalogue-harness.sh
Transaction Science 396cbd6ae5
Some checks failed
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 21s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 1m23s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Failing after 5m23s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 7m31s
The catalogue-prior rule's learned image arm: a harness from a catalogue of titles to K4
tools/wai_int_hyper_catalogue.py takes a catalogue of titles to the reading
research/catalogue-prior/decisive-rule.json makes of a wai.neural.int_hyper set tuned on the
catalogue against its generic set (K4):

- frames: licence first; refuses a master whose SHA-256 is not the one its producer
  publishes, or whose header (ffprobe, before any frame) is not 1920 x 1080; writes RGB8
  frames and a manifest the trainer's --frames reads.
- tune: the trainer on the catalogue minus the held-out titles, from the generic set's float
  model pinned by SHA-256 and its record.
- code: each held-out frame through export_model(..., decode=False), decoded by the integer
  decoder (wai-rs/examples/int_hyper_decode_frame.rs); per title the rANS bytes and the luma
  and chroma squared error, pooled.
- k4: BD-rate by the record's cubic fit (exact rationals), with PCHIP and linear beside it;
  K4's threshold read from the rule file, checked against its pinned SHA-256.

verifiers/catalogue-harness.sh runs its self-test in the conformance workflow: the cubic
BD-rate gives the 40 figures c_rd.json stored (largest difference 2.4e-10 points), each
integration reads a curve 10 % cheaper as -10 %, K4 holds for a tuned curve 3 % cheaper and
not for 10 %, the median of an even count is the mean of the middle two, and a rule file with
a changed threshold is refused.

Run on the Framework (Linux x86_64) through rb: `frames` on a lossless generated master
(ffmpeg's testsrc2, FFV1 in AVI) gave frames 5 and 25 byte for byte, and refused a wrong
digest and a 1280x720 master; `code` with a 60-step model on two 256x256 generated pictures
gave decodes equal to the exporter's own integer decode (SHA-256 d4998abf..., ffd1ff82...);
at 1080p it coded two frames in 16.8 s.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-10 12:51:32 -05:00

15 lines
1 KiB
Shell

# step: catalogue prior · the learned arm's harness reads the record's figures and the committed rule
# order: 31
# paths: wai/tools/wai_int_hyper_catalogue.py
#
# tools/wai_int_hyper_catalogue.py takes a catalogue of titles to the committed rule's K4
# reading for wai.neural.int_hyper (research/catalogue-prior/decisive-rule.json): frames from
# each master, licence first; a set tuned from the generic set pinned by digest; the held-out
# frames coded through the exporter and decoded by the integer decoder; and BD-rate by the
# record's cubic fit, with PCHIP and linear beside it. Its self-test (standard library only)
# requires the cubic BD-rate to give every figure the record stored (c_rd.json), each of the
# three integrations to read a curve 10 % cheaper as -10 %, K4 to hold for a tuned curve 3 %
# cheaper and not for one 10 % cheaper, the median of an even count to be the mean of the
# middle two, and a rule file with a changed threshold to be refused against its pinned SHA-256.
set -euo pipefail
python3 -I tools/wai_int_hyper_catalogue.py self-test