Move known-good pruning check before sweep/ML to avoid wasted work, extract ContainsAngle, NeedsSweep, AddSweepAngles, ApplyMlPrediction, and BuildPrunedList so Build reads as a clear pipeline. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>