fn validate_dry_params(config: &InferenceConfig) -> Result<(), String>Expand description
The four DRY parameters’ ranges, split out of validate_inference_config.
Not a judgement about them — they are checked exactly as before and in the
same order. They are simply the one cohesive group in a function that is
otherwise one field per check, so lifting them is what kept the parent
under clippy::too_many_lines when reasoning_budget_tokens joined. Every
caller reaches this through the parent; nothing validates DRY alone.