From 93b27c74b5afc734b83b032638c7a82db66379df Mon Sep 17 00:00:00 2001 From: giles Date: Sun, 7 Jun 2026 11:58:45 +0000 Subject: [PATCH] conformance: exclude js (foreign test262 fixtures vs .expected files) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit js conformance.sh walks lib/js/test262-slice/**/*.js (foreign test262 fixtures), escapes each with python3, evals via (js-eval), and compares output to a sibling .expected file by substring match — counting pass/fail in bash against a >=50% target. It loads no SX test suites and emits no SX counter/dict scoreboard (no scoreboard.json). The shared driver only epoch-loads SX preloads and evals SX test suites emitting a scoreboard — it cannot drive a foreign-fixture-vs-expected comparison harness (same category as lua/forth/smalltalk). Left conformance.sh untouched; recorded the exclusion. Co-Authored-By: Claude Opus 4.8 (1M context) --- plans/agent-briefings/conformance-loop.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/plans/agent-briefings/conformance-loop.md b/plans/agent-briefings/conformance-loop.md index 2f00d072..0c8b7c0f 100644 --- a/plans/agent-briefings/conformance-loop.md +++ b/plans/agent-briefings/conformance-loop.md @@ -90,7 +90,7 @@ Blocked with specifics and move to the next candidate next iteration. - [x] feed — migrated 189/189 (counters; test-harness.sx preload for counters+helper) - [~] forth — excluded: foreign Forth corpus (Hayes core.fr) via awk+python preprocessing - [x] go — migrated 609/609 (dict; pass/count → :failed = count-pass, like erlang) -- [ ] js +- [~] js — excluded: foreign test262 .js fixtures vs .expected files (python escape, substring match) - [ ] ocaml - [ ] smalltalk - [ ] tcl @@ -100,6 +100,14 @@ Blocked with specifics and move to the next candidate next iteration. ## Progress log (newest first) +- 2026-06-07 — js: EXCLUDED (foreign-runner, like lua/forth/smalltalk). conformance.sh + walks lib/js/test262-slice/**/*.js (foreign test262 fixtures), reads each .js + its + sibling .expected file, escapes the JS source with python3, evaluates via (js-eval), + and compares output to .expected by substring match — counting pass/fail in bash against + a ≥50% target. It loads no SX test suites and emits no SX counter/dict scoreboard (no + scoreboard.json at all). The shared driver only epoch-loads SX preloads + evals SX test + suites; it can't drive a foreign-fixture-vs-expected comparison harness. Left + conformance.sh untouched. Not migrated. - 2026-06-07 — go: migrated to `MODE=dict`, 609/609 exact parity (lex 129, parse 179, types 102, eval 106, runtime 40, stdlib 41, e2e 12). Same shape as erlang — one-session load, per-suite pass + *count* (total) counters — so each suite's dict-literal runner