| Filename | Latest commit message | Latest commit date |
|---|---|---|
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]> |
||
| .. | ||
| README.md | ||
| vectors.json | ||
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.