open-standards/wai/wai-web/demo/verify_int_hyper.sh
Transaction Science fb103ac5ae wai: one registry table, candidate capabilities, public-text checks
Every registered string now lives in one table (codecs/registry.rs) with
its kind, status, media class, registering SPEC section, edition and
registration date. `wai registry export` writes registry/capabilities.json,
its JSON Schema, the generated table in REGISTRY.md and vocab v2; --check
fails on drift. vocab v1 stays stable.

A candidate capability (a registered string whose payload format no
revision has pinned) must not be emitted. The C packers, the browser
writers and `wai wrap` refuse one, and `codecs::is_dispatchable` is the
single dispatch and selection predicate (SPEC §4): candidates,
companion-only capabilities, records and derivations are not
dispatchable, and an unregistered string is decoded only where the sink
advertises it.

The codec glossary is linked to the registry through a reviewed table and
held to its schema by a library test; `org` becomes `body`, from a closed
allowlist. The SPEC gains §5 sections on kinds and candidates, a §8
edition rule, corrected citations and rewritten appendices. The
quantum-ops vectors are regenerated with neutral device ids.

CI declares the feature-gated test targets with required-features, checks
the registry export, builds wai-web for wasm32, and runs two public-text
checks (comparative prose, and private name patterns) with a self-test.
The specification, extensions, research notes, READMEs, glossary and
source comments are rewritten to name no company or product and to make
no comparisons.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-09-30 22:38:09 -04:00

12 lines
737 B
Shell
Executable file

#!/usr/bin/env bash
# Reproducible proof that the wasm32 FULL conditional-codec decode is byte-
# identical to the native reference. Builds the nodejs-target pkg and runs the
# check against the export-tool artifacts (default /tmp/sota_int).
# from wai-web/: ./demo/verify_int_hyper.sh [model-dir]
set -euo pipefail
cd "$(dirname "$0")/.." # wai-web/
command -v wasm-pack >/dev/null || { echo "needs wasm-pack"; exit 1; }
command -v node >/dev/null || { echo "needs node"; exit 1; }
# Build output is not discarded: a failed build must show why.
wasm-pack build --release --target nodejs --out-dir demo/pkg-node --out-name wai_web
node demo/verify_int_hyper_wasm.mjs ./pkg-node/wai_web.js "${1:-${WAI_SOTA_INT_DIR:-/tmp/sota_int}}"