# v2work vs v3: leakage audit and like-for-like comparison (parallel check) Started 23 Oct 2026 12:35 (Europe/Dublin). v2work and v3 were only read. Everything here lives in /workspace/huawei/parallel/. The source snapshot comes from v2work/out/solution_v3_src.zip (06:24) and is unzipped in parallel/src_snapshot/. Current v2work code differs from it only by the added `d{k}` fold specs (12:27 edits), so the snapshot is what produced submission_v3. ## Status log - 12:45 Audit of the code path done (see below). Like-for-like scoring done (score_val.json). Submission check done (subcheck.json). ## 1. Leakage audit of the v2work "ne" (no-eval) path Citations point to parallel/src_snapshot/v2work/* (identical to what produced out/submission_v3.csv). C is the cutoff. "Own history" is the history list that is a given input field on every row, including eval rows. **a. Are training rows only events before the cutoff? YES.** - v3fold.py L11–12 SPEC: f_k = first event per user in [J20+k·d, +1d). - In val mode, combo.py L44 trains on f1..f4 only (cut25). All target ts < Jan25. - Val25 is the first event per user at or after Jan25 (W=None), the same as our v3/split. - Final (combo.py L68, FOLDS unset in solution_v3.py) uses f1..f6, whose targets fall in Jan21..Jan26 (