wai-quantum: the estimate job on the reaction-limited clock, one tick rule shared with quantum_arch, the step clock's answers and receipts unchanged #673

Closed
dcharlot wants to merge 9 commits from wai/quantum-estimate-reaction-clock into main
Owner

Re-landed on main as one commit, afe90420d (2026-11-09), under the land-it model. Its review was complete. Its last run passed 210 checks, and the one red (repository checks) came from main's vanity-metric state, which has since been fixed. Before the push, the content passed these on the Framework: the wai-quantum library's 1,399 tests, landscape_devices, the CLI tests, the quantum_engine-only check, and ci/check_schemas.py with jsonschema and the release CLI. Main's CI runs on the push. Closed.


#665 has landed, and main is merged in to ad721a74b, past wai-quantum 0.9.0 (e54f28102). Review 6c2eb8d2d (the clock), 20890225f (its review), and for the jetson-hub red a89689843 (the CUDA member's table lookup) and 36b7d36fd (one WebGPU instance a process). #671 edits the published-architecture page, its figures and the estimate workflow in other rows: whichever of the two merges second takes main first.

The estimate job a person runs priced arXiv:1905.09749's 2048-bit factoring at 60.7 hours against the paper's 5.1, because only quantum_arch had the reaction-limited clock. The job now has it.

What the spec and receipts promise, and how this keeps it

  • wai.quantum.estimate/1 grows within its major version: an optional request member clock, and an optional clock member in each estimate's figures. Nothing is removed, renamed or retyped.
  • Without a clock, or with "clock": "steps", the answer and its receipts are what they were, bit for bit: estimate_isa is estimate_isa_clocked on Clock::Steps, the same arithmetic in the same order; a clocked job on the step clock has the job's own hash and seals the same receipt (tests hold all three). The pinned receipts and conformance corpora are untouched.
  • On the reaction clock, steps changes meaning (lattice-surgery steps alone; the runtime adds the ticks), so that job is versioned: it is a ClockedJob whose hash is a form of its own, wai:resource-job-clocked\x01 over the job's hash and the reaction time. A receipt sealed on one clock never verifies as sealed on the other, and the figures say which clock they are on.
  • The receipt says so itself. On the reaction clock it carries a clock member (kind: "reaction", tick_time_ns_bits, tick_time_s): the runtime its steps do not account for, read from figures it already signs (ResourceReceipt::tick_time_ns), so no signed field is added and none changes. from_json refuses a clock that disagrees with those figures or is missing where they name one. A step-clock receipt has none and is byte-identical to before. wai-quantum verify prints it.
  • No public struct gained a field (the API check would refuse it without a 0.9): the clock enters through new items only (Clock, Clocked, reaction_tick, estimate_isa_clocked, estimate_best_isa_clocked, ClockedJob, ResourceReceipt::seal_clocked / verify_computation_clocked / tick_time_ns, engine::estimate::clock_of / clock_refusal / frontier_clocked / figures_clocked, Evaluation::clocked_job).

One implementation

quantum_resource::reaction_tick(reaction, supply), the slower of the two, is the tick. quantum_arch::Timing::tick_us now calls it (quantum_arch enables quantum_resource), and the job's Clock::Reaction takes it. On that clock the job:

  • takes the Toffolis' 3·X steps out and adds X ticks: runtime = steps × τ(d) + X × tick, every Toffoli after the one before, as its layout runs its steps;
  • holds the tiles' logical error over the whole runtime;
  • keeps enough factories that a CCZ state comes every tick (and at least as many as the T states need over the runtime), so the tick is the reaction time;
  • stretches ticks with steps when the frontier slows the program;
  • refuses a reaction time shorter than a measurement on the qubit (QE08): a reaction includes the logical measurement it reacts to (arXiv:1905.09749 App. B.1), so the 100 µs qubits have no 10 µs tick. --qubit all shows such a qubit as refused, with the reason, beside the others;
  • refuses a machine whose qubits pass 64 bits (checked arithmetic), where a tiny reaction time once wrapped the count into a signed receipt.

Surfaces: the request's "clock": {"reaction_us": t} (above 0, below 10⁹, no other member: the tool's schema and estimate.v1.json now say what the engine takes), wai-quantum estimate --reaction-us t, whose report and --qubit all table name the clock, and the estimate_resources tool on both MCP servers, whose description says to quote the clock (its committed tool lists and agent docs regenerated). The answer echoes the reaction time as the request wrote it.

What it gives

