open-standards/wai/examples
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 495651ddd2
Some checks failed
wai key · the real keychain / does this change touch it (push) Successful in 18s
wai-quantum energy-landscape jobs / does this change touch it (push) Successful in 12s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (push) Successful in 22s
wai key · the real keychain / the real keychain · macos (push) Successful in 39s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (push) Failing after 57s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (push) Failing after 2m6s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (push) Successful in 2m17s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (push) Successful in 4m28s
wai-quantum energy-landscape jobs / the same bits · macos (push) Successful in 4m30s
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (push) Successful in 4m44s
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (push) Successful in 7m36s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (push) Successful in 7m42s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (push) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (macos) (push) Has been cancelled
joule-moq-room room service / joule-moq-room · does this change touch it (push) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (push) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (push) Has been cancelled
wai-app and Create / wai-app · does this change touch it (push) Has been cancelled
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (push) Has been cancelled
wai-app and Create / wai-app · Create, browser end-to-end (macos) (push) Has been cancelled
wai-audit collector and player integration / does this change touch it (push) Has been cancelled
wai-audit collector and player integration / collector · linux (push) Has been cancelled
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (push) Has been cancelled
WAI operation catalogue / does this change touch it (push) Has been cancelled
WAI operation catalogue / the catalogue and every door · linux (push) Has been cancelled
wai-fleet service / does this change touch it (push) Has been cancelled
wai-fleet service / service · linux (push) Has been cancelled
wai-fleet service / service · macos (push) Has been cancelled
wai-ledger service / does this change touch it (push) Has been cancelled
wai-ledger service / service · linux (push) Has been cancelled
wai-ledger service / service · macos (push) Has been cancelled
wai-quantum for JavaScript / does this change touch it (push) Has been cancelled
wai-quantum for JavaScript / javascript · linux (push) Has been cancelled
wai-quantum studio and desktop / does this change touch it (push) Has been cancelled
wai-quantum studio and desktop / studio · browser (push) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (push) Has been cancelled
wai-quantum studio and desktop / desktop app · linux (push) Has been cancelled
wai-quantum studio and desktop / desktop app · windows (push) Has been cancelled
wai-sink-android native sink library / does this change touch it (push) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (push) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (push) Has been cancelled
wai-sink-swift native sink package / does this change touch it (push) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (push) Has been cancelled
WAI Studio / does this change touch it (push) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (push) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (push) Has been cancelled
WAI Studio / Studio in WebKit · linux (push) Has been cancelled
wai-key-proxy / does this change touch it (push) Has been cancelled
wai-key-proxy / proxy · linux (push) Has been cancelled
wai key · Windows / does this change touch it (push) Successful in 13s
wai key · Windows / wai key and the toolchain's tests · windows (push) Successful in 2m10s
wai: operation receipts on every developer-facing write, and a signed origin claim for each generated picture
No new record type. An operation receipt is an asset-provenance receipt
(wai::provenance::AssetReceipt), unchanged: its steps are the project by the
canonical digest of the wai.json the operation ran under, each file it read,
and each file it wrote, by content hash and path. wai create, lock, build,
decode, wrap, unwrap -o, generate and key create|import|rotate|revoke|export
each write one in a build with quickstart, kept in a project's .wai/receipts/
(every template's .gitignore keeps it out) or beside the file written. --key
signs it; a key operation signs with the key it makes; otherwise a key made
for the run, and the receipt says so. A --key that does not sign stops the
operation before it writes anything.

wai verify reads every *.wai-receipt.json under its paths and refuses a
receipt that does not verify, a written file that is missing or changed, a
receipt kept in a project whose wai.json is not the one it names, and a built
tree that is not the one its build record lists.

wai generate, with synthesis, signs for each picture a wai-origin claim
(subject the picture's samples, step generate, operation
wai.generate.spectral, the model file by SHA-256 and type algorithmic,
oversight prompt_guided, source algorithmicMedia) whose record is the
picture's receipt, signed by the same key. extensions/synthesis.md §3.5 states
it, and how a claim names a model no prior pins, such as a person's own model
reached at an endpoint from Create: by the SHA-256 of the endpoint's URL and
the model's name, read as a name, never as a pin. wai verify checks the claim;
so does synthesis_verify.py claim, the second implementation.

The catalogue marks project.create, project.lock, project.build,
media.decode, media.generate, envelope.wrap, envelope.unwrap and key.* with
receipt and adds their --key inputs; ops.json and Studio's actions are
regenerated. Create's end-to-end test runs wai check and wai dev --check on
the exported project, reads its receipt with wai verify, and requires wai
verify to refuse each changed copy.

tests/cli_receipts.rs, in wai-conformance's project step, plants the faults:
a changed picture, decoded file, built file and key record; another project's
receipt; a claim beside another picture's receipt; an edited claim.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-09 15:26:12 -05:00
..
android-app wai: operation receipts on every developer-facing write, and a signed origin claim for each generated picture 2026-11-09 15:26:12 -05:00
apple-app wai: operation receipts on every developer-facing write, and a signed origin claim for each generated picture 2026-11-09 15:26:12 -05:00
encoder-ingest wai: operation receipts on every developer-facing write, and a signed origin claim for each generated picture 2026-11-09 15:26:12 -05:00
messaging wai: wai dev is the one local stack, driven by control lines, with synthetic participants, room test and load, and --impair 2026-11-09 10:54:12 -05:00
package-and-deliver wai: wai dev is the one local stack, driven by control lines, with synthetic participants, room test and load, and --impair 2026-11-09 10:54:12 -05:00
remote-desktop wai: wai dev is the one local stack, driven by control lines, with synthetic participants, room test and load, and --impair 2026-11-09 10:54:12 -05:00
verify-receipts wai: wai dev is the one local stack, driven by control lines, with synthetic participants, room test and load, and --impair 2026-11-09 10:54:12 -05:00
video-room wai: wai dev is the one local stack, driven by control lines, with synthetic participants, room test and load, and --impair 2026-11-09 10:54:12 -05:00
watch-together wai: wai dev is the one local stack, driven by control lines, with synthetic participants, room test and load, and --impair 2026-11-09 10:54:12 -05:00
.gitattributes wai lock, wai check and wai build: a project pinned, validated and built 2026-11-06 17:28:16 -05:00
README.md wai setup-agent writes a skill, and every template carries it 2026-11-07 03:08:05 -05:00

WAI examples

Small projects that each do one thing with WAI, and each run on your own machine with the open reference software alone. Every one is a template of wai create:

wai create my-room --template video-room
cd my-room
wai dev
Template What it shows Runs with
video-room Your own page with a live room in it: camera, microphone, every object checked against its receipt wai dev, a browser
watch-together Everyone in a room watching one file in sync: play, pause and seek at one instant for all wai dev, a browser
messaging An end-to-end encrypted conversation, and a call placed, rung and answered wai dev, a browser
encoder-ingest An SRT encoder's stream published into a room, each group signed at the first hop and checked at the relay and the subscriber cargo
package-and-deliver A title packed by policy, its package verified, its standard floor played in a page wai-pack, wai dev, a browser
verify-receipts The receipts beside an object checked offline by the reference implementation (Rust) and by a second one (Python, standard library only) wai hello, cargo, python3
apple-app The native sink in a SwiftUI app, and a recorded playback session replayed through it Xcode, the wai-sink-swift package
android-app The native sink's Kotlin API, the one an Android app's player session calls a JDK 17, the wai-sink-android project
remote-desktop One machine's screen shared into a room, with control handed over and every input signed wai dev, wai-remote-host, a browser

Every example is Apache-2.0, and carries the license's text as LICENSE, which a project wai create makes from it receives with the rest.

Every example carries an AGENTS.md, the instructions a coding agent reads: what the project is, and how to build, run, test and conform it. wai setup-agent adds WAI's own block to it. Every example also carries the skill agents load for a WAI task, .agents/skills/wai/SKILL.md: the text wai setup-agent writes, then a section on the project.

Each example's test/ directory holds the check that it works; it is not part of the project wai create writes. bash ../quickstart/test/run-examples.sh portable|browser|apple|android runs them, as .github/workflows/wai-examples.yml does.