open-standards/wai/live-conformance/models
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science e39297fac6 wai.sink.models: which models a fleet's sinks may run, and what they ran
A sink is a computer that runs named, pinned models: codec priors, DRED's weights, an exact
upscale's prior, enhancement and generator models. Nothing said which of them a fleet's sinks may
run, revoked one across a fleet, or rolled up what each class of device ran.

extensions/model-governance.md registers the record `wai.sink.models`, in the `models` profile
(core/profiles.json, CORE.md's table), outside the core. An operator signs a model policy
(`wai-model-policy`): classes of devices, enrolled by key or vouched for by an attestation key
(`wai-model-device`), and for each class the parameter sets it may run by the digest a pin names
(SPEC §3.1), per capability and role (decode, upscale, enhance, generate), with the least tier each
must run at; a span, a successor that takes its place from its own start, and the operator's key
log (jwp-receipts §7), whose `revoked_modules` revoke a set from the first revision that lists it:
the list SPEC §3.1 check 5 already reads at a sink. A device signs a run report (`wai-model-run`)
from what it already states: each decode's neural-dispatch report with the set it read (a sealed
set's opened digest too), and its sessions' exact-upscale presentation statements, whose sink-made
pictures name their prior or model. A verifier refuses a set outside the policy
(`model_not_in_policy`), a revoked set run at or after its revocation (`model_revoked`), a period
outside the policy's time in force (`policy_expired`, `policy_not_yet_valid`), a run below the
policy's tier (`model_tier_below_policy`) and a float path claiming decode-equivalence
(neural-dispatch's `dispatch_tier_refused`). The operator's roll-up (`wai-model-rollup`) states per
class the reports, the devices that reported and those enrolled that did not, and each set's
decodes by unit, frames and pixels, recomputed from the reports (`rollup_mismatch`).
neural-dispatch §5, exact-upscale §6.2 and fleet §1 point to it; no record they define changes.

The reference is the `model_policy` module of wai-rs (feature `model_policy`, in `full`);
`wai model verify` (catalogue `model.verify`) verifies a bundle (`*.wai-models.json`), and `wai
verify` reads a bundle and each record alone. The corpus is live-conformance/models/ (57 bundles:
3 accepted, 54 refused, every reason of §10 and every reused reason at least once), and
model_policy_verify.py is its second implementation, written from the text: it agrees on every
outcome, reason, place and statement, 14 of 14 mutated copies fail, and 51 of 51 weakened
verifiers are caught. vectors.json has one SHA-256 when generated on x86_64 and on arm64. 22
faults planted in the reference (a capability or role ignored, the revocation instant excluded, a
sealed set's inner identity ignored, the successor's start ignored, expiry unchecked, a float
path's claimed tier believed, silent devices and units miscounted, the signing domain, a period's
end included, the attestation's span, a statement counted twice, overlap, the roll-up's signer
and reports, a path's arithmetic, pictures' revocation, the tier compared the wrong way, the
successor chain, the key log ignored, an unnamed model admitted) each fail its tests. The
registry export, the operation catalogue and Studio's actions are regenerated by their tools.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-10 14:23:40 -05:00
..
README.md wai.sink.models: which models a fleet's sinks may run, and what they ran 2026-11-10 14:23:40 -05:00
vectors.json wai.sink.models: which models a fleet's sinks may run, and what they ran 2026-11-10 14:23:40 -05:00

live-conformance/models — which models a fleet's sinks may run, and what they ran

The corpus of extensions/model-governance.md §11, in one file, vectors.json.

Provenance. Generated here by wai_model_policy_vectors gen (wai-rs, feature model_policy), from Ed25519 keys on fixed 32-byte seeds and constant instants. Every set is named by the SHA-256 of a label, except DRED's weights, which carry the digest opus-dred §4.1 names (the file itself is neither read nor held here). Every dispatch report is written by the reference's neural_dispatch functions, and every presentation statement is signed as exact-upscale §6.2 has it, with synthetic picture digests and claim link hashes; nothing from outside this repository.

keys names every key by its role, as 64 lowercase hexadecimal digits: the operator and a rogue operator, the root of the operator's key log, an attestation key and a rogue one, three set-top boxes the policy enrols (the third silent), two signage players the attestation key vouches for, and a device no class holds.

Each entry of vectors is a bundle (§8.1) and the outcome §8.3 gives it: accept with the policies and the end of the time each is in force, the key log's head and revocations, each run report and the roll-up's class lines; or refuse with the reason and the place (at) §8.2 writes. Each vector states the outcome it was written to have, never copied from a verifier: an accepted bundle's statement is built by the generator from what the bundle was made of, and the roll-up's class lines are declared in the generator.

wai_model_policy_vectors verify and tests/model_policy.rs check that the file regenerates byte for byte and that wai-rs reaches every stated outcome. ../model_policy_verify.py is the second implementation, written from the extension's text, which also mutates copies of the corpus and drops each of its own checks in turn and requires each to be caught. Everything is synthetic: the keys attest nothing.