Fit Configuration Validator
Pure-data, pre-flight check of a fit spec. Surfaces problems as a ValidationResult (reused from ksl.app.validation) so the same shape front-ends already consume for simulation runs covers fitting too.
This phase covers structural and capability-catalog checks only:
Inline data sources must be non-empty and contain no empty series.
Every estimator and scoring model ID must resolve in the catalog.
Estimator kinds must match the configuration's
kind.
Resolving file paths and database connections happens at run time and surfaces as a separate runtime error, not as a validation error here.