41367fa3ba
Schema.Number emits anyOf:[number, string enum(Infinity/-Infinity/NaN)] in
OpenAPI because JS numbers include non-finite values. Schema.Finite adds an
isFinite check so the OpenAPI output is just {type:"number"}, eliminating
the need for post-hoc normalization in public.ts.