DET1: what exactness costs int_hyper, measured on the reference set, and what WAI claims from it (determinism-tiers §7) #453

Closed
dcharlot wants to merge 0 commits from wai/determinism-cost into main
Owner

DET1: what exactness costs wai.neural.int_hyper, measured against the float model it is exported from, and a section of determinism-tiers saying what WAI claims from that measurement.

What is in it

  • The record: wai/research/determinism-cost/record.json (raw readings and their summary) and its procedure, wai/research/determinism-cost.md.
    • The float codec: the pretrained mbt2018_mean (MSE) at all eight published qualities, each checkpoint pinned by SHA-256, coded and decoded by its own library.
    • The integer codec: the same checkpoints exported per quality the way tools/wai_sota_int_synth_export.py exports quality 6, coded as WIH1 and decoded through int_payload::decode_int.
    • The pictures: the pinned reference manifest's 24 self-test PNGs (768×512), each checked against the manifest's SHA-256 and named in the record by its digest.
  • The spec section: determinism-tiers §7. §7.1 (informative) quotes the record. §7.2 says what WAI claims and does not, and makes three rules normative: a record figure never stated beyond what the record names; a receipt never taking its energy from the record; a cost figure in the spec naming its measurement.
  • Tools:
    • tools/wai_determinism_cost.py: selection, pinned export, both codecs, float decode on any device, distortion, BD-rate, the record.
    • tools/wai_det_energy.py: a decoder child timed in rounds, with its counters read around them.
    • wai-rs bin wai_det_cost (feature neural_int, ops_gpu for a GPU), with tests/det_cost_bin.rs.
    • tools/wai_determinism_cost_verify.py: the independent verifier.
  • CI: one step in wai-conformance.yml's independent-verifiers job. It runs the verifier over the record and both texts, then the bin's test. The workflow's paths: gain the record, the research page, the verifier and determinism-tiers.
  • SPEC §5's wai.neural.int_hyper row points to §7. CHANGELOG entry.

