The four routing mains stop on their own budget (exit 7, complete:false
summary); the fanout mains cannot — an external timeout on Windows is
TerminateProcess, which leaves no summary and no exit code of the tool's
own, so a harness cannot tell "killed mid-write" from "crashed". Run 9 lost an
entire campaign to two non-terminating steps with nothing in the log to say
so. Unlike create_plane/repair_planes, the fanout engines have zero
cancel_check call sites (verified at tip), so this is not one closure into
existing plumbing but a real engine change to
generate_bga_fanout/generate_qfn_fanout loop heads — flag-shaped and
design-heavy, hence an issue for the maintainer rather than a patch.
The four routing mains stop on their own budget (exit 7,
complete:falsesummary); the fanout mains cannot — an external timeout on Windows is
TerminateProcess, which leaves no summary and no exit code of the tool'sown, so a harness cannot tell "killed mid-write" from "crashed". Run 9 lost an
entire campaign to two non-terminating steps with nothing in the log to say
so. Unlike
create_plane/repair_planes, the fanout engines have zerocancel_checkcall sites (verified at tip), so this is not one closure intoexisting plumbing but a real engine change to
generate_bga_fanout/generate_qfn_fanoutloop heads — flag-shaped anddesign-heavy, hence an issue for the maintainer rather than a patch.