Published Job, step clock Job, reaction clock at 10 µs Why
arXiv:1905.09749, hours per run 5.1 (Table 3) 60.71 7.50 our limit: the job runs every Toffoli after the one before, and the paper does not. Its 5.1 hours and its §2.11 "approximately 7 hours" are one parallel basis (37 ms a lookup addition: the lookup at half a beat an entry, one runway piece's addition with the pieces side by side); §2.11 reaches 7 by rounding eq. (1)'s 503,808 lookup additions to 0.1·n_e·n and 3.7·n_e·n ms to 4·n_e·n (unrounded, 5.18 hours). The paper prints no serial figure: 5,207 Toffolis a lookup addition at 10 µs, one after another, give 7.3 hours, which is our derivation from its equations
its code distance 27 (§2.13) 27 25 the tiles wait out 7.50 hours, not 60.71, so a smaller distance meets the budget
its physical qubits 20 M 18.9 M 20.05 M the job's tiles and 129 15-to-1 T factories at d = 25: near the paper's count by chance, a different machine from its CCZ factories at d = 27
arXiv:2011.03494 (FeMoCo), days 3 (§IV.C.4) 6.75 0.78 assumption: the job ticks at 10 µs where the paper's four CCZ factories set 38.75 µs, and that ratio is the delta. It keeps 157 T factories (10.8 M qubits); at the paper's own 38.75 µs it keeps 41, so of the ×39 the tick is ×3.8 and the kind of factory ×10 (a 15-to-1 unit takes 1,568 µs a CCZ state, the paper's factory 155)

Tests (each fails on the code before it)

  • quantum_resource::tests::the_step_clock_is_the_estimate_bit_for_bit_and_the_reaction_clock_keeps_pace
  • quantum_resource_receipt::tests::on_the_step_clock_a_clocked_job_is_the_job_and_on_the_reaction_clock_another
  • engine::estimate::tests::without_a_clock_the_answer_is_the_step_clock_s_and_names_none
  • engine::estimate::tests::the_reaction_clock_runs_each_toffoli_in_a_tick_with_factories_to_keep_up
  • engine::estimate::tests::a_reaction_clock_estimate_is_sealed_as_a_clocked_job

From the review (20890225f), each failing on the code before it:

  • quantum_resource::tests::a_reaction_time_is_never_shorter_than_the_qubit_s_measurement
  • quantum_resource::tests::a_machine_past_sixty_four_bits_is_refused_and_not_wrapped
  • quantum_resource_receipt::tests::a_reaction_clock_receipt_names_its_clock_and_a_step_clock_receipt_is_unchanged
  • engine::estimate::tests::a_reaction_time_shorter_than_a_measurement_is_refused
  • engine::estimate::tests::the_answer_echoes_the_reaction_time_as_written
  • engine::estimate::tests::the_schemas_say_of_the_clock_what_the_engine_takes
  • published_architectures::tests::section_2_11_is_the_parallel_basis_rounded_and_the_serial_figure_is_ours
  • published_architectures::tests::the_reaction_rows_say_what_they_rest_on
  • the command line's estimate::tests::the_reaction_clock_reaches_the_request_and_the_report_names_it, and a reaction-clock call in check_schemas.py

The first clock test now counts four reaction runs where it allowed six or more: the 100 µs qubit's are refused. The resource-estimation workflow requires every library test above by name. Also fixed: the module doc's Rounding bullet is back under Honest boundaries, and the clock test no longer wears the summary-rows test's comment.

What this does not do

  • The job still reads no Toffoli depth: on either clock every Toffoli follows the one before.
  • The job's factory count is the planar model's (enough for the ticks); it does not take a chosen factory count, as FeMoCo's four.

The jetson-hub red, and what it was

Not the card. The kernel log there holds Xid 31 (an MMU fault: a kernel read an unmapped address) many times today, at one address. The faults come from the device tests' process, and none is a hardware Xid. The same tests on Thor's GPU, another card and driver, gave the same fault.

The cause is in main's CUDA member, which this PR's paths ran. The fault test puts "fields held in 32 bits" into the CUDA kernels. The sampling kernel shares field_of, so its table lookup went far past the table. Nothing checks that index on CUDA, unlike WebGPU's bounds-checked kernels, so the read faulted. The fault is sticky, and the process's CUDA context was lost:

  • the next fault's kernels "opened on 0 devices";
  • every later CUDA test found CUDA_ERROR_ILLEGAL_ADDRESS.

a89689843: chains_in_order takes the table's entry count and a fault word, and stops at a lookup past the end. The host then returns an error, and the port loses its grade, not the device. a_kernel_that_looks_past_its_table_loses_its_grade_and_not_the_device puts a lookup 2⁴⁰ entries out into the CUDA kernel. With the check switched off, on Thor, it fails with "the clean kernels opened on 0 devices, before it on 1" and a new Xid 31. With the check on:

  • the device tests pass twice with no Xid;
  • compute-sanitizer's memcheck finds 0 errors;
  • the members' unit tests stay at 9.
    The workflow expects 8 device tests where it expected 7.

A second cause, under the first. With the CUDA fault fixed, the leg still lost a member: the RTX 4050 through Vulkan, from the fourth fault on. The disk was not the cause. The leg compiled and wrote its files, and on jetson-hub the same tests failed twice more with 248 GB free. Nor was the card's memory: at most 630 of 6,141 MiB was in use. Each discovery made its own wgpu instance, and that host's NVIDIA Vulkan driver (595.99) lists its card to a process's first ten instances and not after, every one dropped, logging NV_ERR_NO_MEMORY for host memory. One process discovering 60 times there:

  • an instance a discovery: the card is found 10 times, then not again;
  • one instance for the process: the card is found 60 times.

36b7d36fd makes discovery take the process's one instance. a_member_is_found_however_often_the_host_looks discovers twelve times in one process and wants the same members each time. The workflow now expects 9 device tests. The fabric's own WebGPU member (quantum_fabric_webgpu) also makes an instance a discovery, as do wai-ops-gpu and wai-pack-gpu: none of them looks ten times in a process today, and none is changed here.

Checks run

  • 36b7d36fd's tree: the device tests, it among them, pass twice on the Framework (AMD Radeon 8060S through Vulkan, and llvmpipe) and twice on Thor (NVIDIA through Vulkan and CUDA). jetson-hub was too loaded for a build-host run, so its leg on this push is the check there.
  • Linux aarch64 (Thor, its NVIDIA GPU), on head ca78d7671 (main at 0.9.0 merged in):
    • the device tests, as the workflow runs them: 8 passed, twice, no new Xid; the members' unit tests: 9;
    • release, engine::estimate quantum_resource quantum_arch:: published_architectures:: quantum_bicycle::: 87 passed;
    • the command line's suite with a fresh HOME: every binary passed, clippy clean with and without default features; the service's suite passed;
    • the page, the tool lists and the agent docs regenerate to what is committed;
    • check_schemas.py: 49 tool answers follow their schemas; wai-quantum-py/ci/check.sh: 86 tests, 5 of 5 notebooks, the Python 3.9 smoke test.

Before that, on head 20890225f's tree:

  • Linux aarch64 (Thor), on head 42756c772 (main merged in): release, engine::estimate quantum_resource quantum_arch:: published_architectures:: quantum_bicycle::: 87 passed, 0 failed, 0 ignored, the page among them; debug (overflow checks on), engine::estimate quantum_resource: 45 passed. The command line's whole suite (release) passed, and its clippy is clean with and without default features. The service's suite: 46 passed. The page, the committed tool lists and the agent docs regenerate to what is committed. check_schemas.py (a second JSON Schema implementation): 49 tool answers, a reaction-clock estimate among them, follow their schemas. wai-quantum-py/ci/check.sh: 86 tests, none skipped, 5 of 5 notebooks, the Python 3.9 smoke test.
  • RUSTFLAGS=-D warnings cargo check --no-default-features with quantum_resource, quantum_engine, quantum_arch,quantum_engine and quantum_engine,quantum_receipt: clean.
  • Public-name, comparative-prose, vanity, spec-reference and changelog checks: clean.

Earlier, on head 6c2eb8d2d:

  • Linux aarch64 (Thor), on head 6c2eb8d2d: release, engine::estimate quantum_resource quantum_arch:: published_architectures:: quantum_bicycle::: 79 passed, 0 failed, 0 ignored, the page among them; debug, engine::estimate quantum_resource quantum_arch::: 55 passed. The command line's whole suite (release) and the service's whole suite (release): every test passed, the committed tool lists and agent docs among them after regenerating.
  • RUSTFLAGS=-D warnings cargo check --no-default-features with quantum_arch, quantum_resource, quantum_engine, quantum_engine,quantum_receipt and quantum_arch,quantum_engine: clean.
  • Python, Linux aarch64 (Thor), on head 6c2eb8d2d: wai-quantum-py/ci/check.sh passed: 83 tests with the new one among them, none skipped, 5 of 5 notebooks, and the smoke test on Python 3.9.
  • Public-name, comparative-prose, vanity, spec-reference and changelog checks: clean. No dependency changed (a feature now enables another; every Cargo.lock is unchanged).

🤖 Generated with Claude Code

**Re-landed on main as one commit, afe90420d (2026-11-09), under the land-it model.** Its review was complete. Its last run passed 210 checks, and the one red (repository checks) came from main's vanity-metric state, which has since been fixed. Before the push, the content passed these on the Framework: the wai-quantum library's 1,399 tests, landscape_devices, the CLI tests, the quantum_engine-only check, and ci/check_schemas.py with jsonschema and the release CLI. Main's CI runs on the push. Closed. --- #665 has landed, and main is merged in to `ad721a74b`, past wai-quantum 0.9.0 (`e54f28102`). Review `6c2eb8d2d` (the clock), `20890225f` (its review), and for the jetson-hub red `a89689843` (the CUDA member's table lookup) and `36b7d36fd` (one WebGPU instance a process). #671 edits the published-architecture page, its figures and the estimate workflow in other rows: whichever of the two merges second takes main first. The estimate job a person runs priced arXiv:1905.09749's 2048-bit factoring at 60.7 hours against the paper's 5.1, because only `quantum_arch` had the reaction-limited clock. The job now has it. ## What the spec and receipts promise, and how this keeps it - `wai.quantum.estimate/1` grows within its major version: an optional request member `clock`, and an optional `clock` member in each estimate's figures. Nothing is removed, renamed or retyped. - **Without a clock, or with `"clock": "steps"`, the answer and its receipts are what they were, bit for bit**: `estimate_isa` is `estimate_isa_clocked` on `Clock::Steps`, the same arithmetic in the same order; a clocked job on the step clock has the job's own hash and seals the same receipt (tests hold all three). The pinned receipts and conformance corpora are untouched. - On the reaction clock, `steps` changes meaning (lattice-surgery steps alone; the runtime adds the ticks), so that job is **versioned**: it is a `ClockedJob` whose hash is a form of its own, `wai:resource-job-clocked\x01` over the job's hash and the reaction time. A receipt sealed on one clock never verifies as sealed on the other, and the figures say which clock they are on. - **The receipt says so itself.** On the reaction clock it carries a `clock` member (`kind: "reaction"`, `tick_time_ns_bits`, `tick_time_s`): the runtime its steps do not account for, read from figures it already signs (`ResourceReceipt::tick_time_ns`), so no signed field is added and none changes. `from_json` refuses a `clock` that disagrees with those figures or is missing where they name one. A step-clock receipt has none and is byte-identical to before. `wai-quantum verify` prints it. - No public struct gained a field (the API check would refuse it without a 0.9): the clock enters through new items only (`Clock`, `Clocked`, `reaction_tick`, `estimate_isa_clocked`, `estimate_best_isa_clocked`, `ClockedJob`, `ResourceReceipt::seal_clocked` / `verify_computation_clocked` / `tick_time_ns`, `engine::estimate::clock_of` / `clock_refusal` / `frontier_clocked` / `figures_clocked`, `Evaluation::clocked_job`). ## One implementation `quantum_resource::reaction_tick(reaction, supply)`, the slower of the two, is the tick. `quantum_arch::Timing::tick_us` now calls it (`quantum_arch` enables `quantum_resource`), and the job's `Clock::Reaction` takes it. On that clock the job: - takes the Toffolis' `3·X` steps out and adds `X` ticks: runtime = steps × `τ(d)` + `X` × tick, every Toffoli after the one before, as its layout runs its steps; - holds the tiles' logical error over the whole runtime; - keeps enough factories that a CCZ state comes every tick (and at least as many as the T states need over the runtime), so the tick is the reaction time; - stretches ticks with steps when the frontier slows the program; - refuses a reaction time shorter than a measurement on the qubit (`QE08`): a reaction includes the logical measurement it reacts to (arXiv:1905.09749 App. B.1), so the 100 µs qubits have no 10 µs tick. `--qubit all` shows such a qubit as refused, with the reason, beside the others; - refuses a machine whose qubits pass 64 bits (checked arithmetic), where a tiny reaction time once wrapped the count into a signed receipt. Surfaces: the request's `"clock": {"reaction_us": t}` (above 0, below 10⁹, no other member: the tool's schema and `estimate.v1.json` now say what the engine takes), `wai-quantum estimate --reaction-us t`, whose report and `--qubit all` table name the clock, and the `estimate_resources` tool on both MCP servers, whose description says to quote the clock (its committed tool lists and agent docs regenerated). The answer echoes the reaction time as the request wrote it. ## What it gives | | Published | Job, step clock | Job, reaction clock at 10 µs | Why | |---|---:|---:|---:|---| | arXiv:1905.09749, hours per run | 5.1 (Table 3) | 60.71 | 7.50 | our limit: the job runs every Toffoli after the one before, and the paper does not. Its 5.1 hours and its §2.11 "approximately 7 hours" are one parallel basis (37 ms a lookup addition: the lookup at half a beat an entry, one runway piece's addition with the pieces side by side); §2.11 reaches 7 by rounding eq. (1)'s 503,808 lookup additions to 0.1·n_e·n and 3.7·n_e·n ms to 4·n_e·n (unrounded, 5.18 hours). The paper prints no serial figure: 5,207 Toffolis a lookup addition at 10 µs, one after another, give 7.3 hours, which is our derivation from its equations | | its code distance | 27 (§2.13) | 27 | 25 | the tiles wait out 7.50 hours, not 60.71, so a smaller distance meets the budget | | its physical qubits | 20 M | 18.9 M | 20.05 M | the job's tiles and 129 15-to-1 T factories at d = 25: near the paper's count by chance, a different machine from its CCZ factories at d = 27 | | arXiv:2011.03494 (FeMoCo), days | 3 (§IV.C.4) | 6.75 | 0.78 | assumption: the job ticks at 10 µs where the paper's four CCZ factories set 38.75 µs, and that ratio is the delta. It keeps 157 T factories (10.8 M qubits); at the paper's own 38.75 µs it keeps 41, so of the ×39 the tick is ×3.8 and the kind of factory ×10 (a 15-to-1 unit takes 1,568 µs a CCZ state, the paper's factory 155) | ## Tests (each fails on the code before it) - `quantum_resource::tests::the_step_clock_is_the_estimate_bit_for_bit_and_the_reaction_clock_keeps_pace` - `quantum_resource_receipt::tests::on_the_step_clock_a_clocked_job_is_the_job_and_on_the_reaction_clock_another` - `engine::estimate::tests::without_a_clock_the_answer_is_the_step_clock_s_and_names_none` - `engine::estimate::tests::the_reaction_clock_runs_each_toffoli_in_a_tick_with_factories_to_keep_up` - `engine::estimate::tests::a_reaction_clock_estimate_is_sealed_as_a_clocked_job` From the review (`20890225f`), each failing on the code before it: - `quantum_resource::tests::a_reaction_time_is_never_shorter_than_the_qubit_s_measurement` - `quantum_resource::tests::a_machine_past_sixty_four_bits_is_refused_and_not_wrapped` - `quantum_resource_receipt::tests::a_reaction_clock_receipt_names_its_clock_and_a_step_clock_receipt_is_unchanged` - `engine::estimate::tests::a_reaction_time_shorter_than_a_measurement_is_refused` - `engine::estimate::tests::the_answer_echoes_the_reaction_time_as_written` - `engine::estimate::tests::the_schemas_say_of_the_clock_what_the_engine_takes` - `published_architectures::tests::section_2_11_is_the_parallel_basis_rounded_and_the_serial_figure_is_ours` - `published_architectures::tests::the_reaction_rows_say_what_they_rest_on` - the command line's `estimate::tests::the_reaction_clock_reaches_the_request_and_the_report_names_it`, and a reaction-clock call in `check_schemas.py` The first clock test now counts four reaction runs where it allowed six or more: the 100 µs qubit's are refused. The resource-estimation workflow requires every library test above by name. Also fixed: the module doc's Rounding bullet is back under Honest boundaries, and the clock test no longer wears the summary-rows test's comment. ## What this does not do - The job still reads no Toffoli depth: on either clock every Toffoli follows the one before. - The job's factory count is the planar model's (enough for the ticks); it does not take a chosen factory count, as FeMoCo's four. ## The jetson-hub red, and what it was Not the card. The kernel log there holds Xid 31 (an MMU fault: a kernel read an unmapped address) many times today, at one address. The faults come from the device tests' process, and none is a hardware Xid. The same tests on Thor's GPU, another card and driver, gave the same fault. The cause is in main's CUDA member, which this PR's paths ran. The fault test puts "fields held in 32 bits" into the CUDA kernels. The sampling kernel shares `field_of`, so its table lookup went far past the table. Nothing checks that index on CUDA, unlike WebGPU's bounds-checked kernels, so the read faulted. The fault is sticky, and the process's CUDA context was lost: - the next fault's kernels "opened on 0 devices"; - every later CUDA test found `CUDA_ERROR_ILLEGAL_ADDRESS`. `a89689843`: `chains_in_order` takes the table's entry count and a fault word, and stops at a lookup past the end. The host then returns an error, and the port loses its grade, not the device. `a_kernel_that_looks_past_its_table_loses_its_grade_and_not_the_device` puts a lookup 2⁴⁰ entries out into the CUDA kernel. With the check switched off, on Thor, it fails with "the clean kernels opened on 0 devices, before it on 1" and a new Xid 31. With the check on: - the device tests pass twice with no Xid; - compute-sanitizer's memcheck finds 0 errors; - the members' unit tests stay at 9. The workflow expects 8 device tests where it expected 7. **A second cause, under the first.** With the CUDA fault fixed, the leg still lost a member: the RTX 4050 through Vulkan, from the fourth fault on. The disk was not the cause. The leg compiled and wrote its files, and on jetson-hub the same tests failed twice more with 248 GB free. Nor was the card's memory: at most 630 of 6,141 MiB was in use. Each discovery made its own wgpu instance, and that host's NVIDIA Vulkan driver (595.99) lists its card to a process's first ten instances and not after, every one dropped, logging `NV_ERR_NO_MEMORY` for host memory. One process discovering 60 times there: - an instance a discovery: the card is found 10 times, then not again; - one instance for the process: the card is found 60 times. `36b7d36fd` makes discovery take the process's one instance. `a_member_is_found_however_often_the_host_looks` discovers twelve times in one process and wants the same members each time. The workflow now expects 9 device tests. The fabric's own WebGPU member (`quantum_fabric_webgpu`) also makes an instance a discovery, as do `wai-ops-gpu` and `wai-pack-gpu`: none of them looks ten times in a process today, and none is changed here. ## Checks run - `36b7d36fd`'s tree: the device tests, it among them, pass twice on the Framework (AMD Radeon 8060S through Vulkan, and llvmpipe) and twice on Thor (NVIDIA through Vulkan and CUDA). jetson-hub was too loaded for a build-host run, so its leg on this push is the check there. - Linux aarch64 (Thor, its NVIDIA GPU), on head `ca78d7671` (main at 0.9.0 merged in): - the device tests, as the workflow runs them: 8 passed, twice, no new Xid; the members' unit tests: 9; - release, `engine::estimate quantum_resource quantum_arch:: published_architectures:: quantum_bicycle::`: 87 passed; - the command line's suite with a fresh HOME: every binary passed, clippy clean with and without default features; the service's suite passed; - the page, the tool lists and the agent docs regenerate to what is committed; - `check_schemas.py`: 49 tool answers follow their schemas; `wai-quantum-py/ci/check.sh`: 86 tests, 5 of 5 notebooks, the Python 3.9 smoke test. Before that, on head `20890225f`'s tree: - Linux aarch64 (Thor), on head `42756c772` (main merged in): release, `engine::estimate quantum_resource quantum_arch:: published_architectures:: quantum_bicycle::`: 87 passed, 0 failed, 0 ignored, the page among them; debug (overflow checks on), `engine::estimate quantum_resource`: 45 passed. The command line's whole suite (release) passed, and its clippy is clean with and without default features. The service's suite: 46 passed. The page, the committed tool lists and the agent docs regenerate to what is committed. `check_schemas.py` (a second JSON Schema implementation): 49 tool answers, a reaction-clock estimate among them, follow their schemas. `wai-quantum-py/ci/check.sh`: 86 tests, none skipped, 5 of 5 notebooks, the Python 3.9 smoke test. - `RUSTFLAGS=-D warnings cargo check --no-default-features` with `quantum_resource`, `quantum_engine`, `quantum_arch,quantum_engine` and `quantum_engine,quantum_receipt`: clean. - Public-name, comparative-prose, vanity, spec-reference and changelog checks: clean. Earlier, on head `6c2eb8d2d`: - Linux aarch64 (Thor), on head `6c2eb8d2d`: release, `engine::estimate quantum_resource quantum_arch:: published_architectures:: quantum_bicycle::`: 79 passed, 0 failed, 0 ignored, the page among them; debug, `engine::estimate quantum_resource quantum_arch::`: 55 passed. The command line's whole suite (release) and the service's whole suite (release): every test passed, the committed tool lists and agent docs among them after regenerating. - `RUSTFLAGS=-D warnings cargo check --no-default-features` with `quantum_arch`, `quantum_resource`, `quantum_engine`, `quantum_engine,quantum_receipt` and `quantum_arch,quantum_engine`: clean. - Python, Linux aarch64 (Thor), on head `6c2eb8d2d`: `wai-quantum-py/ci/check.sh` passed: 83 tests with the new one among them, none skipped, 5 of 5 notebooks, and the smoke test on Python 3.9. - Public-name, comparative-prose, vanity, spec-reference and changelog checks: clean. No dependency changed (a feature now enables another; every Cargo.lock is unchanged). 🤖 Generated with [Claude Code](https://claude.com/claude-code)
The architecture estimator could not express the machine of
arXiv:1905.09749 (Quantum 5, 433), so its figures could not be checked.
Its only clock was the step clock: every Toffoli waits a lattice-surgery
beat of d cycles. That prices the source's 1,052-bit addition at
56.7 ms, where the source teleports each Toffoli's Clifford fixups away
from the data and runs it at one 10 µs tick: 22 ms (its §2.11). It also
had no two-level factory, which that machine and arXiv:2011.03494 use.

Added, each held by a test against the source's printed figures:

- Timing::tick_us and Timing::teleported_add_us: a Toffoli at the slower
  of the reaction time and the CCZ supply, not at the beat. The test
  holds the step clock's 56.7 ms beside the tick's 21.03 ms.
- Timing::double_access_lookup_us and its uncomputation: lookups through
  access hallways on both sides of each row, half a beat an entry.
- patch_cycle_error and DistilledCczFactory: 15-to-1 feeding 8T-to-CCZ,
  with the footprint and error rule of the source's cost script.
- WindowedFactoringParams and windowed_factoring_estimate: the source's
  cost script, re-run. Every row of its RSA table comes back to the
  digits it prints, which it takes up to two.
- The FeMoCo estimate of arXiv:2011.03494 on the same factory and clock:
  four factories at distances 19 and 31 tick at 38.75 µs, and 6.7·10⁹
  Toffolis take 3 days.

The module documents where the 2021 source disagrees with itself: its
hand-worked §2.14 rounds as it goes (23 M where its script gives
19.25 M), and its §2.12 reads 6.4% where its script's formula gives 0.6%.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
The estimators priced one logical qubit per surface-code tile and could
not express a high-rate block code: twelve logical qubits in one code
block, reached by a small instruction set instead of lattice surgery on
a tile. The machine announced for 2029 (200 logical qubits, 10⁸
operations) is built on such codes, on the bicycle architecture of
arXiv:2506.03094, so it could not be checked.

quantum_bicycle prices that architecture from the parts the paper
publishes:

- the gross [[144,12,12]] and two-gross [[288,12,18]] codes from their
  printed polynomials and logical basis (tests: the basis is dual, every
  operator commutes with every check, k = 12, and a shift acts as the
  printed matrices);
- the native measurements and, by breadth-first search over the 4¹¹ − 1
  Paulis on a module's data qubits, the in-module cost of each;
- the instruction rates from the paper's failure-spectrum fits (all 28
  printed rates come back), and its assumed rates, marked as assumed;
