| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
All checks were successful
joule-code conformance gate / joule-moq-relay, every target (pull_request) Successful in 3m41s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 8s
wai-audit collector and player integration / does this change touch it (pull_request) Successful in 6s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (pull_request) Successful in 7s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 3m17s
WAI operation catalogue / does this change touch it (pull_request) Successful in 7s
WAI conformance / does this change touch it (pull_request) Successful in 8s
WAI energy receipts / does this change touch it (pull_request) Successful in 8s
WAI examples / WAI examples · does this change touch them (pull_request) Successful in 8s
wai-fleet service / does this change touch it (pull_request) Successful in 9s
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Successful in 8s
wai-key-proxy / does this change touch it (pull_request) Successful in 8s
wai-ledger service / does this change touch it (pull_request) Successful in 7s
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Successful in 7s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 9s
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 9s
wai-sink-android native sink library / does this change touch it (pull_request) Successful in 7s
wai-sink-swift native sink package / does this change touch it (pull_request) Successful in 7s
WAI Studio / does this change touch it (pull_request) Successful in 7s
wai-web wasm32 / does this change touch it (pull_request) Successful in 7s
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Successful in 6m13s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 19s
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (pull_request) Successful in 3m5s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 7m11s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 20s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 34s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 1m55s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (pull_request) Successful in 5s
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Successful in 1m15s
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 6s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 6s
wai-app and Create / wai-app · does this change touch it (pull_request) Successful in 5s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 6s
wai-audit collector and player integration / collector · linux (pull_request) Successful in 1m6s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 11m40s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (pull_request) Successful in 1m27s
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (pull_request) Successful in 38s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (pull_request) Successful in 2m31s
WAI operation catalogue / the catalogue and every door · linux (pull_request) Successful in 2m41s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 30s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 9m9s
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m38s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 5m42s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 3m0s
wai-key-proxy / proxy · linux (pull_request) Successful in 1m5s
wai-fleet service / service · linux (pull_request) Successful in 2m3s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 22m22s
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (pull_request) Successful in 2m2s
wai-ledger service / service · linux (pull_request) Successful in 1m33s
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Successful in 3m52s
wai-pack / wai-pack · linux (pull_request) Successful in 3m20s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 1m0s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 3m38s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 28s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (pull_request) Successful in 33s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 10m58s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 9m30s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 1m8s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 10m5s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m34s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 5m50s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m33s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 5m36s
wai-fleet service / service · macos (pull_request) Successful in 38s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 17m40s
wai-ledger service / service · macos (pull_request) Successful in 58s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 9m51s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 18m30s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Successful in 13m52s
wai-pack / wai-pack · macos (pull_request) Successful in 2m49s
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Successful in 10m16s
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Successful in 6m24s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 4m9s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 7m39s
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Successful in 33m27s
joule-moq-remote host agent / joule-moq-remote, every target (macos) (pull_request) Successful in 55s
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Successful in 6m39s
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Successful in 5s
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Successful in 32m48s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Successful in 1m50s
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Successful in 32m47s
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Successful in 2m20s
wai-pack / wai-pack · the floor through a media prober (pull_request) Successful in 21s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 9m33s
wai-pack / wai-pack · linux-arm64 (pull_request) Successful in 2m2s
wai-pack / wai-pack · dependency licences (pull_request) Successful in 1m39s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Successful in 1m32s
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Successful in 6m58s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 3m4s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 59m15s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Successful in 16m40s
wai-pack / wai-pack · independent verifier (Python) (pull_request) Successful in 7m34s
joule-moq-room room service / joule-moq-room, every target (pull_request) Successful in 4m6s
wai-app and Create / wai-app · Create, browser end-to-end (macos) (pull_request) Successful in 7m30s
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Successful in 15m49s
The catalogue's agent rules carry an operation's answer under `data` (envelope/1); the Create e2e still read the older `result`, so each refusal case found no failures and failed. The passing case only read `ok`. Co-Authored-By: Claude Opus 5.5 <[email protected]> |
||
| .. | ||
| e2e | ||
| src | ||
| templates | ||
| web | ||
| .gitignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| README.md | ||
wai-app
WAI's widgets for joule-ui, and Create: describe a WAI app, watch it build itself
from WAI widgets while a model writes it, try its room, and take it away as a project. A
library with no binary of its own: wai, built with its feature app, is its command line
and its MCP server. The design is in joule-ui/docs/create.md;
the line language a model writes the app in is joule-ui's (joule-ui/SPEC.md §11).
The widgets
A joule-ui registry (src/registry.rs), each widget backed by the room client of
joule-moq-web (web/components.js):
| Widget | What it is | Holds |
|---|---|---|
App(children, title) |
the app | one room; Text, Receipts, EnergyMeter |
Room(children, title) |
a live room: join with camera and microphone, or watch | Player, Chat, and any room's widgets |
WatchTogether(source, children, title) |
a watch room: one file, watched in sync | any room's widgets (a watch room keeps the shared controls alone) |
Show(children, title, audience) |
a show: hosts on camera, an audience that votes | Player, Chat, Poll, and any room's widgets |
Player(title) |
the room's video, laid out from its signed record | |
Chat(title) |
the room's chat, each message a signed, verified event | |
Poll(question, options, seconds) |
a vote the show's lead opens and its clock closes and signs | |
Participants(title) |
who is present, from the room's lifecycle | |
Receipts(title) |
the page's sealed log of every action, verified | |
EnergyMeter(title) |
each action's energy, and how it was obtained | |
Text(text) |
a paragraph |
Any room's widgets: Participants, Receipts, EnergyMeter, Text. An app holds one
room; a poll has 2 to 32 options; a show's audience is 1 to 255; a watch room's source is
a file within the app (src/plan.rs). A line that breaks a rule is refused with its line
and a reason code, and does not render.
The pieces
src/guide.rs: what a model is told before it writes an app, made from the registry (wai app guide, the toolapp_guide).src/lib.rs:checkandCreate, a program as a snapshot the page renders, whole or as it streams, with the room the app needs (wai app check, the toolapp_check).src/export.rs: the files of a starter project for a program, and the facts its project file holds:app.oui,index.html,README.md,AGENTS.md,.gitignore,vendor.json,vendor/(the runtime), and for a watch roommedia/README.md.wai create <dir> --from app.ouiwrites them, withwai.jsonandLICENSEfrom the writer everywai createproject has. No key is ever in it:wai devmakes development keys in.wai/at run time.src/runtime.rs: the runtime an export carries, read by its listing (create/wai-app-runtime.json) and checked file by file.src/bridge.rs: the bridge on 127.0.0.1 that carries a program from a coding agent into the person's open Create page (wai mcp --toolset app, the toolapp_stream).src/web.rs(featureweb): the page's WebAssembly surface, with the interaction log every action on the page is sealed into (joule-ui-interaction).web/: the streaming renderer, the components, the room frame, the Create page and the exported app's page;web/runtime.mjslays the runtime out as the site serves it.
Run it
cargo test # registry, plan, guide, export, runtime, bridge
node --test web/web.test.mjs # the renderer and the model streams
e2e/run.sh # Create in a browser, with wai dev, wai create --from and wai app check
wai app guide # what a model is told (wai built with --features app)
wai app check app.oui # a program's tree, errors and room
wai create my-app --from app.oui --runtime <dir> # a starter project; then wai app check and wai dev in it
wai mcp --toolset app # Create's tools, for a coding agent
Licence
Apache-2.0, and every project wai create writes from an app is too.