open-standards/wai/wai-studio/src
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 4d0a6251fb wai conform sink: the native sink through the conformance runner, and wai verify --conformant admits a result only for a run that passed
conformance-results §4.1: a relying party that admits an implementation on a
conform-result/1 record requires the record accepted, its run passed (not_conformant), its
suite one whose corpus the party holds (suite_unknown), and its corpus digest that corpus's
(corpus_mismatch). wai verify --conformant [--root <wai-dir>] applies the rules against a
checkout; without it a record of a run that did not pass verifies as before. A sink kind:
wai conform sink --suite native-sink gives a sink each session of
live-conformance/native-sink/ with its answers withheld, and each configuration the corpus
states a session refuses; wai_native_sink_vectors answers [--c-abi] is the reference sink,
through its module or through the C interface the platform integrations link.

wai-breaking.yml's runner job runs the native sink both ways and the score decoder, each
record admitted against the checkout's corpus, and a planted sink that presents an object
whose digest does not match: its run must exit 1 with tampered-fragment failed, and
admission must refuse its record at rule 2. tests/cli_conform_sinks.rs holds the same, and
corpus_mismatch and suite_unknown; it has its [[test]] entry with its required features,
so check-tests-in-ci.py passes. The binaries are built with the test step's features, so
cargo reuses what that step built. The browser sink has no sink suite, and §7 says that
§4.1 has only this reference implementation, with no admission vectors.

The catalogue's receipt.verify (the new options, and the envelopes the pin-by-default commit
added) and conformance.run (the sink kind, the {case} placeholder) are exported again, and
Studio's actions regenerated from the export: actions.mjs --check had failed since that
commit. c_abi::take reads and frees no null buffer.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-04 12:29:01 -05:00
..
panels WAI Studio e2e: a publisher in the room before a viewer joins; WebKit on Linux in Playwright's image; scrollable blocks focusable; Quantum Studio's critique a named group 2026-10-27 16:17:25 -04:00
actions.generated.js wai conform sink: the native sink through the conformance runner, and wai verify --conformant admits a result only for a run that passed 2026-11-04 12:29:01 -05:00
bindings.js WAI Studio reads the catalogue; dev.start declares --show, --audience and Studio's route 2026-10-28 08:04:00 -04:00
cores.js WAI Studio on the web: one front end, its core in WebAssembly, served by wai dev at /_wai/ 2026-10-27 15:22:51 -04:00
dom.js WAI Studio on the web: one front end, its core in WebAssembly, served by wai dev at /_wai/ 2026-10-27 15:22:51 -04:00
files.js WAI Studio on the web: one front end, its core in WebAssembly, served by wai dev at /_wai/ 2026-10-27 15:22:51 -04:00
main.js WAI Studio on the web: one front end, its core in WebAssembly, served by wai dev at /_wai/ 2026-10-27 15:22:51 -04:00
palette.js WAI Studio: Escape closes the palette from its search field too; the e2e holds it 2026-10-28 02:08:48 -04:00
studio.css WAI Studio on the web: one front end, its core in WebAssembly, served by wai dev at /_wai/ 2026-10-27 15:22:51 -04:00
tokens.css WAI Studio on the web: one front end, its core in WebAssembly, served by wai dev at /_wai/ 2026-10-27 15:22:51 -04:00
worker.js WAI Studio on the web: one front end, its core in WebAssembly, served by wai dev at /_wai/ 2026-10-27 15:22:51 -04:00