Bad modelPicker or modelPricing settings are now dropped with a warning naming the file and path.
What's wrong with this entry?
Two new validators drop bad values and say so, naming the settings file and the path within it. A modelPicker that is not an object with an options array is dropped whole, a non-boolean replaceBuiltInOptions is dropped, and individual malformed option rows are dropped while the remaining rows still apply.
modelPricingis dropped if it is not an object, ifmultiplieris not a number in the range (0, 1], or per-modeloverridesrows are malformed.- Keys named
constructoror__proto__inoverridesare refused. - Validation results are memoised per settings file, so the warnings do not repeat on every read.
- Runs on settings load; nothing gates it.
"multiplier" must be a number in (0, 1]. It was ignored.
Strings lifted out of the shipped bundle, so the claim above can be checked against them.