| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
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
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]> |
||
| .. | ||
| .agents/skills/wai | ||
| src | ||
| test | ||
| .gitignore | ||
| AGENTS.md | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
| wai.json | ||
Stream from an encoder into a room
What it shows. An encoder's stream entering a room over SRT. The room's authority grants the encoder's key a publisher's place; an ingest gateway opens an SRT session for that grant once the encoder's side proves it holds the key, and publishes what arrives as the room's video and audio tracks. The gateway signs each group's receipt as the first hop; the relay checks every object against it at its door, and a subscriber checks each one again.
Run it.
wai create my-ingest --template encoder-ingest
cd my-ingest
cargo run --release
It prints an srt://127.0.0.1:… address. Point an SRT encoder at it (MPEG-TS with H.264 or
HEVC video and AAC audio, caller mode, the stream ID and passphrase as given).
What you see. A line for the first groups of each track as they arrive, each verified
against the receipt the gateway signed. cargo run --release -- --synthetic 5 sends five
seconds of a synthetic program itself (shaped like H.264 and AAC, not watchable) and exits 0
once every group verified.
Make it yours. The gateway also takes RTMP and WHIP, and serves WHEP to players; its
configuration file is gateway.example.toml in the repository's joule-moq-ingest crate. The
first build fetches the repository and compiles the relay and the gateway.
With a coding assistant. Run wai setup-agent in this directory: it writes the
instructions an assistant reads and connects it to WAI's tools.
License. Apache-2.0: the text is in LICENSE, and a project wai create makes from this
example carries it.