When a non-numeric value reached sanitizeSteps(), the NaN branch fell back to a hardcoded 8 instead of STEPS_MIN (1). This was inconsistent with sanitizeDimension() (which falls back to DIM_MIN) and with the Python backend's _sanitize_steps(), which clamps invalid input to STEPS_MIN. A user clearing the steps field could see a different value applied client-side than the server would compute. Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>