v1.8.1
Freshen source mirrors in parallel before materializing files and dirs
The file and dir passes are serial, and each distinct source repository
paid its own network round-trip (~2s) the first time its mirror was
touched. Collect the active source URLs of the plan up front — honoring
per-source onlyWhen gates — and freshen their mirrors on the existing
parallel pool, so the serial passes only hit memoized results. A no-op
sync drawing support files from four source repositories drops from
~8s to ~2.5s.