wai: the developer's path (hello, create, dev, verify), the floor with no system library, nine examples, and the quickstart archive #502

Closed
dcharlot wants to merge 6 commits from wai/dx-a-examples into main

2026-10-26

Transaction Science
wai/quickstart/test/clean-machine.sh: a failed step reads FAILED, with no unit
Some checks failed
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · macos (pull_request) Has been cancelled
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Has been cancelled
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · macos (pull_request) Has been cancelled
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
wai cross-architecture byte-equality / linux-aarch64 (pull_request) Has been cancelled
wai cross-architecture byte-equality / macos-arm64 (reference) (pull_request) Has been cancelled
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (pull_request) Has been cancelled
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (pull_request) Has been cancelled
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (pull_request) Has been cancelled
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Has been cancelled
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Has been cancelled
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Has been cancelled
joule-code conformance gate / joule-moq-relay, every target (pull_request) Has been cancelled
energy meters on real hardware / sink decode table · RAPL on jetson-hub (NVML surveyed) (pull_request) Has been cancelled
energy meters on real hardware / sink decode table · per-task energy and the GPU rail on macOS (pull_request) Has been cancelled
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m21s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 19:23:22 -04:00
Transaction Science
wai/quickstart/build.sh: each build its own target directory, a failed build stops it, and the archive's wai holds this checkout's examples
wai also builds as a cdylib, so its rlib's file name carries no hash: under a
CARGO_TARGET_DIR every workspace shares, the room service's build of wai (its
own feature set) overwrote the quickstart's, and a later build of the wai
binary linked the wrong one and failed. The failure was masked inside a
command substitution, and the archive took a binary from an earlier build.
Each build now has its own directory under a shared one, a failed build
stops the script naming it, and before packaging the script creates every
template with the packaged wai and compares it with wai/examples/ byte for
byte.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 19:16:52 -04:00
Transaction Science
wai: the README's quickstart, the changelog, the examples' index, and a clean-machine run of the quickstart
wai/quickstart/test/clean-machine.sh runs the quickstart from the archive
alone in a fresh HOME and directory, with the system's PATH: the archive
checked against its SHA-256 and unpacked, wai hello, wai verify, wai create,
wai dev --check, and, with --browser, the room joined in two pages. It times
each step and fails naming the step that failed. The encoder-ingest example
takes clippy's is_multiple_of.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 18:58:39 -04:00
Transaction Science
CI: the examples run on every leg that hosts them, and the release builds the archive
.github/workflows/wai-examples.yml runs each example through wai create and
wai dev: the portable ones on linux, the archive as the release builds it,
the quickstart's readiness check (wai dev --check from the unpacked archive),
the browser examples and apple-app on macos, android-app on linux-arm64.
wai-conformance.yml runs tests/floor.rs and tests/cli_dx.rs, and fires on
wai/examples/ (the templates are compiled into wai). wai-release.yml, on a
tag wai-v<version>, builds the room client once and the archive on each
runner, attaches them with their SHA-256, and writes the Homebrew formula
and the Scoop manifest; wai/quickstart/install.sh installs a release.

Two clippy notes of the new code fixed (a type alias for a template's files;
hex only where hello and verify are built).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 18:44:48 -04:00
Transaction Science
wai/examples: encoder-ingest subscribes once the gateway publishes; tests take CARGO_TARGET_DIR
The relay refuses a subscription to a track nobody publishes yet
(DOES_NOT_EXIST): the example now calls first, or waits for the encoder, and
asks again until the gateway's tracks are there. The Rust examples' tests
find their binaries under CARGO_TARGET_DIR when it is set.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 18:26:51 -04:00
Transaction Science
wai: the developer's path, hello, create, dev and verify, a floor build with no system library, and nine examples
wai-rs gains the feature floor (the mandatory floor of SPEC 5: PNG, FLAC and
zstd, decoded with no system codec library) and quickstart (the floor, and the
receipt checks hello and verify run). The wai command line gains four verbs,
one module each, named in one table (dx::VERBS):

- hello: name, dispatch, rebuild and receipt on a picture made here, the
  receipt laid out as http-delivery 8 lays receipts beside an object;
- create: a new project from one of the examples, whose files the binary
  holds; tests/cli_dx.rs holds them to wai/examples/ byte for byte;
- dev: the relay, the room service and the room page on one loopback origin,
  as a production front serves them; --check checks each piece through it;
- verify: the receipt indexes under a directory, checked offline.

The project file a template writes, wai.json, is read in one place
(dx/project.rs). wai/examples/ holds video-room, watch-together, messaging,
encoder-ingest, package-and-deliver, verify-receipts, apple-app, android-app
and remote-desktop, each with a README and a test that runs it through
wai create and wai dev. wai/quickstart/ builds the room client and the
archive that holds wai, the relay, the room service, the remote host and the
packager.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 18:17:48 -04:00