W14: F2 WASM corpus runner — spec tests on the SHIPPED browser kernel
conformance.md F-2: no runner fed spec/tests through the shipped sx_browser.bc.wasm.js — the F-1/F-3 native/WASM divergences existed undetected because of exactly this gap. Add hosts/ocaml/browser/run_wasm_corpus.js: boots the shipped kernel headless in Node (stub block + module preload mirroring test_wasm_native.js, the blessed boot path), registers the test-framework hooks, runs ONE test file per process and emits a parseable CORPUS-RESULT line — process isolation means a hanging file is killed by the driver's per-file timeout without ending the sweep. Add scripts/test-wasm-corpus.sh: sweeps spec/tests, applies a SKIP / KNOWN_FAIL ledger (green-flip on a KNOWN_FAIL fails the run so the ledger cannot rot), gates on everything else. Empirical baseline (2026-07-04): 83 files, 80 fully green, 5192 passes, zero test failures on the shipped kernel — including test-gate-pins (29/29). KNOWN_FAIL: test-hash-table/test-r7rs/test-sets hit an opaque jsoo load-error mid-file (22/87/30 tests pass first). Full sweep ~13 min; sx-build-all.sh wiring deferred to the D3 gate-definition decision. Test-only: no semantics edits, no push. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -82,7 +82,13 @@ Pin each confirmed-and-fixed finding with a minimal repro. Add suites to
|
||||
reactive attrs, hydration cursor)
|
||||
|
||||
### D. WASM corpus runner
|
||||
- [ ] F2 — promote conformance's `run_wasm.js` prototype into CI
|
||||
- [x] F2 — BUILT `hosts/ocaml/browser/run_wasm_corpus.js` (one file per
|
||||
node process, shipped-kernel boot per test_wasm_native.js) +
|
||||
`scripts/test-wasm-corpus.sh` sweep driver with SKIP/KNOWN_FAIL
|
||||
ledger. Baseline: 83 files, 80 fully green, 5192 passes, 0 test
|
||||
failures; 3 partial load-errors (hash-table/r7rs/sets, opaque jsoo
|
||||
exception mid-file). Full sweep ~13 min — wiring into
|
||||
sx-build-all.sh left as maintainer call (gate definition D3)
|
||||
|
||||
### E. Epoch-loop protocol fuzz + skip-list
|
||||
- [ ] C3/C4/C5/C6/C7 — epoch protocol fuzz suite
|
||||
@@ -94,6 +100,21 @@ Pin each confirmed-and-fixed finding with a minimal repro. Add suites to
|
||||
|
||||
## Progress log (newest first)
|
||||
|
||||
- 2026-07-04 — **F2 WASM corpus runner (section D COMPLETE)**. The review's
|
||||
headline conformance gap: no runner ever fed spec/tests through the
|
||||
SHIPPED browser artifact (F-1/F-3 divergences existed undetected). Built
|
||||
`run_wasm_corpus.js` (boots sx_browser.bc.wasm.js headless in Node with
|
||||
the test_wasm_native.js stub block, loads the 23 web-stack modules,
|
||||
registers framework hooks, runs ONE file per process → parseable
|
||||
`CORPUS-RESULT` line; process isolation means a hung file can't kill the
|
||||
sweep) + `scripts/test-wasm-corpus.sh` (sweep driver, SKIP/KNOWN_FAIL
|
||||
ledger with green-flip detection). **Empirical baseline: 83 files, 80
|
||||
fully green, 5192 passes, ZERO test failures on the shipped kernel** —
|
||||
including test-gate-pins (29/29) and test-letrec-resume (the kernel
|
||||
provides cek-* driver bindings, broader than bare sx_server). 3 partial
|
||||
load-errors (test-hash-table 22p, test-r7rs 87p, test-sets 30p — opaque
|
||||
jsoo exception mid-file, diagnosing which form = follow-up). Full sweep
|
||||
~13 min; CI wiring deferred to the D3 gate-definition decision. Test-only.
|
||||
- 2026-07-04 — **C23 adapter-dom render-output tests (item C.4) — section C
|
||||
COMPLETE**. Key discovery: the "browser-only" exclusion of adapter-dom
|
||||
testing is FALSE for render output — `(import (web adapter-dom))`
|
||||
|
||||
Reference in New Issue
Block a user