open-standards/wai/live-conformance/models/README.md
Transaction Science 8638f156f6
Some checks failed
joule-moq-agent AI participants / joule-moq-agent · does this change touch it (push) Successful in 24s
joule-moq-http live HTTP egress / joule-moq-http · does this change touch it (push) Successful in 20s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Successful in 26s
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Successful in 39s
joule-moq-room room service / joule-moq-room · does this change touch it (push) Successful in 41s
WAI operation catalogue / does this change touch it (push) Successful in 37s
wai-quantum studio and desktop / does this change touch it (push) Successful in 37s
wai-quantum for JavaScript / does this change touch it (push) Successful in 40s
wai-sink-android native sink library / does this change touch it (push) Successful in 31s
wai-fleet service / does this change touch it (push) Successful in 1m17s
wai-ledger service / does this change touch it (push) Successful in 1m49s
wai-ops-gpu integer operators on GPUs / does this change touch it (push) Successful in 1m42s
wai-audit collector and player integration / does this change touch it (push) Successful in 1m55s
wai-app and Create / wai-app · does this change touch it (push) Successful in 1m58s
wai-pack / wai-pack · does this change touch it (push) Successful in 1m43s
WAI Studio / does this change touch it (push) Successful in 1m19s
wai-sink-swift native sink package / does this change touch it (push) Successful in 1m20s
wai-ops-gpu integer operators on GPUs / Vulkan GPUs (framework-128gb) (push) Failing after 4s
wai-ops-gpu integer operators on GPUs / Vulkan GPUs (jetson-hub) (push) Failing after 1s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 13s
WAI examples / WAI examples · does this change touch them (push) Successful in 20s
wai-quantum studio and desktop / desktop app · linux (push) Failing after 19s
wai-quantum for JavaScript / javascript · linux (push) Failing after 7s
wai-fleet service / service · linux (push) Failing after 5s
wai-ledger service / service · linux (push) Failing after 7s
wai-audit collector and player integration / collector · linux (push) Failing after 20s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Successful in 1m7s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Failing after 10s
wai-quantum studio and desktop / studio · browser (push) Successful in 4m56s
wai-pack / wai-pack · linux (push) Successful in 5m50s
WAI operation catalogue / the catalogue and every door · linux (push) Successful in 14m21s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (push) Successful in 20m56s
joule-moq-agent AI participants / joule-moq-agent, every target (push) Successful in 3m0s
WAI Studio / Studio in WebKit · linux (push) Successful in 26m25s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Successful in 2m20s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Successful in 3m21s
joule-moq-http live HTTP egress / joule-moq-http, every target (push) Successful in 4m43s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Failing after 11m38s
wai-pack / wai-pack · the floor through a media prober (push) Successful in 1m26s
wai-pack / wai-pack · dependency licences (push) Successful in 45s
wai-pack / wai-pack · linux-arm64 (push) Successful in 5m46s
joule-moq-room room service / joule-moq-room, every target (push) Failing after 9m57s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Successful in 8m38s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Successful in 12m11s
WAI examples / WAI examples · portable · linux (push) Successful in 26m40s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Successful in 1m5s
wai-pack / wai-pack · independent verifier (Python) (push) Successful in 27m21s
wai-quantum studio and desktop / desktop app · macos (push) Successful in 4m19s
wai-ledger service / service · macos (push) Successful in 3m50s
wai-fleet service / service · macos (push) Successful in 4m37s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Failing after 21m52s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Successful in 6m3s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Successful in 9m26s
wai-pack / wai-pack · macos (push) Successful in 9m19s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Successful in 23m37s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (push) Failing after 21m11s
WAI Studio / Studio in Chromium and Firefox · macos (push) Successful in 15m22s
WAI examples / WAI examples · android-app · linux-arm64 (push) Successful in 19m53s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Successful in 27m55s
wai-quantum studio and desktop / desktop app · windows (push) Successful in 14m45s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (push) Successful in 27m48s
Model policies: run reports count their sinks' refusals, and a roll-up may state the reports refused and its decodes by tier (D82)
A run report may carry refusals: the decodes its sink refused by its checks, by code, before the
report's end (model-governance 6.1). Every sink counts them in Governed::admit, which the native
decoder, its C interface and wrappers, and a page's paths call. A roll-up that states refusals
names the reports its operator refused with their reasons (7.3); the bundle holds them, a verifier
refuses each again by its signature or step 5's checks for the reason stated (8.2 step 6), and
every class line counts them by reason and sums its reports' refusals, every set line its decodes
by tier. rollup_stating signs such a roll-up; the earlier form reads and verifies as before.
Corpora: models adds an accepted roll-up and fifteen refusals of it; model-sink's reports state
the refusals each counts, checked through the C interface and recomputed by the second
implementation.

Answers waiTransport wai-additions 53.4 and 53.5.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-12 07:55:23 -05:00

49 lines
3.4 KiB
Markdown

# live-conformance/models — which models a fleet's sinks may run, and what they ran
The corpus of [`extensions/model-governance.md`](../../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](../../extensions/opus-dred.md) §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,
a device no class holds, and five kiosks a class names by a roster (§4.5; the successor's roster
drops the third).
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. A bundle of the kiosks also holds `rosters`,
the roster documents its roll-up rests on, and each kiosk's report carries its membership proof.
Each entry of `batches` is a list of `bundles` and their `outcomes` (§8.4): the bundles are
verified in order by one verifier that keeps the policies it has read, and each must also get its
outcome from a verifier that keeps nothing. `batch_policy_changed` gives a policy changed after
it was signed after the policy it was signed as; `batch_window` gives a report under a policy its
bundle's window does not hold after a bundle that held it.
The vectors `stop`, `stop_report_under_no_class`, `successor_issued_after_report`,
`successor_issued_before_report` and `report_issued_inside_its_period` give a successor of no
class (§4.3) and the chain a report is held to (§6.4 step 2): a successor issued after a report
does not reach back over it, one issued before it does, and a report dated inside its own period
does not read (§6.1).
`rollup_states_refusals` and the vectors after it give a roll-up that states refusals (§7.3):
reports counting the decodes their sinks refused (§6.1), the refused reports the bundle holds in
`refused`, each refused again for its stated reason, and each set line's decodes by tier.
`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, each batch's with a verifier that keeps its
policies and with a fresh one. `../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.