- a machine of M modules and a factory, q = M(c + u + a) − a + a′ + f
  (every count of its capability table comes back), its capability at a
  failure budget, and the error rate a program needs.

Where the paper disagrees with itself or with the method it states, the
module says so, and a test holds each:

- Its four mean compile costs (Fig. 9) come back to every printed digit
  when a shift's action on Z̄ is taken as A⁻¹ with A on both halves
  (ShiftAction::SourceTables). A CNOT circuit |x⟩ → |Ax⟩ takes Z̄ by A⁻ᵀ,
  which is how the operators move; ours follows the operators. On its
  printed basis a shift acts as A on the first half and Aᵀ on the second.
- Its idle and shift rates are the circuit's failure undivided, where its
  text divides by the circuit's cycles.
- Its native-rotation count of 510 includes the 265 with the identity on
  the pivot, which its definition excludes.

One difference stays open: its gross capability at p = 10⁻⁴ needs a
per-rotation failure of 8.3·10⁻⁷ that does not depend on the machine's
size, against its factory's printed 4·10⁻⁸.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
published_architectures feeds the stated assumptions of published
resource estimates into the estimators (quantum_arch, quantum_bicycle
and the estimate job) and prints, for each quantity, the published
figure, ours, the delta and why: agrees, a different assumption, the
source's model, the source's own figures disagreeing with each other or
with its stated method, a limit of ours, or open. Every row names where
its figure is printed; figures with more digits than a PDF prints are
quoted from the paper's arXiv source files and say so, and the one
secondary figure is marked secondary.

