Reorganizes the code so parallel pulls stop editing the same lines. That's what made earlier pulls conflict even when their changes were unrelated. Behaviour is unchanged: the same 71 tests pass, and the screenshot hook regenerated no images.
tests/run.jsruns every*.test.jsundertests/, so a feature's tests go in a new file.engine.test.jsanddiagnostics.test.jsare split by topic intotests/engine/andtests/diagnostics/.- Imports of more than one name list one per line, sorted. A new
importshook and CI step check this (tools/check-imports.py --fixrewrites). types/helper.d.tsis split by area and re-exports the parts, and theEffectunion is sorted.- The engine's driver (tasks, timers, I/O) moves to
driver.js.
tests/run.js now starts main() inside the main loop. Before, a run that finished before the loop started never exited. docs/DEVELOPING.md gains a "Keeping branches mergeable" section.
This conflicts with #10, which edits files it moves. Either can merge first; I'll rebase the other onto main after it does.
🤖 Generated with Claude Code