open-standards/scripts
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science d0c3464eb0 wai doctor: whether this machine can run the toolchain, one check to a line
wai doctor (toolchain.doctor, also the tool toolchain_doctor of wai mcp)
prints one line per check, each pass, FAIL with its fix, not checked with
the reason, or n/a. With --json, the envelope carries each check's state and
facts, and a result: passed, failed, or passed-with-not-checked. A check that
could not be run is never a pass. It exits 1 when a check failed, as the
exit-code table says, and 0 otherwise.

It looks at this wai's version and path, and at whether wai at a prompt
reaches it: each wai earlier on PATH is asked --version --json, and one
that does not answer as WAI's does, or that hangs, is a finding. One reached
through a relative entry of PATH is named and not run. It finds the relay
and the room service as wai dev finds them, and checks that each is of this
wai's toolchain. It also finds the room client's files and Studio's. Each row
of the quickstart README's port table, compiled in, is checked: free, or
held by what the system will name to this account. On Linux that comes
from /proc, on macOS from lsof, and on Windows from the system's own socket
tables. It finds browsers for Studio and for the harnesses, and starts none.
It reports where wai key keeps keys, and whether the directory and each file
are this account's alone: by mode and owner on Unix, by SID through
win_acl.rs on Windows, with the command that fixes each. A seed is never
opened. On macOS it asks the keychain tool for its search list alone, and
whether the login keychain is unlocked always reads not checked, since
asking can raise a prompt.

Nothing is sent and nothing is written. Each program asked has 3 s and is
then stopped with its process group. Each group of checks runs on its own
thread, and the run ends at 6 s: what has not finished by then reads as not
checked.

wai-relay and wai-room gain --version [--json], naming their own version
and the toolchain they belong to (wai-rs's version in the tree they were
built from), which is what wai doctor reads. build.sh runs both before it
packs them.

doctor joins the closed verb list (catalogue, door check). The catalogue
export and Studio's generated actions are regenerated. tests/cli_doctor.rs
drives the real binary on a made-up machine: its own PATH, home and temp
directory, with wai hard-linked into a bin of its own. It is added to the
conformance workflow's quickstart step, and wai/quickstart/README.md to that
workflow's paths.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-06 17:24:16 -05:00
..
changelog-assemble.py Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
changelog-fragments-selftest.sh Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
check-advisories-selftest.sh sec: answer the gate's first catch — two constant-time advisories, and pin an allowance to the version it excuses 2026-10-24 20:06:05 -04:00
check-advisories.py sec: RUSTSEC-2026-0429, a zip archive that aborts the process on extract 2026-11-02 06:31:12 -05:00
check-changelog-fragment.py Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
check-comparative-prose.sh Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
check-fabric-errors.py jouleclaw-omni: metal compiles — 45 -> 0, write the 21 missing kernels 2026-10-20 04:33:42 -04:00
check-lockfiles-selftest.sh scripts: no pipe into grep -q under pipefail 2026-10-15 01:52:03 -04:00
check-lockfiles.sh joule-code: vendor wtransport 0.7.2 as published, patched in 2026-10-20 04:54:03 -04:00
check-metal-shaders.py check-metal-shaders: stop being coupled to raw-string style, and refuse to check almost nothing 2026-10-20 08:52:06 -04:00
check-no-vanity-metrics.sh Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
check-orphan-sources.py jouleclaw-omni: declare 23 modules that were compiled by nothing 2026-10-18 07:19:24 -04:00
check-public-names.sh check-public-names: the maintainers' product names are checked on every pull request 2026-11-04 12:28:47 -05:00
check-spec-refs-selftest.sh ci: a citation to a section that does not exist is now a failure 2026-10-13 03:07:23 -04:00
check-spec-refs.py ci: a citation to a section that does not exist is now a failure 2026-10-13 03:07:23 -04:00
check-tests-in-ci-selftest.sh Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
check-tests-in-ci.py Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
check-wai-corpus-licences-selftest.sh wai/neural-corpus-licence, converted to the layout of the fix: no shared append point 2026-11-05 01:45:34 -05:00
check-wai-corpus-licences.py wai/neural-corpus-licence, converted to the layout of the fix: no shared append point 2026-11-05 01:45:34 -05:00
check-wai-ops-doors-selftest.sh wai/toolchain-fixes, converted to the layout of the fix: no shared append point 2026-11-05 01:45:34 -05:00
check-wai-ops-doors.py wai doctor: whether this machine can run the toolchain, one check to a line 2026-11-06 17:24:16 -05:00
check-wai-quantum-names-selftest.sh wai: every wai.quantum string is registered, listed with what it names, or a schema's name 2026-11-06 17:05:39 -05:00
check-wai-quantum-names.py wai: every wai.quantum string is registered, listed with what it names, or a schema's name 2026-11-06 17:05:39 -05:00
check-wai-section-refs.py check-wai-section-refs: read wai/SECURITY.md too 2026-10-09 17:15:06 -04:00
check-wasmtime-pin-selftest.sh CI: a check holds every workflow to the one pinned wasmtime and both its settings 2026-11-04 12:28:47 -05:00
check-wasmtime-pin.py CI: a check holds every workflow to the one pinned wasmtime and both its settings 2026-11-04 12:28:47 -05:00
check-workflow-concurrency-selftest.sh ci: one job for the repository's script checks 2026-10-14 12:05:46 -04:00
check-workflow-concurrency.sh ci: guard the concurrency groups, and stop the dev Mac serving 13 of 21 contexts 2026-10-05 12:18:21 -04:00
install-hooks.sh ci: no-vanity-metrics scanner + pre-commit hook + CHARTER policy 2026-06-02 10:39:43 -04:00
pr-touches-paths-selftest.sh Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
pr-touches-paths.py Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
standards-touched-selftest.sh scripts: no pipe into grep -q under pipefail 2026-10-15 01:52:03 -04:00
standards-touched.py ci: the standards build builds the workspaces a change touches 2026-10-14 03:40:08 -04:00
test-public-text-checks.sh check-public-names: the maintainers' product names are checked on every pull request 2026-11-04 12:28:47 -05:00
wai-conformance-lists-selftest.sh Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
wai-conformance-lists.py Changelog entries and the conformance workflow's lists move into files a change adds 2026-11-05 01:41:29 -05:00
wai-quantum-webgpu-member.sh wai-quantum fabric: run meters, metered calibration, place_for, and the Fabric wrapper 2026-10-12 05:08:11 -04:00