# step: remote desktop · wai-rs, remote_desktop_verify.py and the page's module # order: 590 # features: remote_desktop # paths: wai/extensions/remote-desktop.md # independent: remote-desktop live python3 -I live-conformance/remote_desktop_verify.py live-conformance/remote # # wai.live.remote (extensions/remote-desktop.md): the reference module's unit tests (every # statement read back and refused when a byte is short or over, the screen statement's # field rules, the host's rules of §5.3 in their order, the grant attributes, a latency's # legs, sealed actions: a seal with no plaintext in it that opens under the host's key # alone, the commitment and what it binds, a seal that does not fit its actions, rules 8 # and 9 after the others) and the crate's HPKE against RFC 9180 A.1.1; tests/remote_desktop.rs # (vectors.json regenerates byte for byte from its fixed seeds and no other file is there, # wai-rs gives every room its stated outcome at the commitment level and at the opened # level, and §12 lists exactly the reference's codes, host refusals, floor refusals and # the reasons a seal is not opened, each of which the corpus gives); # and, in the step of every independent verifier above, the corpus's second implementation, # remote_desktop_verify.py, written from the # extension's text and sharing no code with wai-rs, which verifies each room with # live_rooms_verify.py, every signature with WAI's strict Ed25519 rule and every seal with # the aggregation verifier's HPKE, recomputes every outcome from the rules, the floor and # every latency's legs at both levels, requires every mutated copy of the corpus to fail and # drops each of its own checks in turn and requires the corpus to catch the weakened # verifier; standard library only, run isolated (-I). Last, the browser viewer's module # (joule-moq-web/web/room/remote.js), which writes the corpus's input statements, floor # statements and latency records byte for byte, seals every sealed input that opens again # byte for byte, and gives every input the outcome the corpus states. # # The paths this step brings to the workflow's trigger, and why: # wai/extensions/remote-desktop.md: tests/remote_desktop.rs requires this extension's §12 to list # the codes the reference reports, remote_desktop_verify.py reads its four 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 -- remote_desktop:: hpke::) (cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test remote_desktop) node --test ../joule-code/joule-code-rs/crates/joule-moq-web/web/room/remote.test.mjs