{% set max_rows = [overlap.train_rows, overlap.test_rows, 1] | max %}
Train{{ overlap.train_rows }}
Test{{ overlap.test_rows }}
Overlap{{ overlap.overlap_pct }}%
⚠ Top Issues ({{ issues | length }})
{% if issues %}
{% for issue in issues %}
{{ issue.severity.value }}{{ issue_icons.get(issue.title, '')|safe }} {{ issue.title }}
{% if issue.column %}{{ issue.column }}{% endif %}
{% if issue.details.get('psi') is not none %}PSI = {{ "%.3f"|format(issue.details['psi']) }}
{% elif issue.details.get('ks_stat') is not none %}KS = {{ "%.3f"|format(issue.details['ks_stat']) }}
{% elif issue.details.get('correlation') is not none %}corr = {{ "%.3f"|format(issue.details['correlation']) }}
{% endif %}
▸
Explanation
{{ issue.message }}
{% if issue.details %}
Metrics
{% for k, v in issue.details.items() %}
{% if k not in ("test",) %}
{{ "%.4f"|format(v) if v is number and (v is not integer or v|float != v) else v }}
{{ k }}
{% endif %}
{% endfor %}
{% endif %}
{% set thr = none %}
{% if issue.details.get('correlation') is not none %}{% set thr = thresholds.target_corr_threshold %}
{% elif issue.details.get('cramers_v') is not none %}{% set thr = thresholds.cramers_v_threshold %}
{% elif issue.details.get('mapped_fraction') is not none %}{% set thr = thresholds.near_identical_mapping_threshold %}
{% elif issue.details.get('psi') is not none %}{% set thr = (thresholds.psi_critical if issue.severity.value == 'critical' else thresholds.psi_warning) %}
{% elif issue.details.get('p_value') is not none %}{% set thr = thresholds.ks_alpha %}
{% elif issue.details.get('overlap_pct') is not none %}{% set thr = (thresholds.contamination_critical_pct if issue.severity.value == 'critical' else thresholds.contamination_warning_pct) %}
{% elif issue.details.get('top_value_freq') is not none %}{% set thr = thresholds.constant_feature_threshold %}
{% endif %}
{% if thr is not none %}
Threshold Used
This check flags values past {{ "%.3f"|format(thr) }} — fully configurable via Config().
{% endif %}
{% if why_it_matters.get(issue.title) %}
Why it matters
{{ why_it_matters[issue.title] }}
{% endif %}
Recommendation
{{ issue.column and ("Review '" + issue.column + "' before training — " + issue.message.split('—')[0].strip().lower() + ".") or issue.message }}
{% endfor %}
{% else %}
✔ No issues found across {{ checks_run | length }} checks.
{% endif %}
{% if drift_ranking %}
{% set has_real_drift = drift_ranking | selectattr("severity", "ne", "stable") | list | length > 0 %}
📈 Top Drifted Features
{% if not has_real_drift %}
✔ All checked features are stable — no significant drift detected.
{% set seen_rec_keys = [] %}
{% if recommendations %}
💡 Recommendations
{% for issue in issues %}
{% set key = issue.title ~ '|' ~ (issue.column or '') %}
{% if key not in seen_rec_keys and loop.index0 < 6 and fix_steps.get(issue.title) %}
{% set _ = seen_rec_keys.append(key) %}