The targets:
- the machine announced for 2029, "100 million quantum operations using
  200 logical qubits" (press release of 2025-06-10), priced on the
  bicycle architecture of arXiv:2506.03094, the paper the release links;
- that paper's own figures: its parts, rates, compile, capabilities and
  10 × 10 Ising program;
- RSA-2048 on the surface code, arXiv:1905.09749 (Quantum 5, 433);
- FeMoCo, arXiv:2011.03494 (PRX Quantum 2, 030305);
- RSA-2048 on yoked surface codes, arXiv:2505.15917;
- the planar model's own source, arXiv:2211.07629.

Of 197 rows, 110 agree. Two are open: the source's gross capability at
p = 10⁻⁴ needs a per-rotation failure of 8.3·10⁻⁷ that its tables do
not account for. One row records a shortfall of ours that the check
found and this change does not fix: on one of the Ising program's four
angles our synthesiser takes 84 T gates where pygridsynth 1.0.1 takes
82, at the same denominator exponent.

docs/published-architectures.md holds the rows, and
the_page_is_what_the_estimators_give holds the page to the code; the
example prints them. The resource-estimation workflow runs the three
modules' tests in a release build, requires seven by name, and runs the
example.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Merge origin/main into wai/quantum-published-architecture-check
Some checks failed
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 6m5s
wai-quantum views in agent hosts / views · a scripted host (pull_request) Successful in 4m39s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness (pull_request) Successful in 4m38s
wai-quantum service / service · linux (pull_request) Successful in 8m4s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 4m40s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 14m10s
wai-quantum contract / schemas and the committed tool lists · linux (pull_request) Successful in 17m10s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 7m37s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 18m34s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 20m37s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux (pull_request) Has been cancelled
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Has been cancelled
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Has been cancelled
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Has been cancelled
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Has been cancelled
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Has been cancelled
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Has been cancelled
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Has been cancelled
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Has been cancelled
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Has been cancelled
WAI Studio / Studio in WebKit · linux (pull_request) Has been cancelled
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Has been cancelled
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Has been cancelled
4506ada5f7
Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-quantum: the published-architecture check, as its review asked
Some checks failed
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Has been cancelled
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Has been cancelled
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (pull_request) Has been cancelled
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Has been cancelled
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (pull_request) Has been cancelled
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
wai-quantum views in agent hosts / views · the page and its engine (pull_request) Has been cancelled
wai-quantum views in agent hosts / views · a scripted host (pull_request) Has been cancelled
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness (pull_request) Has been cancelled
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Has been cancelled
WAI Studio / Studio in WebKit · linux (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-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Has been cancelled
fedcc09763
Every fix with a test that fails on the code before it.

Figures and rules
- The published figures move out of the code into
  tests/data/published_figures.tsv: each with where it is printed, as
  printed, its value and its rule, so regenerating the page cannot move
  them. A row that agrees is held to the digits its source prints:
  exact, the nearest printed unit, rounded up or down where the source
  rounds so, or, for a figure ours takes from the source's fits, the
  range its fits' printed parameters (ln f0 and gamma, two decimals)
  allow. It was 6% for every row: 8.72M re-pinned as 9.00M passed. Every
  other numeric row carries a guard, ours to four digits.
  (every_row_holds_to_its_published_figure,
  a_rule_holds_to_the_printed_digits_and_no_further)
- Fig. 10(a)'s surface-code timesteps are its printed 381, 2,269, 115,
  115, 509 and 509, not the formula compared with itself.
- Figures carry no more digits than the PDF prints (7.32e-4, 2.09e-5,
  8.2e-21, Table 10 to its printed two and three digits) unless the row
  says "source files". The Toffoli count of arXiv:1905.09749 is its
  Table 1's, not Table 3's.

Reasons and classes
- The authors' compiler is released (bicycle_compiler, bicycle_cliffords
  and bicycle_common 0.1.0 on crates.io, 2025-07-31). The compile-mean
  rows now cite bicycle_cliffords 0.1.0 src/measurement.rs, which takes
  a shift as A on X and A^-1 on Z (version 0.2.1: A^-1 on X, A^T on Z),
  for what was an inference. The two gross rows at p = 1e-4 stay open,
  with that compiler named as what would settle them; this check runs
  no third-party code.
- The capability rows said the rates and the sum were the same. Ours
  divides P_I and P_U by C (Section A.7's text): a third of a point of
  the gross 5k p = 1e-3 gap is that choice. That row is now an
  assumption, with a row beside each capability at the undivided rates.
  (the_division_by_c_is_a_third_of_a_point_of_the_gross_capability)
- The random-circuit fit is Fig. 17, not Fig. 16.
- The "Ours" column holds only ours: the Ising T-count-as-stated row
  shows our 14,665,600; the FeMoCo Table III against layout rows are the
  paper's own two figures, ours empty, their numbers.
- The Ising inter-module count depends on the factory's end of the line
  (946,800 after the last module, 781,200 before the first), which the
  paper does not print. Machine::links states the rule, a test computes
  both, and the row is an assumption that says it was chosen to match.
- The 510: over all native measurements there are 510 distinct R != I,
  284 with Q = I, 19 of those also with Q != I. That the paper counted
  these is our inference from the matching count, and the text says so
  (native_rotation_census).
- The arXiv:2308.07915 rows (about 1,250 times the later fit) are open.
- The expected hours of arXiv:1905.09749's title are one computation,
  WindowedEstimate::expected_hours: 7.31 in the row and the module.

Facts
- The 2021 addition's piece is 1,024 + 38 = 1,062 qubits (the cost
  script's padding; its text's 3 lg n + 10 is 43), not 1,052:
  WindowedFactoringParams::padding and piece_qubits, and the test.

Public text
- The section on the machine announced for 2029, its sources and its
  allow-name are gone, with every verdict on that announcement. The
  rows that check arXiv:2506.03094 itself stay.
- The synthesiser row says what the counts are, without the shortfall
  line; its fix follows separately.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-quantum: the estimate job on the reaction-limited clock
