The Scaler Saw the Test Set
Decide what you would do from the brief alone, including whether you would change anything at all. Everything below it is available, but the exercise stops working if you open it first.
A code review request: "Refactored the feature pipeline for clarity. Standardisation and imputation now run once over the whole dataframe before the split instead of twice. Metrics unchanged (within 0.2 AUC points)." The reviewer is you.
Approving the refactor because the metrics are unchanged and the code is clearer. The reviewer checks the one thing a reviewer can check quickly — did the number move — and the number did not move. Weeks later a serving bug is traced to the standardisation statistics being recomputed per request batch, so a batch of one request is scaled to zero, and the model outputs its intercept for every single-request call. The refactor did not cause that bug; it removed the place where the fitted statistics would have lived.
Read this even if you are confident. It is here rather than behind a button because it is the answer most teams actually ship, it passes review, and its cost arrives weeks later when the labels do.