Gnome toolbar for Tangled code review.

refactor: lay the code out so parallel branches stop editing the same lines #12

Merged permadeath.com
targeting main from azurite-frogmouth.test.pds.did.bot/gnome-shell-extension-tangled-reviewer:refactor/conflict-friendly-layout
Merged opened by and assigned to permadeath.com
targeting main from azurite-frogmouth.test.pds.did.bot/gnome-shell-extension-tangled-reviewer:refactor/conflict-friendly-layout

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.js runs every *.test.js under tests/, so a feature's tests go in a new file.
  • engine.test.js and diagnostics.test.js are split by topic into tests/engine/ and tests/diagnostics/.
  • Imports of more than one name list one per line, sorted. A new imports hook and CI step check this (tools/check-imports.py --fix rewrites).
  • types/helper.d.ts is split by area and re-exports the parts, and the Effect union 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

Commits 0