← Change mode
RCA drillBisect blames a merge commit that changed nothing
GitMLOpshard
A model-training repository produces subtly worse models than it did three weeks ago — evaluation AUC down about two points, reproducibly, on a fixed dataset and a fixed seed.
You run `git bisect` with an automated script that trains on a small subset and asserts AUC above a threshold. Bisect converges on a merge commit. `git show` on that commit reports no changes to any file: it is a clean merge with no conflict resolution.
Both parents of the merge, tested individually, pass the AUC assertion.
Both parents pass and the merge itself changed no file, yet the merge is bad. Explain how that is possible, and tell me exactly what you would run next to identify the responsible change.