What was measured (2026-10-22; every figure is in the record, and the texts quote it under the verifier's markers)

Rate at equal quality. Over 24 pictures and 8 qualities, the integer codec needs more rate than the float codec at equal quality:

quality metric median range by picture
PSNR +1.61 % +0.56 % to +2.97 %
MS-SSIM +0.95 % +0.52 % to +2.45 %
  • At each quality the two rates are within 0.06 % of each other (median ratio 1.0000–1.0006). The cost is distortion.
  • The median ΔPSNR runs from −0.005 dB at quality 1 to −0.174 dB at quality 6 and −0.942 dB at quality 8.

The integer decode across platforms. 0 of 1,728 decodes on 9 platforms differed from the build host's CPU decode, and none was refused. The platforms:

  • the arm64 build host: CPU on all cores and on one, and its GPU (Metal);
  • wasm32-wasip2 under wasmtime, on arm64 and on x86_64;
  • x86_64 host A: CPU, and its integrated GPU (Vulkan, PCI 0x1002);
  • x86_64 host B: CPU, and its discrete GPU (Vulkan, PCI 0x10de).

The float decode across platforms.

  • Decoded again in a fresh process on the encoder's own CPU (1 thread, and the library default of 24), every one of the 192 decodes was identical.
  • Everywhere else, every decode differed. The entropy decode itself diverged in most of them:
platform diverged in the entropy decode (of 192) median PSNR change where it did
the build host's GPU 184 −17.36 dB
host A's CPU (16 threads) 183 −17.43 dB
host A's CPU (1 thread) 182 −17.35 dB
host B's CPU 76 −17.58 dB
host B's GPU 192 −19.70 dB

The entropy tables were the same on every platform.

Time and energy. On host A, the integer decode took longer and drew more package energy than the float decode, at both qualities. All 7 rounds of every run were live and clean, so every figure is publishable by energy-measurement §4. Medians per decode:

quality integer, CPU float, CPU integer, graphs on the iGPU
2 347.3 ms, 42.4 J 123.9 ms, 9.1 J 378.5 ms, 41.9 J
6 729.6 ms, 92.5 J 191.5 ms, 13.7 J 845.4 ms, 93.5 J

On the build host (load average 37–199), the per-task CPU energy per decode was:

quality integer float
2 4.62 J 0.69 J
6 10.53 J 1.17 J

The research page says why the float figure may be a lower bound there. No build-host GPU-rail round met the liveness or sole-user rule, so none is used.

Design decisions

  • The float reference is the model's own library codec. That means its compress/decompress, at its own rate. It is not WAI's float capability wai.neural.mbt2018_mean, which decodes through an ONNX runtime. So the BD-rate is the cost of the whole integer codec at equal quality, its integer scales and means included, against the model as published.
  • The integer encoder is the export tool's, vectorised. Two checks tie it to what CI already holds:
    • this procedure's quality-6 set (g_s.whm, h_s.whm, entropy.json) is byte for byte the set wai_sota_int_synth_export.py writes, both run on the build host;
    • on the export tool's pinned photograph, its integer hyper-decoder output and both rANS streams are byte for byte the export tool's.
  • Rate is the entropy-coded bytes for both codecs. The WIH1 header (40 bytes) is not counted. The record keeps every payload's size, and the verifier checks the 40-byte relation.
  • BD-rate: ITU-T VCEG-M33 over all eight qualities.
    • The tool interpolates log-rate with a monotone piecewise-cubic Hermite and integrates each segment exactly.
    • The verifier has its own Hermite and integrates by Simpson's rule.
    • MS-SSIM is implemented in the tool with its parameters stated, and enters BD-rate as −10·log₁₀(1 − MS-SSIM).
  • Pictures are named by the SHA-256 of their file. The manifest's paths carry personal names (one source set's file names), so no path is committed. The selection is a rule over the pinned manifest.
  • A float divergence is placed, not just counted. Each float decode keeps the SHA-256 of its decoded table indexes and symbols, so a difference shows as either in the entropy decode or after it.
    • A fresh decode on the encoder's own CPU (one thread, and the library's default of 24) gave the encoder's bytes 192 of 192 times. That rules out the tool as the source of the differences elsewhere.
    • The entropy tables were the same on every platform (their SHA-256 is recorded per platform).
  • Energy.
    • The per-task count is used on macOS: ri_energy_nj, task scope, CPU only, read once the child's CPU time has settled. IOReport's GPU rail counts only for a round in which the decoder held at least 99% of the GPU time the I/O Registry reports for all clients.
    • Linux uses powercap package-0, bracketed by 5 s idle windows, with energy-measurement §4's ratio and verdicts.
    • Seven rounds, eight pictures per round, quality 2 and quality 6. The median and the range are stated, never one run.
    • Nothing is sealed in a receipt, and §7.2 forbids a receipt from taking its figure from the record.
  • Every quoted figure is machine-checked. Each number the two texts take from the record is followed by <!--det:PATH-->, and the verifier requires it to equal the record's value at PATH, rounded as printed. A figure that is not in the record cannot pass.
  • JPEG AI is not measured. The exact decoder implements one configuration, so each picture has one rate point and no curve. Coding the reference set needs the standard's reference encoder, which was not run. §7 says so.

Checks

All through rb on the build host unless marked local.

