v0.38.0 — ten-lane feature hub + claim-verification gate
The largest release: a ten-lane parallel feature hub — five miscompile classes closed, falcon's call_indirect story finished end-to-end, a stack-overflow-safety layout, the flat-executor verification upgrade discharging a real proof admit, and a claim-verification gate that makes doc honesty a build property.
Gated by the new claim-check CI gate (17/17) PLUS an independent cold-agent claim review (re-derived 470 Qed / 8 Admitted, three non-vacuity spot-checks passed).
Added
- Claim-verification gate (#688): proof-count/admit/coverage/roadmap claims marked → bound to re-derivable evidence → CI-gated; drift fails the build (caught six stale counts on standup).
- Heterogeneous funcref tables (#676): runtime type-id check — falcon's dispatch complete (#642→#650→#664→#676).
--stack-layout=low(#687): overflow BusFaults instead of corrupting linmem/globals (oracle: stack-high clobbered 4/8 canaries pre-fault; stack-low faults with 8/8 intact). No MPU needed.- Flat-executor upgrade (#697): SBCS + conditional flags + branch-taking executor; all ten i64 comparisons proven expansion-tier; first #73 div admit discharged. 470 Qed / 8 Admitted; SailArmBridge 92 Qed.
Fixed
- Loop-bound param clobber (#663) · ADD.W raw-imm packing → wrong-address + bounds bypass (#681, +3 audited sites) · bulk-memory operand clobber + silent-unmasked-while-attested (#677/#679) · v128 silent no-op drop (#680) · ELF tooling: .ARM.attributes + thumb-autodetect disasm + STB_LOCAL internal symbols (#637/#656).
Changed
- Shift-mask elision (#686, flag-off) — recovers the #682 mask's 12% where the amount is provably < 32.
Verification
Falsification (kill-criterion): this release is wrong if any shipped .text differs from wasmtime on the exercised inputs, if a frozen anchor drifts without a refreeze, or if claim_check.py derives counts differing from the docs. All three are CI-gated.
Platform binaries attach ~10 min after the tag.
🤖 Generated with Claude Code