vc_003 · Leak guard

Status: ✓ Passing · Last run: 2026-06-04T23:36:49 · Pipeline: v2 · History: 6/7 runs passed (86%)

What was tested

Entity-static dataset with a planted, innocuously-named leaker column (engagement_index) that is essentially the target with tiny cover noise. The case tests the system's response to label leakage: EITHER the leak is dropped (gate/sanity catches it), OR the leak survives and the sanity check surfaces a 'possible label leakage' warning. The unsafe path — a near-perfect model shipped silently — must be catchable.

What we planted in the data

What the system did

Top features by importance:

What we checked — all assertions passed

Status Assertion Detail
high_auc_implies_leakage_warning AUC 0.902 < threshold 0.99 — implication holds vacuously (no high-AUC = no leakage warning required)
leak_feature_dropped_or_flagged leak engagement_index not in importance ranking — dropped before training
no_pipeline_errors clean run

How this could have gone wrong

Why this case matters

Label leakage is the most dangerous bug class for ML products: the model looks excellent in offline metrics but produces worthless or misleading predictions in production. The system must either catch leaks itself (gate/sanity) or surface enough information that a human reviewer can. This case anchors that property as a regression check.

Reproducing

# from auto_insight_api/
python -m validation.v2 run vc_003 --pipeline v2 -v

← back to validation report