check command result
the CI step, as the workflow runs it python3 -I tools/wai_determinism_cost_verify.py research/determinism-cost/record.json research/determinism-cost.md extensions/determinism-tiers.md, then cargo test --locked --no-default-features --features neural_int --test det_cost_bin ok: … 316 quoted figure(s) match; 2 passed
the same under Python 3.11 (the workflow's) python3.11 -I tools/wai_determinism_cost_verify.py …, py_compile of the two tools ok
release profile cargo test --locked --release --no-default-features --features neural_int --test det_cost_bin 2 passed
clippy cargo clippy --locked --release --no-default-features --features neural_int and neural_int,ops_gpu, on --bin wai_det_cost --test det_cost_bin 0 notes in this change's files (the lib's existing notes unchanged)
wasm32 cargo build --locked --release --no-default-features --features neural_int --target wasm32-wasip2 --bin wai_det_cost builds, no note in the bin; the same binary decoded 192 payloads on two hosts
registry, after the SPEC §5 edit cargo test --locked --lib --no-default-features --features neural_int codecs::registry::; cargo run -q --locked --no-default-features --bin wai -- registry export --check 14 passed; up to date
lockfile cargo metadata --locked --offline --format-version 1 (no dependency added) ok
verifier agreement with the tool the verifier's recomputation against the record's summary worst relative difference 5.6e-14
repo checks (local) check-tests-in-ci.py, check-workflow-concurrency.sh, check-spec-refs.py, check-wai-section-refs.py, check-no-vanity-metrics.sh, test-public-text-checks.sh, check-comparative-prose.sh, check-orphan-sources.py all 0
workflows (local) ruby -ryaml over .github/workflows/*.yml; wfsteps.py HEAD origin/main HEAD (no merge in the branch) parse; 0 problems
path gate (local) scripts/pr-touches-paths.py .github/workflows/wai-conformance.yml origin/main HEAD true
public names (local) check-public-names.sh on every changed file, on the commit messages and on this body clean
other text readers pin-conformance/pin_verify.py (reads SPEC §5 facts) 45 of 45

Falsifications

Committed state first, each restored after.

  • The verifier against the record and the texts (falsify_verifier): 12 mutations, each exit 1, the original exit 0.
    • Record readings:
      • one picture's integer SSE +1;
      • one float stream one byte longer;
      • one MS-SSIM −1e-4;
      • one integer decode's hash on one platform;
      • one float decode's symbols hash;
      • a round's decode count doubled;
      • a payload size not its streams plus 40;
      • a picture dropped;
      • a timing verdict its ratio does not give.
    • The texts:
      • a quoted BD-rate median changed in determinism-tiers;
      • a marker detached from its number;
      • a marker naming no value.
    • Found by falsifying. The first run missed the +1 SSE: the verifier integrated by Simpson's rule at 1e-6 tolerance. It now integrates each knot interval exactly (two-point Gauss) at 1e-9, and catches it.
  • The verifier's own rules:
    • with the liveness rule removed, it disagrees with the record (exit 1: build-host GPU rounds counted);
    • with an upper median for an even count, exit 1;
    • one idle bracket made not live, exit 1.
  • tests/det_cost_bin.rs against edits of wai_det_cost, both profiles passing before and after:
    • output hashed one byte short;
    • a refusal reported under another code;
    • a timed round over-counting its decodes;
    • the payload decoded under another capability.
    • Found by falsifying. The refusal edit first survived, because the test compared a refusal line by prefix. It now compares the code exactly, and all four are caught.

Not done

  • wai.image.jpegai's exact decoder: not measured. It has one rate point per picture, and the reference encoder was not run on the set (above).
  • wai.neural.int_synth and int_mlicpp: no float model with a rate axis.
  • NPU: no decoder on main runs its graphs on one. The NPU tier is #440, still open. Nothing is claimed.
  • Linux arm64: not run. The arm64 legs here are macOS native and wasm32 under wasmtime on arm64.
  • Time and energy on host B were not taken: no RAPL or NVML runs. Its decodes are hashes only.
  • The build host's time and energy were taken under a load average of roughly 100–260 from other work. They are in the record with every round's load, and the texts quote only host A's.
    • Whether the macOS per-task count covers a matrix unit the float library may use is not established. The research page says so.
  • The encoder (float in both codecs) is not covered, and the tier does not claim it.
  • No forge run: this PR's runs were cancelled, as the brief asks. The CI step was run by hand (Checks).

🤖 Generated with Claude Code


Closed: Landed on main through merge train E (#499, merge bf39ec9a); verified by content: this PR's head is in main

DET1: what exactness costs `wai.neural.int_hyper`, measured against the float model it is exported from, and a section of determinism-tiers saying what WAI claims from that measurement. ## What is in it - **The record**: `wai/research/determinism-cost/record.json` (raw readings and their summary) and its procedure, `wai/research/determinism-cost.md`. - The float codec: the pretrained `mbt2018_mean` (MSE) at all eight published qualities, each checkpoint pinned by SHA-256, coded and decoded by its own library. - The integer codec: the same checkpoints exported per quality the way `tools/wai_sota_int_synth_export.py` exports quality 6, coded as `WIH1` and decoded through `int_payload::decode_int`. - The pictures: the pinned reference manifest's 24 self-test PNGs (768×512), each checked against the manifest's SHA-256 and named in the record by its digest. - **The spec section**: determinism-tiers §7. §7.1 (informative) quotes the record. §7.2 says what WAI claims and does not, and makes three rules normative: a record figure never stated beyond what the record names; a receipt never taking its energy from the record; a cost figure in the spec naming its measurement. - **Tools**: - `tools/wai_determinism_cost.py`: selection, pinned export, both codecs, float decode on any device, distortion, BD-rate, the record. - `tools/wai_det_energy.py`: a decoder child timed in rounds, with its counters read around them. - `wai-rs` bin `wai_det_cost` (feature `neural_int`, `ops_gpu` for a GPU), with `tests/det_cost_bin.rs`. - `tools/wai_determinism_cost_verify.py`: the independent verifier. - **CI**: one step in `wai-conformance.yml`'s independent-verifiers job. It runs the verifier over the record and both texts, then the bin's test. The workflow's `paths:` gain the record, the research page, the verifier and determinism-tiers. - SPEC §5's `wai.neural.int_hyper` row points to §7. CHANGELOG entry. ## What was measured (2026-10-22; every figure is in the record, and the texts quote it under the verifier's markers) **Rate at equal quality.** Over 24 pictures and 8 qualities, the integer codec needs more rate than the float codec at equal quality: | quality metric | median | range by picture | |---|---:|---:| | PSNR | +1.61 % | +0.56 % to +2.97 % | | MS-SSIM | +0.95 % | +0.52 % to +2.45 % | - At each quality the two rates are within 0.06 % of each other (median ratio 1.0000–1.0006). The cost is distortion. - The median ΔPSNR runs from −0.005 dB at quality 1 to −0.174 dB at quality 6 and −0.942 dB at quality 8. **The integer decode across platforms.** 0 of 1,728 decodes on 9 platforms differed from the build host's CPU decode, and none was refused. The platforms: - the arm64 build host: CPU on all cores and on one, and its GPU (Metal); - wasm32-wasip2 under wasmtime, on arm64 and on x86_64; - x86_64 host A: CPU, and its integrated GPU (Vulkan, PCI 0x1002); - x86_64 host B: CPU, and its discrete GPU (Vulkan, PCI 0x10de). **The float decode across platforms.** - Decoded again in a fresh process on the encoder's own CPU (1 thread, and the library default of 24), every one of the 192 decodes was identical. - Everywhere else, every decode differed. The entropy decode itself diverged in most of them: | platform | diverged in the entropy decode (of 192) | median PSNR change where it did | |---|---:|---:| | the build host's GPU | 184 | −17.36 dB | | host A's CPU (16 threads) | 183 | −17.43 dB | | host A's CPU (1 thread) | 182 | −17.35 dB | | host B's CPU | 76 | −17.58 dB | | host B's GPU | 192 | −19.70 dB | The entropy tables were the same on every platform. **Time and energy.** On host A, the integer decode took longer and drew more package energy than the float decode, at both qualities. All 7 rounds of every run were live and clean, so every figure is publishable by energy-measurement §4. Medians per decode: | quality | integer, CPU | float, CPU | integer, graphs on the iGPU | |---|---|---|---| | 2 | 347.3 ms, 42.4 J | 123.9 ms, 9.1 J | 378.5 ms, 41.9 J | | 6 | 729.6 ms, 92.5 J | 191.5 ms, 13.7 J | 845.4 ms, 93.5 J | On the build host (load average 37–199), the per-task CPU energy per decode was: | quality | integer | float | |---|---:|---:| | 2 | 4.62 J | 0.69 J | | 6 | 10.53 J | 1.17 J | The research page says why the float figure may be a lower bound there. No build-host GPU-rail round met the liveness or sole-user rule, so none is used. ## Design decisions - **The float reference is the model's own library codec.** That means its `compress`/`decompress`, at its own rate. It is not WAI's float capability `wai.neural.mbt2018_mean`, which decodes through an ONNX runtime. So the BD-rate is the cost of the whole integer codec at equal quality, its integer scales and means included, against the model as published. - **The integer encoder is the export tool's, vectorised.** Two checks tie it to what CI already holds: - this procedure's quality-6 set (`g_s.whm`, `h_s.whm`, `entropy.json`) is byte for byte the set `wai_sota_int_synth_export.py` writes, both run on the build host; - on the export tool's pinned photograph, its integer hyper-decoder output and both rANS streams are byte for byte the export tool's. - **Rate is the entropy-coded bytes for both codecs.** The `WIH1` header (40 bytes) is not counted. The record keeps every payload's size, and the verifier checks the 40-byte relation. - **BD-rate**: ITU-T VCEG-M33 over all eight qualities. - The tool interpolates log-rate with a monotone piecewise-cubic Hermite and integrates each segment exactly. - The verifier has its own Hermite and integrates by Simpson's rule. - MS-SSIM is implemented in the tool with its parameters stated, and enters BD-rate as −10·log₁₀(1 − MS-SSIM). - **Pictures are named by the SHA-256 of their file.** The manifest's paths carry personal names (one source set's file names), so no path is committed. The selection is a rule over the pinned manifest. - **A float divergence is placed, not just counted.** Each float decode keeps the SHA-256 of its decoded table indexes and symbols, so a difference shows as either in the entropy decode or after it. - A fresh decode on the encoder's own CPU (one thread, and the library's default of 24) gave the encoder's bytes 192 of 192 times. That rules out the tool as the source of the differences elsewhere. - The entropy tables were the same on every platform (their SHA-256 is recorded per platform). - **Energy.** - The per-task count is used on macOS: `ri_energy_nj`, task scope, CPU only, read once the child's CPU time has settled. IOReport's GPU rail counts only for a round in which the decoder held at least 99% of the GPU time the I/O Registry reports for all clients. - Linux uses powercap `package-0`, bracketed by 5 s idle windows, with energy-measurement §4's ratio and verdicts. - Seven rounds, eight pictures per round, quality 2 and quality 6. The median and the range are stated, never one run. - Nothing is sealed in a receipt, and §7.2 forbids a receipt from taking its figure from the record. - **Every quoted figure is machine-checked.** Each number the two texts take from the record is followed by `<!--det:PATH-->`, and the verifier requires it to equal the record's value at PATH, rounded as printed. A figure that is not in the record cannot pass. - **JPEG AI is not measured.** The exact decoder implements one configuration, so each picture has one rate point and no curve. Coding the reference set needs the standard's reference encoder, which was not run. §7 says so. ## Checks All through `rb` on the build host unless marked local. | check | command | result | |---|---|---| | the CI step, as the workflow runs it | `python3 -I tools/wai_determinism_cost_verify.py research/determinism-cost/record.json research/determinism-cost.md extensions/determinism-tiers.md`, then `cargo test --locked --no-default-features --features neural_int --test det_cost_bin` | `ok: … 316 quoted figure(s) match`; 2 passed | | the same under Python 3.11 (the workflow's) | `python3.11 -I tools/wai_determinism_cost_verify.py …`, `py_compile` of the two tools | ok | | release profile | `cargo test --locked --release --no-default-features --features neural_int --test det_cost_bin` | 2 passed | | clippy | `cargo clippy --locked --release --no-default-features --features neural_int` and `neural_int,ops_gpu`, on `--bin wai_det_cost --test det_cost_bin` | 0 notes in this change's files (the lib's existing notes unchanged) | | wasm32 | `cargo build --locked --release --no-default-features --features neural_int --target wasm32-wasip2 --bin wai_det_cost` | builds, no note in the bin; the same binary decoded 192 payloads on two hosts | | registry, after the SPEC §5 edit | `cargo test --locked --lib --no-default-features --features neural_int codecs::registry::`; `cargo run -q --locked --no-default-features --bin wai -- registry export --check` | 14 passed; up to date | | lockfile | `cargo metadata --locked --offline --format-version 1` (no dependency added) | ok | | verifier agreement with the tool | the verifier's recomputation against the record's summary | worst relative difference 5.6e-14 | | repo checks (local) | `check-tests-in-ci.py`, `check-workflow-concurrency.sh`, `check-spec-refs.py`, `check-wai-section-refs.py`, `check-no-vanity-metrics.sh`, `test-public-text-checks.sh`, `check-comparative-prose.sh`, `check-orphan-sources.py` | all 0 | | workflows (local) | `ruby -ryaml` over `.github/workflows/*.yml`; `wfsteps.py HEAD origin/main HEAD` (no merge in the branch) | parse; 0 problems | | path gate (local) | `scripts/pr-touches-paths.py .github/workflows/wai-conformance.yml origin/main HEAD` | true | | public names (local) | `check-public-names.sh` on every changed file, on the commit messages and on this body | clean | | other text readers | `pin-conformance/pin_verify.py` (reads SPEC §5 facts) | 45 of 45 | ## Falsifications Committed state first, each restored after. - **The verifier against the record and the texts** (`falsify_verifier`): 12 mutations, each exit 1, the original exit 0. - **Record readings:** - one picture's integer SSE +1; - one float stream one byte longer; - one MS-SSIM −1e-4; - one integer decode's hash on one platform; - one float decode's symbols hash; - a round's decode count doubled; - a payload size not its streams plus 40; - a picture dropped; - a timing verdict its ratio does not give. - **The texts:** - a quoted BD-rate median changed in determinism-tiers; - a marker detached from its number; - a marker naming no value. - **Found by falsifying.** The first run missed the +1 SSE: the verifier integrated by Simpson's rule at 1e-6 tolerance. It now integrates each knot interval exactly (two-point Gauss) at 1e-9, and catches it. - **The verifier's own rules:** - with the liveness rule removed, it disagrees with the record (exit 1: build-host GPU rounds counted); - with an upper median for an even count, exit 1; - one idle bracket made not live, exit 1. - **`tests/det_cost_bin.rs` against edits of `wai_det_cost`**, both profiles passing before and after: - output hashed one byte short; - a refusal reported under another code; - a timed round over-counting its decodes; - the payload decoded under another capability. - **Found by falsifying.** The refusal edit first survived, because the test compared a refusal line by prefix. It now compares the code exactly, and all four are caught. ## Not done - **`wai.image.jpegai`'s exact decoder**: not measured. It has one rate point per picture, and the reference encoder was not run on the set (above). - **`wai.neural.int_synth` and `int_mlicpp`**: no float model with a rate axis. - **NPU**: no decoder on main runs its graphs on one. The NPU tier is #440, still open. Nothing is claimed. - **Linux arm64**: not run. The arm64 legs here are macOS native and wasm32 under wasmtime on arm64. - **Time and energy on host B** were not taken: no RAPL or NVML runs. Its decodes are hashes only. - **The build host's time and energy** were taken under a load average of roughly 100–260 from other work. They are in the record with every round's load, and the texts quote only host A's. - Whether the macOS per-task count covers a matrix unit the float library may use is not established. The research page says so. - **The encoder** (float in both codecs) is not covered, and the tier does not claim it. - **No forge run**: this PR's runs were cancelled, as the brief asks. The CI step was run by hand (Checks). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --- **Closed:** Landed on main through merge train E (#499, merge bf39ec9a); verified by content: this PR's head is in main
wai_determinism_cost.py selects the pinned reference set's self-test
pictures, exports mbt2018_mean at all eight published qualities to integer
sets (each checkpoint pinned by SHA-256), codes every picture with both
codecs, decodes the float streams on any device, and computes distortion,
BD-rate and the record's summary. wai_det_energy.py times a decoder child
in rounds and reads its counters around them (per-task CPU energy and the
GPU rail on macOS, package energy on Linux), with idle brackets.
wai_det_cost (wai-rs bin, neural_int; ops_gpu for a GPU) decodes WIH1
payloads through int_payload::decode_int, and serves timed rounds.
wai_determinism_cost_verify.py recomputes the record's summary from its
readings and checks every figure the text quotes from it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The per-host scripts that took the readings (build host, two x86_64
hosts) go beside the record, with how each platform is tagged. The
summary gains the integer decodes' total across platforms and the PSNR
change of float decodes whose entropy decode diverged, in both the tool
and its independent verifier; per-decode energy is stated in joules.
wai_det_energy reads each accelerator client's GPU time per registry
node. The conformance workflow's independent-verifiers job checks the
record, the texts quoting it, and the decoder bin.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
research/determinism-cost.md and its record (record.json): mbt2018_mean at
all eight published qualities, integer export against the model's own
float codec, on the pinned reference set's 24 self-test pictures. BD-rate
by PSNR and MS-SSIM per picture; each codec's decodes repeated across nine
integer and seven float platforms and compared byte for byte, the float
ones placed in or after the entropy decode; decode time and energy with
counter, scope, idle brackets, liveness and ratio over seven rounds.

determinism-tiers §7.1 quotes the record, each figure tied to its place in
it by a marker the verifier checks; §7.2 says what WAI claims and does not,
and makes normative that a record figure is never stated beyond what the
record names, that no receipt takes its energy from it, and that a cost
figure in the spec names its measurement. SPEC §5's int_hyper row points
to §7. CHANGELOG entry.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
energy-measurement §3.1's liveness rule (two advances in a row, five or
more, four in five, over 300 ms) for the busy bracket and both idle
brackets, recomputed from the bracket facts the record keeps, as the tool
that writes the record applies it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Two-point Gauss-Legendre on each knot interval's share of the common
range is exact for the cubic the interpolant carries there, so the
verifier's BD-rates agree with the tool's analytic integral to float
precision, and a one-unit change in one picture's SSE no longer falls
inside the tolerance.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
det_cost_bin: a refusal line must carry its code exactly
Some checks failed
wai-pack / wai-pack · independent verifier (Python) (pull_request) Has been cancelled
wai-pack / wai-pack · the floor through a media prober (pull_request) Has been cancelled
wai-pack / wai-pack · dependency licences (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Has been cancelled
WAI energy receipts / does this change touch it (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Has been cancelled
WAI energy receipts / energy receipts · macos (pull_request) Has been cancelled
WAI conformance / does this change touch it (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · macos (pull_request) Has been cancelled
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · macos (pull_request) Has been cancelled
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
standards workspaces build + test / which workspaces this change touches (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
repository checks / lockfiles, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (pull_request) Has been cancelled
4863036d8a
The test compared a refusal line by prefix, so a decoder reporting
`bad_magicx` for `bad_magic` passed; found by falsifying it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
dcharlot closed this pull request 2026-10-26 20:57:47 -04:00
Some checks failed
wai-web wasm32 / does this change touch it (pull_request) Has been cancelled
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Has been cancelled
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Has been cancelled
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Has been cancelled
wai-quantum studio and desktop / does this change touch it (pull_request) Has been cancelled
wai-quantum studio and desktop / studio · browser (pull_request) Has been cancelled
wai-quantum studio and desktop / desktop app · macos (pull_request) Has been cancelled
wai-pack / wai-pack · does this change touch it (pull_request) Has been cancelled
wai-pack / wai-pack · linux (pull_request) Has been cancelled
wai-pack / wai-pack · linux-arm64 (pull_request) Has been cancelled
wai-pack / wai-pack · macos (pull_request) Has been cancelled
wai-pack / wai-pack · independent verifier (Python) (pull_request) Has been cancelled
wai-pack / wai-pack · the floor through a media prober (pull_request) Has been cancelled
wai-pack / wai-pack · dependency licences (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Has been cancelled
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Has been cancelled
WAI energy receipts / does this change touch it (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Has been cancelled
WAI energy receipts / energy receipts · macos (pull_request) Has been cancelled
WAI conformance / does this change touch it (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · macos (pull_request) Has been cancelled
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · macos (pull_request) Has been cancelled
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
standards workspaces build + test / which workspaces this change touches (pull_request) Has been cancelled
standards workspaces build + test / macOS energy backends (pull_request) Has been cancelled
repository checks / lockfiles, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Has been cancelled
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Has been cancelled
joule-moq-room room service / joule-moq-room, every target (pull_request) Has been cancelled

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Transaction-Science/open-standards!453
No description provided.