From b582725df3e51b5988cb99e6d71db77a12770649 Mon Sep 17 00:00:00 2001 From: Transaction Science Date: Wed, 4 Nov 2026 23:29:20 -0500 Subject: [PATCH 1/4] wai/conform-output, converted to the layout of the fix: no shared append point The change of wai/conform-output (69f88e62f..ce85900ca, 11 commits), on the fix branch: its changelog entries as files of wai/changes/, and every other file as the branch has it, its conflicts with main resolved (the sink kind and the native sink suite, the {case} placeholder, the entry files and the wasmtime pin check landed since its base). Its table of independent verifiers is no hand-kept list: wai-rs/build.rs reads it from the `# independent:` lines of the step files (.github/wai-conformance/verifiers/), which take the verifiers' command lines out of the steps' bodies; a step with only verifiers to run keeps its file as a declaration. scripts/wai-conformance-lists.py reads and checks the same lines, and the table's tests read the step files instead of the workflow. - 0b653a415 wai conform: JUnit and HTML reports, the independent verifiers beside an implementation or alone, and the corpus union as one command; wai doctor - c37330ac8 wai-release: the quickstart from every archive, as a new user runs it, and its PowerShell twin for Windows - 0e1f3eb8a wai conform: the union's rule reads the workflow's commands, not its comments - 741bd2bd1 wai: the README names wai doctor, toolchain_doctor and wai conform's independent verifiers - ba302c439 wai doctor: a shim is the program its .shim file names, and 0.3.0 is WAI's - bb7451190 wai conform: two passing answers that differ are a disagreement, each record digests what its run reads, and the rules are held - a60f59c8f wai mcp: conformance_run on a corpus's directory runs its own verifier, as before the claims runs joined the table - 710490dfa check-wai-ops-doors: the verbs and their near-synonyms are the catalogue's, read from it - fb0ae3151 check-wai-release-quickstart: the release's quickstart is held in the repository checks, gated and ordered too - 7fa7b506d wai/quickstart/test/clean-machine: the help is the header, its first line to its last - ce85900ca wai: the README says a run beside the independent verifier passes only when the two agree Co-Authored-By: Claude Opus 5.5 --- .github/wai-conformance/README.md | 9 +- .../verifiers/access-services.sh | 5 +- .../verifiers/ad-presentation.sh | 5 +- .../verifiers/age-assurance.sh | 5 +- .github/wai-conformance/verifiers/ai-usage.sh | 7 +- .../wai-conformance/verifiers/avatar-face.sh | 5 +- .../verifiers/bearer-receipts.sh | 7 +- .../wai-conformance/verifiers/browser-sink.sh | 5 +- .../wai-conformance/verifiers/capture-take.sh | 5 +- .github/wai-conformance/verifiers/carousel.sh | 7 +- .../verifiers/catalogue-prior.sh | 2 +- .../verifiers/channel-lineup.sh | 5 +- .../verifiers/claims-jwp-signers.sh | 17 +- .../wai-conformance/verifiers/cmsd-read.sh | 2 +- .../verifiers/co-performance.sh | 5 +- .github/wai-conformance/verifiers/co-watch.sh | 5 +- .../verifiers/conformance-results.sh | 9 +- .../wai-conformance/verifiers/contribution.sh | 5 +- .../verifiers/cue-injection-ertmp.sh | 5 +- .../wai-conformance/verifiers/delivery-sim.sh | 2 +- .../verifiers/deriving-edge.sh | 5 +- .../verifiers/determinism-cost.sh | 17 +- .../wai-conformance/verifiers/direction.sh | 5 +- .github/wai-conformance/verifiers/e2ee.sh | 2 +- .../verifiers/energy-steering.sh | 5 +- .../wai-conformance/verifiers/exact-splats.sh | 5 +- .../verifiers/exact-tonemap.sh | 5 +- .../verifiers/exact-upscale.sh | 5 +- .../wai-conformance/verifiers/exploration.sh | 5 +- .github/wai-conformance/verifiers/fleet.sh | 5 +- .../verifiers/forensic-watermark.sh | 5 +- .github/wai-conformance/verifiers/holdings.sh | 5 +- .github/wai-conformance/verifiers/http.sh | 2 +- .../verifiers/hybrid-signatures.sh | 5 +- .../wai-conformance/verifiers/influence.sh | 5 +- .../wai-conformance/verifiers/int-payload.sh | 2 +- .../wai-conformance/verifiers/key-release.sh | 5 +- .github/wai-conformance/verifiers/live-ads.sh | 5 +- .../wai-conformance/verifiers/live-compose.sh | 5 +- .../verifiers/live-contribution.sh | 3 +- .../wai-conformance/verifiers/live-events.sh | 5 +- .../verifiers/live-messaging.sh | 5 +- .../verifiers/live-metering.sh | 9 +- .../verifiers/live-moderation.sh | 5 +- .../verifiers/live-provenance.sh | 5 +- .../verifiers/live-recording.sh | 5 +- .../wai-conformance/verifiers/live-rooms.sh | 12 +- .../wai-conformance/verifiers/live-worlds.sh | 5 +- .github/wai-conformance/verifiers/loc.sh | 2 +- .../verifiers/media-identification.sh | 5 +- .../wai-conformance/verifiers/native-sink.sh | 5 +- .github/wai-conformance/verifiers/oer.sh | 11 + .../verifiers/opportunity-report.sh | 5 +- .github/wai-conformance/verifiers/pin.sh | 8 + .../verifiers/platform-encode.sh | 5 +- .../wai-conformance/verifiers/prior-forms.sh | 5 +- .../verifiers/qoe-aggregation.sh | 5 +- .../verifiers/quantum-referee.sh | 3 +- .../verifiers/receipt-ledger.sh | 8 +- .../verifiers/remote-desktop.sh | 5 +- .../verifiers/revenue-share.sh | 5 +- .../wai-conformance/verifiers/robustness.sh | 5 +- .../wai-conformance/verifiers/route-record.sh | 5 +- .../verifiers/scene-carriage.sh | 5 +- .../wai-conformance/verifiers/settlement.sh | 5 +- .../wai-conformance/verifiers/sink-energy.sh | 5 +- .../verifiers/staged-measure.sh | 2 +- .github/wai-conformance/verifiers/staged.sh | 2 +- .../verifiers/stitched-presentation.sh | 5 +- .../wai-conformance/verifiers/stream-audit.sh | 5 +- .../verifiers/stream-termination.sh | 5 +- .../verifiers/synthesis-mark.sh | 5 +- .../wai-conformance/verifiers/synthesis.sh | 5 +- .github/wai-conformance/verifiers/takedown.sh | 5 +- .../wai-conformance/verifiers/timed-text.sh | 5 +- .github/workflows/repo-checks.yml | 10 + .github/workflows/wai-breaking.yml | 16 +- .github/workflows/wai-conformance.yml | 57 +- .github/workflows/wai-release.yml | 64 +- scripts/check-wai-ops-doors-selftest.sh | 36 +- scripts/check-wai-ops-doors.py | 47 +- .../check-wai-release-quickstart-selftest.sh | 151 ++++ scripts/check-wai-release-quickstart.py | 258 ++++++ scripts/wai-conformance-lists-selftest.sh | 15 + scripts/wai-conformance-lists.py | 148 +++- wai/CONTRIBUTING.md | 10 +- wai/README.md | 12 +- wai/catalogue/README.md | 10 +- wai/catalogue/ops.json | 106 ++- ...pendent-verifiers-table-from-step-files.md | 21 + ...lease-runs-quickstart-from-each-archive.md | 12 + ...-04-wai-conform-reports-ci-system-reads.md | 35 + ...026-11-04-wai-doctor-which-wai-runs-you.md | 14 + wai/quickstart/README.md | 5 +- wai/quickstart/test/clean-machine.ps1 | 107 +++ wai/quickstart/test/clean-machine.sh | 3 +- wai/wai-rs/build.rs | 32 + wai/wai-rs/src/bin/wai_cli/dx/conform/mod.rs | 657 ++++++++++++-- .../src/bin/wai_cli/dx/conform/report.rs | 264 ++++++ .../src/bin/wai_cli/dx/conform/suites.rs | 69 +- wai/wai-rs/src/bin/wai_cli/dx/dev.rs | 12 +- wai/wai-rs/src/bin/wai_cli/dx/doctor.rs | 815 ++++++++++++++++++ wai/wai-rs/src/bin/wai_cli/dx/independent.rs | 625 ++++++++++++++ .../src/bin/wai_cli/dx/independent_table.rs | 211 +++++ wai/wai-rs/src/bin/wai_cli/dx/mod.rs | 11 +- wai/wai-rs/src/bin/wai_cli/mcp/tools.rs | 158 ++-- wai/wai-rs/src/catalogue.rs | 50 +- wai/wai-rs/tests/cli_conform.rs | 306 ++++++- wai/wai-rs/tests/cli_doctor.rs | 152 ++++ wai/wai-rs/tests/cli_mcp.rs | 34 +- wai/wai-studio/src/actions.generated.js | 7 +- 111 files changed, 4510 insertions(+), 435 deletions(-) create mode 100644 .github/wai-conformance/verifiers/oer.sh create mode 100644 .github/wai-conformance/verifiers/pin.sh create mode 100755 scripts/check-wai-release-quickstart-selftest.sh create mode 100755 scripts/check-wai-release-quickstart.py create mode 100644 wai/changes/2026-11-04-independent-verifiers-table-from-step-files.md create mode 100644 wai/changes/2026-11-04-release-runs-quickstart-from-each-archive.md create mode 100644 wai/changes/2026-11-04-wai-conform-reports-ci-system-reads.md create mode 100644 wai/changes/2026-11-04-wai-doctor-which-wai-runs-you.md create mode 100644 wai/quickstart/test/clean-machine.ps1 create mode 100644 wai/wai-rs/src/bin/wai_cli/dx/conform/report.rs create mode 100644 wai/wai-rs/src/bin/wai_cli/dx/doctor.rs create mode 100644 wai/wai-rs/src/bin/wai_cli/dx/independent.rs create mode 100644 wai/wai-rs/src/bin/wai_cli/dx/independent_table.rs create mode 100644 wai/wai-rs/tests/cli_doctor.rs diff --git a/.github/wai-conformance/README.md b/.github/wai-conformance/README.md index df6975db0..bf2fb678c 100644 --- a/.github/wai-conformance/README.md +++ b/.github/wai-conformance/README.md @@ -16,8 +16,13 @@ a file, or a line to a file of its own, and edits no line of the workflow, unles run in ascending order, a tie by file name), `features:` (each list compiles alone in `features-alone`, and every feature joins `WAI_FEATURES`), and where it needs them `alone:`, `build: pq`, `release-features:`, `bins:`, `pq-bins:`, `paths:` (the extension texts it - reads, which the workflow's gate then runs on) and `working-directory:`. Prose comments - follow the header, after a `#` line. + reads, which the workflow's gate then runs on) and `working-directory:`. Its corpus's + independent verifier is an `independent:` line, ` [needs=] + [verdicts=] [dir=] python3 [-I]