# step: faces from keypoints · wai-rs and avatar_face_verify.py # order: 350 # features: avatar_face # release-features: avatar_face # paths: wai/extensions/avatars.md # independent: avatar-face live python3 -I live-conformance/avatar_face_verify.py live-conformance/avatar-face # # wai.avatar.face (extensions/avatars.md §6 to §13): the module's unit tests (the # generator's wai-ops/1 graph against §7.6's arithmetic written out loop by loop; the warp # at rest is the reference; the mask's table; the files read and refused in their order), # and tests/avatar_face.rs (the committed corpus regenerates byte for byte from its fixed # seeds and its pinned inputs, and no other file is there; wai-rs gives every form, frame # and case what it states; §10 lists exactly the reference's codes; §7.9's figures are # training.json's; the registered generator meets acc64 and not acc32); and, in the step # of every independent verifier above, the corpus's # second implementation, avatar_face_verify.py, written from the extension's text and # sharing no code with wai-rs, which runs the driver and the generator's arithmetic in # Python's integers, verifies the claims, the log and the label policy with # synthesis_verify.py, and requires every mutated copy of the corpus to fail; standard # library only, run isolated (-I). # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/avatars.md: tests/avatar_face.rs requires this extension's §10 to list the codes # the reference reports and its §7.9 to state the training report's figures, # avatar_face_verify.py reads §10, and the registry's tests read SPEC §5's registration of # wai.avatar.face. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib avatar_face::) (cd wai-rs && cargo test --release --no-default-features --features "$WAI_RELEASE_FEATURES" --test avatar_face)