W14: F8 cross-host differential battery (test-only) — CHECKLIST COMPLETE
Committed replacement for the review's ephemeral 130-probe corpus: spec/tests/differential-probes.txt (49 probes: F-1 int/float display, K18 overflow, F-3 apply + dict order, S-4 float printing, strings, collections, special forms, error normalization) evaluated on the native server (epoch protocol printer) and the SHIPPED WASM kernel (eval_wasm_probes.js via guest sx-serialize), diffed by scripts/test-differential.sh with a KNOWN_DIVERGENT heal-detecting ledger. Result: 46/49 agree. All 3 divergences share one root cause, verified live: bare sx_server's `apply` does not spread its argument list — (apply + (list 1 2 3)) errors "Expected number, got list", (apply str l) returns the serialized list; the WASM kernel spreads correctly and the test runner masks the bug with its own apply binding (F-7 class). Finding refinement: F-1's float-display divergence (0.3 vs 0.30000000000000004) is a K.eval JS-boundary artifact — guest-serialized output agrees across hosts; the battery therefore compares guest serialization. This completes the W14 checklist: 7 pin suites, 6 gate scripts/runners, 2 harness capabilities, C9 label cleanup, adapter-dom render coverage. Test-only: no semantics edits, no push. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -104,10 +104,40 @@ Pin each confirmed-and-fixed finding with a minimal repro. Add suites to
|
||||
baseline identities updated in the same commit
|
||||
|
||||
### F. Differential battery
|
||||
- [ ] F8 — cross-host differential battery (same source, all hosts agree)
|
||||
- [x] F8 — cross-host differential battery: `spec/tests/differential-probes.txt`
|
||||
(49 probes) × native server vs shipped WASM kernel via
|
||||
`scripts/test-differential.sh` + `eval_wasm_probes.js`. 46 agree,
|
||||
3 ledgered KNOWN_DIVERGENT (F-3: bare-server `apply` does not spread —
|
||||
runner masks it, F-7 class). Refinement: the F-1 float-display
|
||||
divergence is a K.eval JS-boundary artifact — guest `sx-serialize`
|
||||
output AGREES across hosts
|
||||
|
||||
**CHECKLIST COMPLETE 2026-07-04** — all W14 items delivered. Open handoffs:
|
||||
sx_render.ml regen drift (Blocked, hosts lane), adapter-dom depth tests,
|
||||
3 WASM load-error bisects (hash-table/r7rs/sets), CI wiring of the four
|
||||
gate scripts (D3 maintainer decision).
|
||||
|
||||
## Progress log (newest first)
|
||||
|
||||
- 2026-07-04 — **F8 differential battery — CHECKLIST COMPLETE**. Committed
|
||||
replacement for the review's ephemeral 130-probe corpus:
|
||||
`spec/tests/differential-probes.txt` (49 probes across F-1 int/float
|
||||
display, K18 overflow, F-3 apply + dict order, S-4 float printing,
|
||||
strings/collections/special forms/error cases) evaluated on the native
|
||||
server (epoch protocol) and the shipped WASM kernel
|
||||
(`eval_wasm_probes.js`, guest `sx-serialize`), diffed by
|
||||
`scripts/test-differential.sh` with a KNOWN_DIVERGENT ledger (heal →
|
||||
red → delete entry). Result: 46/49 agree; 3 divergences, all one root
|
||||
cause — **bare sx_server's `apply` does not spread its arg list**
|
||||
((apply + (list 1 2 3)) → "Expected number, got list"; WASM spreads
|
||||
correctly; the test runner masks it with its own apply — F-7 class).
|
||||
Finding refinement: F-1's float-display divergence (0.3 vs 0.3000…4) is
|
||||
purely a K.eval JS-boundary artifact — guest-serialized output agrees.
|
||||
W14 delivered: 7 pin suites (spec/tests/test-gate-pins.sx, 29 tests),
|
||||
4 gate scripts (protocol-gate 11, env-parity 7, harness-parity 12,
|
||||
wasm-corpus 83-file, suite-baseline 273-pin, differential 49-probe),
|
||||
2 harness capabilities (C22 log-first, C21 perform-mode), C9 label
|
||||
cleanup, adapter-dom render coverage. Test-only throughout.
|
||||
- 2026-07-04 — **C9 empty-suite labels (item E.3) — section E COMPLETE**.
|
||||
The sweep found the defect much wider than the finding: SIX files carried
|
||||
suite-less top-level deftests (test-chars 43, test-import-bind 14,
|
||||
|
||||
Reference in New Issue
Block a user