open-standards/.github/wai-conformance/verifiers/sink-energy.sh
Transaction Science 417847daab wai conform prints JUnit and HTML reports, runs the independent verifiers beside an implementation or alone, and is the corpus union in one command
The change of wai/conform-output, on current main, without its wai doctor: main's doctor,
its tests, its catalogue entry, its MCP tool and its changelog entry stand as they are, and
this change's copies of them are gone, with the lines dev.rs held for them. wai/README.md,
which had no line for main's doctor, gains one in its first commands and `toolchain_doctor`
in the core tools.

- wai conform --format text|json|junit|html, reports made from the signed records.
- --independent beside a kind holds the corpus's independent verifier to the same cases;
  alone, it runs every corpus's verifier, a record each, from one table.
- wai-rs/build.rs reads that table from the `# independent:` lines of the step files
  (.github/wai-conformance/verifiers/), which take the verifiers' command lines out of the
  steps' bodies. scripts/wai-conformance-lists.py reads and checks the same lines.
- wai-conformance.yml runs the union as wai conform --independent --format junit.
- wai mcp's conformance tools read the table.
- wai-release.yml runs the quickstart from each archive as a new user runs it
  (clean-machine.sh, its PowerShell twin clean-machine.ps1), held by
  check-wai-release-quickstart.py. clean-machine.ps1 keeps clean-machine.sh's contents step
  and its check of WAI Studio. Each leg keeps main's archive_doctor.py check; the step's own
  wai hello, verify and dev --check are clean-machine.sh's now.
- check-wai-ops-doors.py reads VERBS and NEAR_SYNONYMS from catalogue.rs and keeps no list,
  and the verb-list test reads what that check reads.
- The catalogue's export and Studio's actions hold the new operations.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-07 10:56:00 -05:00

32 lines
2.3 KiB
Shell

# step: sink energy · wai-rs and sink_energy_verify.py
# order: 200
# features: sink_energy
# paths: wai/extensions/sink-energy.md
# independent: sink-energy live python3 -I live-conformance/sink_energy_verify.py live-conformance/sink-energy
#
# wai.sink.energy (extensions/sink-energy.md): the reference module's unit tests (a
# bracket summary is its intervals in integers, a round's figure and least declaration
# are energy-measurement §6.2's — checked against energy_report's reference — a round is
# refused by its first broken rule, a row seals its median and covers its spread, a
# segment's bounded window has no count term, the estimators and shares round half up,
# records sign and their identities cover the signature, §8 lists exactly the codes), the
# readers' unit tests (a counter is live only as a live rail advances, an advance crosses
# the wrap; on macOS, the per-process counter reads this process) and
# tests/sink_energy.rs (the committed corpus regenerates byte for byte from its fixed
# seeds, every case gets its stated outcome, every reason of §8 refuses a case, and every
# measured table under tables/ is accepted with its readings and procedure); and, in the
# step of every independent verifier above, the
# corpus's second implementation, sink_energy_verify.py, written from the extension's text
# and sharing no code with wai-rs, which recomputes every round, row, segment and split in
# integers and requires every mutated copy of the corpus to fail; standard library only,
# run isolated (-I). These are the integer checks; the counters themselves are read by
# energy-hardware.yml's sink jobs, on the runners that have them.
#
# The paths this step brings to the workflow's trigger, and why:
# wai/extensions/sink-energy.md: sink_energy's unit tests require this extension's §8 to list
# exactly the codes the reference reports, and sink_energy_verify.py reads that table.
set -euo pipefail
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib sink_energy::)
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --lib sink_meter::)
(cd wai-rs && cargo test --no-default-features --features "$WAI_FEATURES" --test sink_energy)
(cd wai-rs && "$RUNNER_TEMP/wai-bins/union/wai_sink_energy_vectors" verify ../live-conformance/sink-energy)