Some checks failed
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector units, avx2 and avx512 (framework-128gb silicon) (pull_request) Has been cancelled
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Has been cancelled
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (pull_request) Has been cancelled
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (pull_request) Has been cancelled
wai-quantum views in agent hosts / views · the page and its engine (pull_request) Has been cancelled
wai-quantum views in agent hosts / views · a scripted host (pull_request) Has been cancelled
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness (pull_request) Has been cancelled
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Has been cancelled
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Has been cancelled
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Has been cancelled
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Has been cancelled
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Has been cancelled
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Has been cancelled
WAI Studio / Studio in WebKit · linux (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-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Has been cancelled
6c2eb8d2d0
The estimate job priced arXiv:1905.09749's 2048-bit factoring at 60.7
hours against the paper's 5.1: every Toffoli took three logical steps,
and only quantum_arch had the reaction-limited clock. The job now takes
it: "clock": {"reaction_us": t} in a request, --reaction-us t on the
command line, reaction_us= in Python, and the estimate_resources tool on
both MCP servers.

One rule: quantum_resource::reaction_tick(reaction, supply), the slower
of the two, is the tick. quantum_arch::Timing::tick_us calls it
(quantum_arch now enables quantum_resource), and Clock::Reaction takes
it. On that clock estimate_isa_clocked takes the Toffolis' 3X steps out
and adds X ticks to the runtime, every Toffoli after the one before as
the layout runs its steps; holds the tiles' error over the whole
runtime; keeps enough factories that a CCZ state (four T states) comes
every tick, so the tick is the reaction time; and stretches ticks with
steps when slowed.

What the spec and receipts pin stays:
- Without a clock, or "clock": "steps", the answer and its receipts are
  what they were, bit for bit: estimate_isa is estimate_isa_clocked on
  Clock::Steps, the same arithmetic in the same order, and a clocked job
  on the step clock has the job's hash and seals the same receipt.
- On the reaction clock the estimate's steps are the lattice-surgery
  steps alone and its runtime adds the ticks, so the job is versioned: a
  ClockedJob, whose hash is wai:resource-job-clocked\x01 over the job's
  hash and the reaction time. A receipt sealed on one clock never
  verifies as sealed on the other.
- wai.quantum.estimate/1 grows: an optional request member clock, and
  an optional clock member in each estimate's figures (reaction_us,
  tick_us, toffolis). No public struct gained a field: the clock enters
  through new items only.

Through the job, arXiv:1905.09749's counts at its 10 us give 7.50 hours,
every Toffoli after the one before: the paper's own Section 2.11 estimate
on that basis is "approximately 7 hours"; its 5.1 runs its two runway
pieces side by side and its lookups at half a beat, which counts alone
do not carry. The published-architecture page carries these rows, and
the step clock's rows are now an assumption the request can change.

Tests, each failing on the code before it:
quantum_resource the_step_clock_is_the_estimate_bit_for_bit_and_the_
reaction_clock_keeps_pace; quantum_resource_receipt on_the_step_clock_
a_clocked_job_is_the_job_and_on_the_reaction_clock_another;
engine::estimate without_a_clock_the_answer_is_the_step_clock_s_and_
names_none, the_reaction_clock_runs_each_toffoli_in_a_tick_with_
factories_to_keep_up, a_reaction_clock_estimate_is_sealed_as_a_clocked_
job; and Python's test_an_estimate_on_the_reaction_clock_runs_each_
toffoli_in_a_tick. The resource-estimation workflow requires the five
Rust tests by name. The committed tool lists and agent docs are
regenerated.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-quantum: the guard on the removed section names no product
All checks were successful
wai-quantum views in agent hosts / views · a scripted host (pull_request) Successful in 5m16s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness (pull_request) Successful in 5m0s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 4m22s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 5m10s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 11m4s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 20m31s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 36m21s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 3m59s
wai-quantum CUDA member / member · CUDA (jetson-hub) (pull_request) Successful in 1m34s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (jetson-hub) (pull_request) Successful in 35s
wai-quantum service / service energy · linux packages (pull_request) Successful in 1m32s
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Successful in 24s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 21m30s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 14m21s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 26s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 22m10s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 16s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 48s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 2m38s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 25m21s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 7m51s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 18m2s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 1m23s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 33s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Successful in 1m43s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 28s
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Successful in 3m53s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Successful in 2m23s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 4m57s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h39m36s
3e78384b5f
The review asked for the section on the announced machine to go, and
the fix for that left the product's name in a test, as a string that
must appear in no row. The name was a bare literal in a public file, and
it guarded nothing the other strings did not: the removed rows' sources
read "press release", and their text "announced".

The test keeps those two. Put "press release" back in one pinned source
and it still fails, naming that string.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
merge the guard fix from #665
Some checks failed
wai-quantum views in agent hosts / views · a scripted host (pull_request) Successful in 5m23s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 4m50s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 2m44s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 19m36s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 9m3s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 19m30s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 37m49s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 3m42s
wai-quantum CUDA member / member · CUDA (jetson-hub) (pull_request) Successful in 1m43s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (jetson-hub) (pull_request) Successful in 33s
wai-quantum service / service energy · linux packages (pull_request) Successful in 1m36s
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Successful in 26s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 21m41s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Failing after 9m23s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 26s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 16s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 42s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 2m32s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 24m45s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 19m24s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 30m14s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 7m46s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 1m21s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 33s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Successful in 1m41s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 26s
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Successful in 3m39s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Successful in 2m3s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 3m46s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 1h39m34s
ff8fe83e84
Co-Authored-By: Claude Opus 5.5 <[email protected]>
Co-Authored-By: Claude Opus 5.5 <[email protected]>
What the source says.
- arXiv:1905.09749 §2.11's "approximately 7 hours" is not a serial
  figure. Its 37 ms a lookup addition is the parallel basis of the
  paper's 5.1 hours: the lookup at half a beat an entry, and one runway
  piece's addition with the pieces side by side. It reaches 7 by
  rounding. Eq. (1)'s 503,808 lookup additions become 0.1·n_e·n, then
  3.7·n_e·n ms becomes 4·n_e·n, which is 6.99 hours; unrounded, 37 ms
  gives 5.18.
- The paper prints no serial figure. Its equations, at 10 µs a Toffoli
  one after another, give 7.3 hours (5,207 Toffolis a lookup addition),
  and the row, the page and the change note give that as our
  derivation.
- The job's 20.05 M qubits are at d = 25 (a new row). They are near the
  paper's 20 M only by chance.
- Of FeMoCo's 157 T factories against four, the tick is ×3.8 and the
  kind of factory ×10. At the paper's 38.75 µs the job keeps 41
  15-to-1 units, each 1,568 µs to a CCZ state against its 155.

What the engine takes.
- A reaction includes the logical measurement it reacts to (App. B.1).
  A reaction time shorter than the qubit's measurement is refused
  (QE08), and the 100 µs qubits have no 10 µs tick.
- `--qubit all` lists such a qubit as refused, with the reason, beside
  the others.
- A machine whose qubits pass 64 bits is refused (checked arithmetic;
  ceil_pos saturates), where it once wrapped into a signed receipt.
- The tool's schema and estimate.v1.json give the clock the engine's
  bounds: below 10⁹ µs, and no other member. The refusal message says
  so.
- The answer echoes the reaction time as the request wrote it, since
  t·10³/10³ is not always t.

What a reader sees.
- A reaction-clock receipt names its clock: `tick_time_ns` and a `clock`
  member, read from the figures it signs. A step-clock receipt is
  byte-identical to before. from_json refuses a `clock` member that
  disagrees with the figures, and compares bits, since the crate's JSON
  parser need not round floats back.
- `wai-quantum verify` prints the clock, and so do the estimate report
  and its `--qubit all` table.
- `Estimate::steps` says what it counts on the reaction clock.
- The README row, the request lists and the tool's description name the
  clock.

Tidying.
- The Rounding bullet is back under Honest boundaries.
- The clock test has its own doc comment, and the summary-rows test has
  its comment back.

New tests, each failing on the code before it, with the CLI's and the
schema check's new calls:
- a_reaction_time_is_never_shorter_than_the_qubit_s_measurement
- a_machine_past_sixty_four_bits_is_refused_and_not_wrapped
- a_reaction_clock_receipt_names_its_clock_and_a_step_clock_receipt_is_unchanged
- a_reaction_time_shorter_than_a_measurement_is_refused
- the_answer_echoes_the_reaction_time_as_written
- the_schemas_say_of_the_clock_what_the_engine_takes
- section_2_11_is_the_parallel_basis_rounded_and_the_serial_figure_is_ours
- the_reaction_rows_say_what_they_rest_on
- the_reaction_clock_reaches_the_request_and_the_report_names_it

The existing clock test now counts four reaction runs where it allowed
six or more: the 100 µs qubit's are refused.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Merge origin/main into the branch
Some checks failed
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (pull_request) Successful in 9m1s
wai-quantum CUDA member / member · CUDA (jetson-hub) (pull_request) Successful in 1m31s
WAI examples / WAI examples · portable · linux (pull_request) Successful in 11m48s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (jetson-hub) (pull_request) Successful in 31s
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Successful in 23s
wai-quantum service / service energy · linux packages (pull_request) Successful in 1m20s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 23m17s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 17m27s
wai-quantum energy-landscape GPU members / members · jetson-hub (pull_request) Failing after 58s
joule-code conformance gate / joule-moq-relay, every target (pull_request) Failing after 3m8s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Successful in 2m11s
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Successful in 6m16s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 29s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Failing after 3m20s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 9m3s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 2m3s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 2m26s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 5m4s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 3m3s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Failing after 15m41s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 2m7s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 22m29s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Successful in 3m45s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 3m18s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 30m40s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Successful in 3m33s
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Successful in 5m4s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 7m10s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 10m5s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (pull_request) Successful in 11m46s
42756c7724
Co-Authored-By: Claude Opus 5.5 <[email protected]>
The jetson-hub leg's reds were not the card. The kernel log there holds
Xid 31 (an MMU fault: a kernel read an unmapped address) many times
today, the same address each time. They come from the process running
the device tests, and none is a hardware Xid. The same tests on Thor's
GPU, another card and driver, gave the same fault.

