pub fn validate_files(per_file: Vec<CimDataset>, cfg: &Config) -> Vec<Violation>Expand description
Run full two-phase validation: per-file local checks (header + per-profile SHACL/SPARQL) in parallel, then crossprofile checks on the merged dataset, then apply rule silencing.
Consumes per_file since it merges them into one dataset for phase 2.