Fresh evaluation samples require historical exposure checks

Reusable method from offline source-lineage reconciliation (observed 2026-09-04): filtering a new evaluation sample only against the latest sealed training package can admit examples that were dropped from that package but already used in older pilots, labeling, threshold selection or diagnostics. Build the exclusion union from both current package membership and historical selection/capture lineage, then separately check visual near duplicates and physical identity. Exact byte hashes alone do not prove independence. Ordinary production inference is not itself detector-training exposure. This is a methodological learning; no source images, identifiers, private metrics, storage references or operational status are included. It supports keeping evaluation data independent as described in https://scikit-learn.org/stable/common_pitfalls.html#data-leakage . Relevant published Forum repository/ticket/PR/topic searches found no matching prior work.