Research
Two workstreams share this tree. The platform is the pipeline, the command line and the app — everything under The pipeline. The research is this: the corpus of routed boards, the model that reads it, and the instruments built to ask whether any of it helps.
It is written up separately because it answers to a different standard. A platform change is right when the board is better; a research claim is right when it is measured, on how many boards, against which baseline, and with what it does not show stated beside it.
- Routability — the corpus, the congestion maps, and the model the placer ranks with. It carries a standing correction block at the top naming which of its numbers are withdrawn.
- Physarum — a slime mould routes the placement in the anneal's time, and what its saturation can and cannot tell you.
- Photonics — the fold places a photonic chip from its netlist alone; LiDAR routes every net, 100% where Apollo publishes 95 to 99%, and 21% fewer crossings than the hand layout.
- The rubric — the placer against the people who made the boards, on what a reviewer actually grades.
- Multi-agent RL — a literature review, parked: nothing published beats a tuned annealer on a real router, and the one cheap test that would settle it here.
The write-ups are paper/isonet.tex and paper/mendicant.tex, and CHANGELOG.md under Unreleased is the running log: every experiment, its numbers, and what it concluded. Several of the obvious experiments have been run and came back null; they are written up as fully as the wins.
The standing rule
Between-board and within-board are different questions, and on this corpus they have had different answers.
Between boards is: can this score tell an easy board from a hard one? Within a board is: can it order one board's own anneals? The second is the one the placer actually asks — it has six placements of the same design and has to pick one — and a strong between-board AUC has repeatedly turned out to be board difficulty wearing a new name. A score that cannot rank a single board's anneals cannot help the placer, whatever its AUC.
So every number here is reported both ways, a partial correlation holding board size sits beside any raw one (most raw signals on this corpus are a size prior), and the payoff is given in the units the pipeline cares about — router runs saved, boards routed clean — next to the headline.
Two more habits worth knowing before reading a number:
learn statusreports training day, not today.soldermask/assets/routability.jsoncarries the metrics computed when the model was fitted and prints them straight back. They do not move when the corpus does. See Benchmarks.- Check that a test set is external before calling it external. The last one was not: freerouting vendors PCBench inside its own benchmark fixtures, and 866 copies were sitting in the training directory.