# step: live moderation · wai-rs and live_moderation_verify.py # order: 210 # features: live_moderation # paths: wai/extensions/live-moderation.md # independent: live-moderation live python3 -I live-conformance/live_moderation_verify.py live-conformance/moderation # # wai.live.moderation (extensions/live-moderation.md): the reference module's unit tests # (policies, statements and notices round-trip and their rules refuse, the export's # strings and dates, the content types, the states that show an item) and # tests/live_moderation.rs (every file of the committed corpus, vectors.json and each # statement-of-reasons export, regenerates byte for byte from its fixed seeds and no # other file is there, wai-rs gives every room, export and clip its stated outcome, and # §10 lists exactly the reference's codes, each of which the corpus gives); and, in the # step of every independent verifier above, the # corpus's second implementation, live_moderation_verify.py, written from the # extension's text and sharing no code with wai-rs, which verifies each room with # live_rooms_verify.py and each clip with live_record_verify.py, writes every export # byte for byte, reads the extension's category, content-type and reason tables, 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/live-moderation.md: tests/live_moderation.rs requires this extension's §10 to # list the codes the reference reports, live_moderation_verify.py reads its §9.5, §9.6 and §10 # tables, and the registry's wire identifiers test reads its sections. set -euo pipefail (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib live_moderation::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test live_moderation)