The formatOptions min/max may be integers after JSON decode or may be
on the attribute directly (from range filter). Use floatval() and check
both formatOptions and direct attribute keys.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Float attributes created via API use type 'double' (ColumnType::Double)
since the Float/Create endpoint was updated. The format registration
must match to pass format validation during attribute creation.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>