open-standards/wai/wai-module-check/planted/cases.txt
Transaction Science a2e11f6ff2 waism: the probe of §9.3 and its vectors, and the probe with a NaN-dependent branch planted
planted/build.py now writes §9.3's probe beside the checker corpus: probe.wasm, whose wai_run
loads each case's operands from a data segment at run time, runs the twelve operations of the
table and stores each result in order (80 bytes), in a memory of one page whose minimum is its
maximum; and probe.txt, each case's operands and the result the deterministic profile
prescribes, and the probe's bytes. probe-nan-branch.wasm is the probe with a branch after each
operation on whether its result is a NaN, writing the canonical NaN itself.

Both checkers hold both at the float level and refuse them R3 at the integer level
(cases.txt; tests/module_rules.rs). What the planted copy breaks is F1, a property of the probe
on engines that no checker decides; the next commit's host shows the probe holds it and the
planted copy fails it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-11-09 18:37:15 -05:00

118 lines
4.3 KiB
Text

# The checker corpus of waism.md §9.1, §9.2's grow-swallowed and §9.3's probe,
# written by build.py: `<case> <level> <caps> <verdict>`, one line a verdict.
oversize integer module_bytes=150 refused R1 0
oversize float module_bytes=150 refused R1 0
oversize integer - held # derived
oversize float - held # derived
invalid integer - refused R2 -
invalid float - refused R2 -
shared-memory integer - refused R2 -
shared-memory float - refused R2 -
component integer - refused R2 -
component float - refused R2 -
scalar-float integer - refused R3 131
scalar-float float - held # derived
float-unreachable integer - refused R3 134
float-unreachable float - held # derived
float-block-type integer - refused R3 132
float-block-type float - held # derived
float-select-type integer - refused R3 138
float-select-type float - held # derived
float-constant integer - refused R3 47
float-constant float - held # derived
float-signature integer - refused R3 32
float-signature float - held # derived
float-vector integer - refused R3 167
float-vector float - held # derived
float-conversion integer - refused R3 149
float-conversion float - held # derived
float-truncation integer - refused R3 133
float-truncation float - held # derived
float-load integer - refused R3 133
float-load float - held # derived
relaxed-swizzle integer - refused R4 167
relaxed-swizzle float - refused R4 167
relaxed-laneselect integer - refused R4 185
relaxed-laneselect float - refused R4 185
relaxed-dot integer - refused R4 167
relaxed-dot float - refused R4 167
relaxed-madd float - refused R4 185
relaxed-madd integer - refused R3 185 # derived
import-function integer - refused R5 33
import-function float - refused R5 33
import-memory integer - refused R5 33
import-memory float - refused R5 33
import-global integer - refused R5 33
import-global float - refused R5 33
no-memory integer - refused R6 129
no-memory float - refused R6 129
two-memories integer - refused R6 44
two-memories float - refused R6 44
memory64 integer - refused R6 41
memory64 float - refused R6 41
no-maximum integer - refused R6 41
no-maximum float - refused R6 41
over-pages integer memory_pages=16 refused R6 41
over-pages float memory_pages=16 refused R6 41
over-pages integer - held # derived
over-pages float - held # derived
two-tables integer - refused R7 45
two-tables float - refused R7 45
externref-table integer - refused R7 41
externref-table float - refused R7 41
table-unfixed integer - refused R7 41
table-unfixed float - refused R7 41
table-grow integer - refused R7 142
table-grow float - refused R7 142
table-set integer - refused R7 142
table-set float - refused R7 142
table-fill integer - refused R7 144
table-fill float - refused R7 144
start integer - refused R8 120
start float - refused R8 120
funcref-parameter integer - refused R9 32
funcref-parameter float - refused R9 32
externref-global integer - refused R9 47
externref-global float - refused R9 47
funcref-local integer - refused R9 132
funcref-local float - refused R9 132
i64-export integer - refused R10 78
i64-export float - refused R10 78
extra-export integer - refused R10 116
extra-export float - refused R10 116
exported-global integer - refused R10 124
exported-global float - refused R10 124
missing-run integer - refused R10 141
missing-run float - refused R10 141
over-functions integer functions=8 refused R11 30
over-functions float functions=8 refused R11 30
over-functions integer - held # derived
over-functions float - held # derived
tail-call integer - refused R12 131
tail-call float - refused R12 131
exception integer - refused R12 47
exception float - refused R12 47
struct-type integer - refused R12 30
struct-type float - refused R12 30
call-ref integer - refused R12 140
call-ref float - refused R12 140
minimal-int integer - held
minimal-int float - held
vector-int integer - held
vector-int float - held
bulk-and-sign integer - held
bulk-and-sign float - held
fixed-table integer - held
fixed-table float - held
fixed-memory integer - held
fixed-memory float - held
custom-section integer - held
custom-section float - held
minimal-float float - held
minimal-float integer - refused R3 131
grow-swallowed integer - held
grow-swallowed float - held
probe float - held
probe integer - refused R3 170 # derived
probe-nan-branch float - held
probe-nan-branch integer - refused R3 166 # derived