The fault test puts "fields held in 32 bits" into the CUDA kernels. The
sampling kernel shares field_of, so a wrong field sent its table lookup
far past the table. On CUDA nothing checks that index, so the read
faulted. A fault is sticky, and the process's primary context was lost:
- the next fault's kernels "opened on 0 devices";
- every later CUDA test found "CUDA_ERROR_ILLEGAL_ADDRESS".
WebGPU's kernels survive the same port because their indices are
bounds-checked. The Xid named the decline test's thread because that
test first made the context and its channel.

chains_in_order now takes the table's entry count and a fault word. A
lookup at or past the end sets the word and stops, and the host returns
an error. The host sizes the table to every field a cell can reach, so
the kernels as written never do this. A port that gets a field wrong
loses its grade (certify takes an error as not holding) and not the
device.

a_kernel_that_looks_past_its_table_loses_its_grade_and_not_the_device
puts a lookup 2^40 entries past the table into the CUDA kernel (and
256 MB past it into WebGPU's). It requires the grade lost, and the
clean kernels to open again on as many devices and certify bit-exact.
- With the check switched off it fails on Thor: "the clean kernels
  opened on 0 devices, before it on 1", with a new Xid 31.
- With the check on, the device tests pass twice with no Xid, and
  compute-sanitizer's memcheck finds 0 errors in the fault tests.
The workflow expects 8 device tests where it expected 7.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Merge origin/main (wai-quantum 0.9.0) into the branch
Some checks failed
wai-quantum-landscape-fpga reference design / the member against the model of the logic, and the logic against the model · linux, release (pull_request) Successful in 16m34s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 6m59s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 6m29s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 21m19s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness (pull_request) Successful in 8m58s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 2m27s
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Successful in 9m7s
wai-quantum CPU vector units / member · vector units, avx2 and avx512 (framework-128gb silicon) (pull_request) Successful in 18s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 7m39s
wai-quantum portable tensor program / tensor program · integrated GPU (framework-128gb) (pull_request) Successful in 16s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 8m6s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Successful in 11m40s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 2m3s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 1m55s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 24m1s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Successful in 3m22s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 45m55s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 18m35s
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (pull_request) Successful in 3m27s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 22m41s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 3m12s
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Successful in 29s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 23m54s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 4m44s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 24m31s
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Successful in 11m24s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Successful in 8m26s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 46m4s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Failing after 1h2m20s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 2h29m56s
ca78d7671e
Co-Authored-By: Claude Opus 5.5 <[email protected]>
wai-quantum: the landscape's WebGPU members come from one instance, so a card is found every time
Some checks failed
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 5m59s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 9m55s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Successful in 13m56s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 17m16s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 23m55s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Has been cancelled
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · linux-arm64 (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 / each feature of the independent verifiers' steps compiles alone (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-arm64 (pull_request) Has been cancelled
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Has been cancelled
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Has been cancelled
wai-quantum CUDA member / member · CUDA (jetson-hub) (pull_request) Has been cancelled
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Has been cancelled
wai-quantum energy-landscape GPU members / members · jetson-hub (pull_request) Has been cancelled
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (pull_request) Has been cancelled
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (pull_request) Has been cancelled
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Has been cancelled
wai-quantum OpenCL member / member · OpenCL GPU and CPU (jetson-hub) (pull_request) Has been cancelled
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Has been cancelled
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Has been cancelled
wai-quantum service / service energy · linux packages (pull_request) Has been cancelled
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Has been cancelled
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Has been cancelled
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Has been cancelled
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Has been cancelled
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Has been cancelled
36b7d36fd0
With the CUDA fault fixed, jetson-hub's leg still lost a member: the
RTX 4050 through Vulkan, from the fourth fault on. The disk was not the
cause. The leg compiled and wrote its files, and the same tests failed
twice more with 248 GB free. Nor was the card's memory: at most 630 of
6,141 MiB was in use.

Each discovery made its own wgpu instance. That host's NVIDIA Vulkan
driver (595.99) lists its card to a process's first ten instances and
not after, even with every one dropped. At that moment it logs
NV_ERR_NO_MEMORY for a host-memory allocation. A process that looks
again, as the device tests do for every test and every faulted kernel,
found the card gone; the order of the tests only decided where.

On jetson-hub, one process discovering 60 times:
- an instance a discovery: the card is found 10 times, then not again;
- one instance for the process: the card is found 60 times.

Discovery now takes the process's one instance.
a_member_is_found_however_often_the_host_looks discovers twelve times
in one process and wants the same members each time. On the Framework
(AMD, through Vulkan) and Thor (NVIDIA), the device tests, it among
them, pass twice each. The workflow expects 9 device tests where it
expected 8.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Merge origin/main into the branch
Some checks failed
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 18m37s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 20m23s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 24m34s
joule-code conformance gate / joule-moq-relay, every target (pull_request) Successful in 5m6s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Failing after 3m23s
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Successful in 8m32s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (pull_request) Successful in 8m37s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 11m58s
wai-quantum CUDA member / member · CUDA (jetson-hub) (pull_request) Successful in 3m3s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (jetson-hub) (pull_request) Successful in 1m19s
wai-quantum service / service energy · linux packages (pull_request) Successful in 2m46s
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Successful in 35s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 19m37s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 39s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 1m45s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 1m18s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 4m8s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 1m31s
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (pull_request) Successful in 1m30s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Successful in 2m0s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 45s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 24m32s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 36s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 28m22s
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Successful in 3m42s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Successful in 2m33s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 4m22s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 43m15s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 50m56s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 2h14m47s
40a43f4d4a
Co-Authored-By: Claude Opus 5.5 <[email protected]>
dcharlot closed this pull request 2026-11-09 13:09:18 -05:00
Some checks failed
joule-code conformance gate / joule-moq-relay, its own energy on a counter (macos) (pull_request) Successful in 55s
WAI examples / WAI examples · does this change touch them (pull_request) Successful in 14s
WAI breaking changes and the conformance runner / WAI breaking · does this change touch WAI (pull_request) Successful in 41s
wai key · the real keychain / does this change touch it (pull_request) Successful in 15s
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (pull_request) Successful in 1m13s
wai key · the real keychain / the real keychain · macos (pull_request) Has been skipped
wai-quantum energy-landscape GPU members / does this change touch it (pull_request) Successful in 12s
wai-quantum energy-landscape jobs / does this change touch it (pull_request) Successful in 9s
wai-quantum energy-landscape GPU members / members · framework-128gb (pull_request) Successful in 1m12s
wai-quantum energy-landscape GPU members / members · mac-studio (pull_request) Successful in 1m21s
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Successful in 3m53s
WAI breaking changes and the conformance runner / WAI breaking · wire, record and API against main · linux (pull_request) Successful in 3m44s
wai-quantum energy-landscape jobs / the same bits · macos (pull_request) Successful in 4m35s
wai-quantum energy-landscape jobs / the module under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m39s
WAI breaking changes and the conformance runner / WAI breaking and conform · their tests, and the independent verifiers through wai conform · linux (pull_request) Successful in 6m23s
wai-quantum on every processor / emulated · i686-unknown-linux-gnu (pull_request) Successful in 4m27s
wai-quantum on every processor / emulated · powerpc64-unknown-linux-gnu (pull_request) Successful in 6m38s
joule-moq-remote host agent / joule-moq-remote · does this change touch it (pull_request) Successful in 1m18s
joule-moq-web browser client / joule-moq-web · does this change touch it (pull_request) Successful in 1m17s
joule-moq-room room service / joule-moq-room · does this change touch it (pull_request) Successful in 1m20s
joule-moq-remote host agent / joule-moq-remote, every target (linux-arm64) (pull_request) Has been skipped
joule-moq-remote host agent / joule-moq-remote, every target (macos) (pull_request) Has been skipped
joule-moq-web browser client / joule-moq-web · browser end-to-end (macos) (pull_request) Has been skipped
joule-moq-room room service / joule-moq-room, every target (pull_request) Has been skipped
wai-quantum energy-landscape jobs / native against WebAssembly, over many seeds (pull_request) Successful in 4m48s
standards workspaces build + test / which workspaces this change touches (pull_request) Successful in 1m29s
wai-quantum on every processor / emulated · powerpc64le-unknown-linux-gnu (pull_request) Successful in 8m56s
wai-app and Create / wai-app · does this change touch it (pull_request) Successful in 1m33s
wai-app and Create / wai-app · tests, clippy, the line language's verifier (linux) (pull_request) Has been skipped
wai-app and Create / wai-app · Create, browser end-to-end (macos) (pull_request) Has been skipped
wai-audit collector and player integration / does this change touch it (pull_request) Successful in 57s
WAI operation catalogue / does this change touch it (pull_request) Successful in 52s
wai-quantum on every processor / emulated · s390x-unknown-linux-gnu (pull_request) Successful in 10m23s
wai-fleet service / does this change touch it (pull_request) Successful in 43s
WAI energy receipts / does this change touch it (pull_request) Successful in 45s
WAI HTTP delivery / WAI HTTP · does this change touch it (pull_request) Successful in 42s
WAI conformance / does this change touch it (pull_request) Successful in 46s
wai-fleet service / service · linux (pull_request) Has been skipped
wai-fleet service / service · macos (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify mutations 0/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify mutations 1/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify mutations 2/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify patches 0/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify patches 1/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · falsify patches 2/3 (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · every patch and mutation in exactly one shard (pull_request) Has been skipped
WAI HTTP delivery / HTTP corpus · verified both ways, and the differential (pull_request) Has been skipped
wai-quantum energy-landscape jobs / reader, kernels, answers and the stated result · linux, release (pull_request) Successful in 8m20s
WAI HTTP delivery / cache rules · controls and labelled caches (pull_request) Has been skipped
wai-key-proxy / does this change touch it (pull_request) Successful in 26s
wai-key-proxy / proxy · linux (pull_request) Has been skipped
wai-ledger service / does this change touch it (pull_request) Successful in 40s
wai key · Windows / does this change touch it (pull_request) Successful in 43s
wai-ops-gpu integer operators on GPUs / does this change touch it (pull_request) Successful in 42s
wai-ledger service / service · linux (pull_request) Has been skipped
wai-ledger service / service · macos (pull_request) Has been skipped
wai key · Windows / wai key and the toolchain's tests · windows (pull_request) Has been skipped
wai-ops-gpu integer operators on GPUs / builds · no adapter is not a pass (linux) (pull_request) Has been skipped
wai-ops-gpu integer operators on GPUs / Metal GPU and browser WebGPU (macos) (pull_request) Has been skipped
wai-quantum on every processor / emulated · loongarch64-unknown-linux-gnu (pull_request) Successful in 12m19s
wai-pack / wai-pack · does this change touch it (pull_request) Successful in 27s
wai-pack / wai-pack · linux (pull_request) Has been skipped
wai-pack / wai-pack · linux-arm64 (pull_request) Has been skipped
wai-pack / wai-pack · macos (pull_request) Has been skipped
wai-pack / wai-pack · independent verifier (Python) (pull_request) Has been skipped
WAI examples / WAI examples · portable · linux (pull_request) Successful in 13m10s
wai-pack / wai-pack · the floor through a media prober (pull_request) Has been skipped
wai-pack / wai-pack · dependency licences (pull_request) Has been skipped
wai-audit collector and player integration / collector, player integration and the browser end to end · macos (pull_request) Successful in 1m32s
wai-ops integer operators / does this change touch it (pull_request) Successful in 58s
wai-ops integer operators / linux-aarch64 (pull_request) Has been skipped
wai-ops integer operators / linux-x86_64 (pull_request) Has been skipped
wai-ops integer operators / macos-arm64 (pull_request) Has been skipped
wai-ops integer operators / wasm32-wasip2 (wasmtime) (pull_request) Has been skipped
wai-ops integer operators / wasm32 under Node (pull_request) Has been skipped
wai-ops integer operators / independent checker (Python) (pull_request) Has been skipped
wai-quantum CUDA member / does this change touch it (pull_request) Successful in 43s
wai-quantum contract / does this change touch it (pull_request) Successful in 46s
wai-quantum command line / does this change touch it (pull_request) Successful in 45s
wai-quantum dataflow member / does this change touch it (pull_request) Successful in 43s
wai-quantum docs, course and locales / does this change touch it (pull_request) Successful in 40s
wai-quantum other formats / does this change touch it (pull_request) Successful in 40s
wai-quantum resource estimation / does this change touch it (pull_request) Successful in 42s
wai-quantum signal processor / does this change touch it (pull_request) Successful in 42s
wai-quantum FPGA member / does this change touch it (pull_request) Successful in 41s
wai-quantum editors / does this change touch it (pull_request) Successful in 42s
wai-quantum HIP member / does this change touch it (pull_request) Successful in 41s
wai-quantum for JavaScript / does this change touch it (pull_request) Successful in 37s
wai-quantum-landscape-fpga reference design / does this change touch it (pull_request) Successful in 32s
wai-quantum neural-processor member / does this change touch it (pull_request) Successful in 45s
wai-quantum OpenCL member / does this change touch it (pull_request) Successful in 44s
wai-quantum npu-cores member / does this change touch it (pull_request) Successful in 46s
wai-quantum Metal member / does this change touch it (pull_request) Successful in 46s
wai-quantum OpenQASM reader / does this change touch it (pull_request) Successful in 46s
wai-quantum pulse and dynamics / does this change touch it (pull_request) Successful in 20s
wai-quantum for Python / does this change touch it (pull_request) Successful in 39s
wai-quantum service / does this change touch it (pull_request) Successful in 39s
wai-quantum extension points / does this change touch it (pull_request) Successful in 41s
wai-quantum matrix-extension member / does this change touch it (pull_request) Successful in 40s
wai-quantum error correction and mitigation / does this change touch it (pull_request) Successful in 57s
wai-quantum tensor-engine member / does this change touch it (pull_request) Successful in 40s
wai-quantum-qpu / does this change touch it (pull_request) Successful in 43s
wai-quantum studio and desktop / does this change touch it (pull_request) Successful in 40s
wai-quantum portable tensor program / does this change touch it (pull_request) Successful in 32s
wai-quantum verdicts and repairs / does this change touch it (pull_request) Successful in 48s
wai-sink-swift native sink package / does this change touch it (pull_request) Successful in 46s
wai-sink-android native sink library / does this change touch it (pull_request) Successful in 48s
wai-quantum views in agent hosts / does this change touch it (pull_request) Successful in 48s
WAI mbt2018_mean integer decode (regenerated vectors) / does this change touch it (pull_request) Successful in 33s
wai-quantum CPU vector units / does this change touch it (pull_request) Successful in 49s
wai-quantum variational and algorithm library / does this change touch it (pull_request) Successful in 50s
wai-quantum WebGPU member / does this change touch it (pull_request) Successful in 49s
WAI conformance / fast integer kernels, every x86_64 kernel set (AVX-512 silicon) (pull_request) Successful in 3m48s
wai-web wasm32 / does this change touch it (pull_request) Successful in 17s
WAI Studio / does this change touch it (pull_request) Successful in 21s
wai-web reach builds / wai-web reach · does this change touch it (pull_request) Successful in 22s
wai-quantum on every processor / emulated · sparc64-unknown-linux-gnu (pull_request) Successful in 14m41s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 21s
wai-quantum on every processor / emulated · armv7-unknown-linux-gnueabihf (pull_request) Successful in 17m26s
WAI conformance / codec wrappers · fuzz smoke, text decode limits, C entry points, provenance, the semantic path (pull_request) Successful in 57s
wai-audit collector and player integration / collector · linux (pull_request) Successful in 2m17s
WAI examples / WAI examples · the archive, the readiness check, the browser and Apple · macos (pull_request) Successful in 18m46s
standards workspaces build + test / macOS energy backends (pull_request) Successful in 10m36s
wai-quantum dataflow member / member · dataflow device absent (macos) (pull_request) Successful in 17s
wai-quantum command line / command line · macos (pull_request) Successful in 1m48s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 56s
wai-quantum FPGA member / member · FPGA datapath, simulated (macos) (pull_request) Successful in 1m3s
wai-quantum on every processor / emulated · riscv64gc-unknown-linux-gnu (pull_request) Successful in 22m7s
wai-quantum editors / editors · macos (pull_request) Successful in 1m44s
WAI conformance / faces from keypoints under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m51s
wai-quantum WebGPU member / member · DX12 and Vulkan (cbio-windows) (pull_request) Successful in 11m44s
wai-quantum OpenCL member / member · OpenCL GPU (macos) (pull_request) Successful in 37s
WAI conformance / quantum core and corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 3m43s
wai-quantum pulse and dynamics / the same bits · macos (pull_request) Successful in 1m7s
WAI operation catalogue / the catalogue and every door · linux (pull_request) Successful in 6m38s
wai-quantum CUDA member / member · CUDA absent (linux) (pull_request) Successful in 1m43s
wai-quantum contract / the policy is linked, and the deprecations page reads (pull_request) Successful in 8s
wai-quantum for Python / python · macos (pull_request) Successful in 2m26s
wai-quantum HIP member / member · HIP (framework-128gb) (pull_request) Successful in 1m13s
wai-quantum OpenCL member / member · OpenCL GPU (framework-128gb) (pull_request) Successful in 26s
wai-quantum neural-processor member / member · neural processor (macos) (pull_request) Successful in 5m3s
wai-quantum-qpu / credentials in the keychain (macos) (pull_request) Successful in 23s
wai-quantum portable tensor program / tensor program · Metal and the arm64 CPU (macos) (pull_request) Successful in 16s
WAI energy receipts / energy receipts · macos (pull_request) Successful in 10m43s
wai-quantum docs, course and locales / the Studio's words in every locale · linux (pull_request) Successful in 29s
wai-quantum npu-cores member / member · npu-cores, neural processor (framework-128gb silicon) (pull_request) Successful in 1m29s
wai-quantum service / service · macos (pull_request) Successful in 3m51s
wai-quantum portable tensor program / tensor program · integrated GPU (framework-128gb) (pull_request) Successful in 17s
wai-quantum CPU vector units / member · vector unit absent (macos) (pull_request) Successful in 16s
wai-quantum CPU vector units / member · vector units, avx2 and avx512 (framework-128gb silicon) (pull_request) Successful in 21s
wai-quantum docs, course and locales / the course and the command line's languages · linux (pull_request) Successful in 2m38s
wai-quantum studio and desktop / desktop app · macos (pull_request) Successful in 3m53s
wai-quantum WebGPU member / member · Metal (macos) (pull_request) Successful in 2m2s
wai-quantum other formats / the set under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m40s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 16m1s
wai-quantum Metal member / member · Metal (macos) (pull_request) Successful in 33s
wai-quantum contract / API compatibility · linux (pull_request) Successful in 6m19s
wai-quantum matrix-extension member / member · matrix extension absent (macos) (pull_request) Successful in 12s
wai-quantum WebGPU member / member · browser WebGPU (macos) (pull_request) Successful in 1m37s
wai-quantum FPGA member / member · FPGA simulation absent (linux) (pull_request) Successful in 37s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:401e) (pull_request) Successful in 6m14s
wai-quantum neural-processor member / member · neural processor absent (linux) (pull_request) Successful in 45s
wai-sink-android native sink library / every ABI, the AAR, and the instrumented tests in a headless emulator · macos (pull_request) Successful in 5m44s
wai-quantum Metal member / member · Metal absent (linux) (pull_request) Successful in 55s
wai-quantum OpenCL member / member · OpenCL absent (linux) (pull_request) Successful in 34s
wai-quantum other formats / readers, writers and the set · linux (pull_request) Successful in 5m21s
wai-quantum editors / editors · linux (pull_request) Successful in 2m44s
wai-quantum dataflow member / member · dataflow device, simulated (pci 1e52:b140) (pull_request) Successful in 8m53s
wai-quantum OpenQASM reader / corpus under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m4s
wai-quantum for JavaScript / javascript · linux (pull_request) Successful in 4m2s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs under wasm32-wasip2 (wasmtime) (pull_request) Successful in 2m23s
wai-quantum resource estimation / estimation and calibration · linux, release (pull_request) Successful in 8m8s
wai-quantum OpenQASM reader / reader and corpus · linux (pull_request) Successful in 3m16s
wai-quantum for Python / python · linux (pull_request) Successful in 3m13s
wai-quantum extension points / the registry under wasm32-wasip2 (wasmtime) (pull_request) Successful in 1m14s
wai-quantum matrix-extension member / member · matrix extension, emulated (aarch64 Linux) (pull_request) Successful in 42s
wai-quantum pulse and dynamics / reader, simulator and pulse jobs · linux, release (pull_request) Successful in 5m18s
wai-quantum portable tensor program / tensor program · CPU, mutants, GPU builds (pull_request) Successful in 59s
wai-quantum WebGPU member / member · integrated GPU, Vulkan (framework-128gb) (pull_request) Successful in 9m27s
wai-quantum-qpu / clients against their contracts (linux) (pull_request) Successful in 1m10s
wai-quantum contract / schemas and the committed tool lists · linux (pull_request) Successful in 13m39s
wai-quantum CPU vector units / member · vector unit, rvv 1024-bit (riscv64, emulated) (pull_request) Successful in 29s
WAI Studio / Studio in Chromium and Firefox · macos (pull_request) Successful in 8m18s
wai-sink-swift native sink package / libwai slices, desktop tests, simulator tests · macos (pull_request) Successful in 11m28s
wai-quantum CPU vector units / member · vector unit, sve 128-bit (aarch64, emulated) (pull_request) Successful in 53s
wai-quantum studio and desktop / studio · browser (pull_request) Successful in 5m10s
wai-quantum CPU vector units / member · vector unit, sve 2048-bit (aarch64, emulated) (pull_request) Successful in 1m3s
wai-quantum error correction and mitigation / codes, decoders, texts and mitigation · linux, release (pull_request) Successful in 3m30s
wai-quantum-landscape-fpga reference design / the member against the model of the logic, and the logic against the model · linux, release (pull_request) Successful in 8m24s
wai-quantum CPU vector units / member · vector unit, sve 512-bit (aarch64, emulated) (pull_request) Successful in 54s
wai-quantum CPU vector units / member · vector unit, rvv 128-bit (riscv64, emulated) (pull_request) Successful in 1m39s
wai-quantum CPU vector units / member · vector unit, avx2 (x86_64 silicon) (pull_request) Successful in 1m19s
wai-quantum verdicts and repairs / verdicts, repairs and the intent set · linux (pull_request) Successful in 3m48s
wai-quantum CUDA member / member · CUDA (thor) (pull_request) Successful in 3m19s
wai-quantum studio and desktop / desktop app · windows (pull_request) Successful in 9m44s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (thor) (pull_request) Successful in 1m5s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux, release (pull_request) Successful in 2m31s
wai-quantum verdicts and repairs / the intent set and the verdict under wasm32-wasip2 (wasmtime) (pull_request) Successful in 4m35s
wai-quantum tensor-engine member / member · tensor engine, the kernel toolchain's simulator (linux) (pull_request) Successful in 6m15s
wai-quantum service / service · linux (pull_request) Successful in 9m20s
WAI Studio / the catalogue's actions, the unit tests and the core · linux (pull_request) Successful in 3m28s
wai-quantum studio and desktop / desktop app · linux (pull_request) Successful in 9m0s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 26m26s
wai-quantum WebGPU member / shader checks · browser build · wasip2 inertness (pull_request) Successful in 5m3s
wai-quantum views in agent hosts / views · the page and its engine (pull_request) Successful in 5m22s
wai-quantum extension points / the registry and the example · linux (pull_request) Successful in 10m47s
wai-quantum signal processor / processor and member · signal processor, emulated (pull_request) Successful in 16m18s
wai-web reach builds / wai-web reach builds · the package of record, every output as recorded (pull_request) Successful in 5m16s
wai-quantum views in agent hosts / views · a scripted host (pull_request) Successful in 7m7s
WAI mbt2018_mean integer decode (regenerated vectors) / regenerate mbt2018_mean integer vectors → Rust decode, required (pull_request) Successful in 8m5s
wai-quantum WebGPU member / member · software Vulkan (linux) (pull_request) Successful in 7m37s
wai-quantum on every processor / emulated · aarch64-unknown-linux-gnu (pull_request) Successful in 48m36s
wai-quantum docs, course and locales / every command and snippet in the docs · linux (pull_request) Successful in 21m45s
wai-web reach builds / wai-web reach builds · this tree's wai-web, every rung on its engine line (pull_request) Successful in 6m14s
wai-quantum command line / command line · linux (pull_request) Successful in 27m31s
wai-quantum energy-landscape GPU members / members · jetson-hub (pull_request) Successful in 3m38s
WAI energy receipts / energy receipts · linux (pull_request) Successful in 37m0s
wai-web wasm32 / wai-web wasm32 build · corpus, menu and writers (pull_request) Successful in 18m37s
WAI Studio / Studio in WebKit · linux (pull_request) Successful in 20m23s
wai-quantum WebGPU member / member · GPU, Vulkan (thor) (pull_request) Successful in 24m34s
joule-code conformance gate / joule-moq-relay, every target (pull_request) Successful in 5m6s
repository checks / lockfiles, advisories, tests in CI, workflow hygiene, spec and section references, public text (pull_request) Failing after 3m23s
joule-code conformance gate / joule-moq-ingest, every target (pull_request) Successful in 8m32s
wai-quantum energy-landscape jobs / the same bits · linux-arm64 (pull_request) Successful in 8m37s
WAI examples / WAI examples · android-app · linux-arm64 (pull_request) Successful in 11m58s
wai-quantum CUDA member / member · CUDA (jetson-hub) (pull_request) Successful in 3m3s
wai-quantum OpenCL member / member · OpenCL GPU and CPU (jetson-hub) (pull_request) Successful in 1m19s
wai-quantum service / service energy · linux packages (pull_request) Successful in 2m46s
wai-quantum portable tensor program / tensor program · GPUs (jetson-hub) (pull_request) Successful in 35s
standards workspaces build + test / joule-code-rs (joule-code/joule-code-rs, joule-code-rs, linux-arm64, true) (pull_request) Successful in 19m37s
WAI conformance / v2 vocabulary · manifests validate as stated (pull_request) Successful in 39s
WAI conformance / delivery telemetry · CMCD and CMSD against an independent library (pull_request) Successful in 1m45s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 1m18s
WAI conformance / C2PA manifest emission · signed, read back, validated (pull_request) Successful in 4m8s
wai-quantum HIP member / member · HIP absent (linux-arm64) (pull_request) Successful in 1m31s
wai-quantum-landscape-fpga reference design / the board's code on the board's processor's architecture · linux-arm64, release (pull_request) Successful in 1m30s
wai-quantum pulse and dynamics / the same bits · linux-arm64 (pull_request) Successful in 2m0s
wai-quantum npu-cores member / member · npu-cores absent (linux-arm64) (pull_request) Successful in 45s
WAI conformance / each feature of the independent verifiers' steps compiles alone (pull_request) Successful in 24m32s
wai-quantum tensor-engine member / member · tensor engine absent (linux-arm64) (pull_request) Successful in 36s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 28m22s
wai-quantum extension points / the registry and the example · linux-arm64 (pull_request) Successful in 3m42s
wai-quantum variational and algorithm library / parameters, gradients, optimisers, VQE, QAOA and builders · linux-arm64, release (pull_request) Successful in 2m33s
wai-sink-android native sink library / the JNI layer and the platform-free half on the host JVM · linux-arm64 (pull_request) Successful in 4m22s
wai-quantum WebGPU member / member · GPU, Vulkan (jetson-hub) (pull_request) Successful in 43m15s
WAI energy receipts / energy receipts · linux-arm64 (pull_request) Successful in 50m56s
WAI conformance / independent verifiers · claims, JWP, key discovery and integer payloads (Python) (pull_request) Successful in 2h14m47s

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!673
No description provided.