One local levels(bounds, blocks, objects, jets, **rest) builds the two-level lists; run_steps and every rejection case use it. All five before-CUDA rejections, the margin and one-jet checks keep their inputs. Assertions unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>