research/catalogue-prior/decisive-rule.json is the rule that judges a run on a
learned prior tuned on a catalogue (H1c) or on an episodic series (H1b),
committed before any such run. Its SHA-256 is
8e265cfa2a3cb3de8c02a2c79a65bba59b52f2c134f4baf39d8bf163c0c38bc2.
It keeps the record's rule and answers the three faults §2.1 lists: K1 is
diagnostic, the bar for a video claim is plain per-title AV1, and K4 kills H1c
for an arm whose catalogue-tuned set beats the same codec's generic set by less
than 5 % BD-rate on PSNR on the median held-out title, before the set's bytes
are charged.
Its `base` field names what is new in this file and not carried over:
- GO judges H1b on the openings arm, against per-episode encodes, where the
record's rule named no comparator for H1b and only K3 decided it.
- Each clause names the arms it judges. GO judges wai.neural.int_hyper's
catalogue-tuned set against AV1 all-intra, the catalogue-tuned set of any
other arm with inter prediction whose P-frames are not integer block motion
compensation, named in a run's record before its first reading, against
plain per-title AV1, and the openings. K4 judges each catalogue-tuned set
against its generic set. wai.video.int_hyper's verdict is a kill or
INCONCLUSIVE.
- One AV1 bar: 8-bit at preset 4, coded as §3.5 codes base8 in all else, and
all-intra at preset 4. Preset 8 and a ×4 10-bit pipeline are reported.
- A kill wins over GO for an arm and claim, and K1 with GO is INCONCLUSIVE. K1
reads only a rate proxy measured in the same run on the same titles, so a run
that measures none has no K1, and run.json's K1 carries to no run here.
- GO's three quarters are of all the arm's titles, rounded up. A title
INCONCLUSIVE on VMAF stays among them and does not count as meeting the bar.
GO reads the cubic VMAF figure.
tools/wai_catalogue_prior_verify.py holds each rule file's SHA-256 itself
(RULE_SHA256), treats every file of the record named *-rule*.json as a rule
file, and checks it against that digest and the one §2.2 quotes in a
<!--cat-sha256:NAME--> marker. Its --self-test requires the record to pass and
each mutated copy to fail with its finding: a byte of the rule, a quoted digit,
the rule and its quoted digest changed together, an unlisted rule file, a
removed one, a removed, stray or misplaced marker, another format, and text
that is not JSON. The conformance step runs it before the record.
Co-Authored-By: Claude Opus 5.5 <[email protected]>