- Type correctness (via Pydantic)
- Required fields present
- Enum constraints respected
- Structured schema compliance
- Semantic correctness of business logic
- Task and algorithm suitability for a given problem type
- Optimal hyperparameter choices
- Optimal class weighting or target transformation
- Required columns exist
- Dataset(s)' hashes at runtime match those from metadata
- Forbidden nulls enforced
- Cardinality constraints respected
- Row id present and included
- Required operator dependencies satisfied
- Absence of data leakage
- Distribution stability
- Statistical sanity
- Algorithm specified is supported
- Scoring method is among supported scoring functions
- Search configuration schema is valid
- Class weighting allowed only for classification tasks
- Feature transformation allowed only for regression tasks
failure_managementdirectory structure enforced- Best parameters originate from recorded search results
- Search metadata is persisted atomically
- Statistical validity of CV splits
- Convergence to optimal hyperparameters
- Metrics suitability for business objective
- Absence of data leakage during CV
- Param distribution quality
- Compatibility between scoring function and specific algorithm beyond supported enum check
- Run IDs match across artifacts (
train_run_idof the run that produced the candidate model matchestrain_run_idrecorded in metadata of relevant evaluation and explainability runs) - Artifacts (model, pipeline) consistent across runners - their hashes match each other, as well as runtime-computed ones
- Explainability artifacts exist (if supposed to) and runtime hash matches the one in metadata
- Required evaluation metrics exist
- Registry integrity preserved
- Archive integrity preserved
- Business correctness of thresholds
- Production performance stability
- Fairness properties
- Environment snapshot captured
- Python version recorded
- Git commit recorded
- Hardware metadata captured
- Bitwise reproducibility across machines
- GPU nondeterminism elimination
- Error-raising on mismatch (warnings get logged, but it was decided that runtime variance should not block the execution by default)