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