(
mode: BacktestMode,
run: &BacktestRunConfig,
pct_embargo: f64,
splits: &[SplitDefinition],
)
| 425 | } |
| 426 | |
| 427 | fn build_diagnostics( |
| 428 | mode: BacktestMode, |
| 429 | run: &BacktestRunConfig, |
| 430 | pct_embargo: f64, |
| 431 | splits: &[SplitDefinition], |
| 432 | ) -> BacktestDiagnostics { |
| 433 | let total_purged = splits.iter().map(|s| s.purged_count).sum::<usize>(); |
| 434 | let total_embargoed = splits.iter().map(|s| s.embargo_count).sum::<usize>(); |
| 435 | BacktestDiagnostics { |
| 436 | mode, |
| 437 | mode_provenance: run.mode_provenance.clone(), |
| 438 | trials_count: run.trials_count, |
| 439 | split_count: splits.len(), |
| 440 | pct_embargo, |
| 441 | safeguards: run.safeguards.clone(), |
| 442 | anti_leakage: AntiLeakageDiagnostics { |
| 443 | uses_label_span_purging: true, |
| 444 | uses_embargo: pct_embargo > 0.0, |
| 445 | total_purged, |
| 446 | total_embargoed, |
| 447 | }, |
| 448 | } |
| 449 | } |
| 450 | |
| 451 | impl BacktestRunConfig { |
| 452 | fn validate(&self, mode: BacktestMode) -> Result<(), String> { |
no test coverage detected