javascript for 🐜's, a tiny runtime with big ambitions antjs.org
ant docs exec-plans active node-ant-differential-runner.md
2.5 kB · 56 lines
Markdown

Node–Ant Differential Runner #

Status: active Last reviewed: 2026-08-29 Owner: theMackabu

Goal #

Provide a deterministic developer tool that generates focused JavaScript probes, compares their complete process behavior under Node and Ant, and reduces mismatches to standalone reproducers.

Initial scope #

  • Property access, ownership, descriptors, enumeration, and serialization.
  • RegExp construction, execution, replacement, and state.
  • Promise and microtask ordering around native-to-JavaScript calls.
  • Node stream public property values and descriptor shape.

The runner is for discovery and triage. Its findings do not automatically become conformance requirements because Node-version differences and deliberate surface omissions must still be classified.

Design decisions #

  • Generate probes from a seed so every finding is reproducible.
  • Compare status, signal, timeout, stdout, and stderr rather than stdout alone.
  • Canonically encode values that ordinary JSON cannot preserve.
  • Minimize structured scenario arrays instead of rewriting arbitrary JavaScript text, keeping reduced repros syntactically valid and understandable.
  • Keep stream probes atomic so the known own-key divergence does not force every randomly generated property case to fail.
  • Keep orchestration Node-hosted so a broken Ant behavior cannot compromise the comparison driver.

Tasks #

Validation status #

  • node tests/differential/test.mjs: passed, including deterministic generation, CLI parsing, minimization, child-process capture, and a complete Node-versus-Node comparison through the runner.
  • Repository structure and knowledge checks: passed by invoking the underlying .github/agents/ checks directly; maid is not installed in the sandbox.
  • git diff --check: passed.
  • An Ant-versus-Node corpus run was not possible because this fresh sandbox has no configured build/ant. The runner's missing-executable diagnostic was exercised instead. The validation router's generic tests/ recommendations are not directly applicable to these Node-hosted orchestration modules.