open-standards/aac/aac-rs/tools
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 48eaa9a587 ci: every Python install pinned by SHA-256; verifiers run with -I
Six workflow steps installed whatever PyPI served that day: cryptography
(wai-conformance, wai-http twice, wai-web-wasm), the RDF tools' dependencies
(wai-conformance), PyYAML (standards-build, aac-rs), the ML stack of
wai-neural-e2e, and pip itself (wai-neural-e2e, wai-sota-vectors). A
compromised release would have run on the runners. Each now installs a
hashed requirements file with --require-hashes, the way wai-pack.yml
already does:

- cryptography: wai/pack-conformance/requirements-verify.txt (the same file);
- RDF tools: wai/vocab/requirements-shapes.txt, from requirements-shapes.in;
- PyYAML: aac/aac-rs/tools/pagesets/requirements-ci.txt, from requirements-ci.in;
- wai-neural-e2e: wai/tools/requirements-neural-e2e.txt, from
  requirements-neural-e2e.in;
- wai-sota-vectors: wai/tools/requirements-sota-int-hashes.txt, from
  requirements-sota-int.txt.

Each generated file's header holds the uv command that regenerates it. The
two ML locks take torch and torchvision from the CPU wheel index through
wai/tools/torch-cpu-overrides.txt (2.14.0+cpu on Linux, 2.14.0 on macOS),
with no CUDA packages. The new lock files are added to the path filters of
the workflows that install them.

pillow goes from 12.3.0 to 13.0.0 in requirements-sota-int.txt: 12.x has
heap overflows in the TIFF writer and the JPEG decoder and an argument
injection into Ghostscript (GHSA-332p-7hrc-92wf, GHSA-8g5g-8vmr-9782,
GHSA-w889-685w-c8fh); 13.0.0 is the first fixed release.

The 26 verifier and differential calls that ran without -I now run with it,
so neither the working directory nor PYTHON* variables can put a module in
front of the standard library: pin, int_payload, staged, http (4), measure,
sim, sim_diff, claim, differential, jwp, chain and chain-gap differentials,
signer (2), check_shapes, smart-byte verify_v1, pack_verify and the five pack
differentials (7). Each script already puts its own directory on sys.path.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-22 13:56:02 -04:00
..
ae aac: the reference app is the AAC Reference App, no longer "Express" 2026-10-10 22:42:12 -04:00
ai aac: the reference app is the AAC Reference App, no longer "Express" 2026-10-10 22:42:12 -04:00
asr aac: the reference app is the AAC Reference App, no longer "Express" 2026-10-10 22:42:12 -04:00
finder WIP(aac): a form by its likeliest word only; a board noun is itself but where a verb is; ties by particles; する verbs; two words lead nowhere 2026-10-15 01:17:53 -04:00
keyboard fix(aac-core, aac-web): the keyboard review — letter names by ear, standard layouts, keys that keep their size 2026-10-05 02:18:26 -04:00
lang aac: the reference app is the AAC Reference App, no longer "Express" 2026-10-10 22:42:12 -04:00
pagesets ci: every Python install pinned by SHA-256; verifiers run with -I 2026-10-22 13:56:02 -04:00
speech feat(aac-web): a symbol in every cell; OBF with licences and languages; 45-language spoken forms 2026-09-30 01:47:08 -04:00
symbols check-no-nc.mjs: a file named for a set is caught in every folder 2026-10-15 09:08:06 -04:00
voices aac: the reference app is the AAC Reference App, no longer "Express" 2026-10-10 22:42:12 -04:00