Bisect blames a merge commit that changed nothing
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.
Choose how you want to be interrogated
The same case under two modes is two different exercises. If you are unsure, RCA drill is the one that trains root-cause analysis most directly.
RCA drill
A symptom, and nothing else. Find the cause and prove it.
Trains: Hypothesis generation, ranking by prior, and naming the test that discriminates.
Red team
You propose. It attacks. It is trying to make you wrong.
Trains: Defending a position under pressure, and noticing when you should concede.
Socratic
Questions only. It will never tell you the answer.
Trains: Deriving from first principles instead of retrieving from memory.
Design review
Present an architecture. Justify every trade-off you made.
Trains: Stating what you optimised and what you gave up, on purpose.
Viva
Rapid escalating questions. Ends in a graded verdict.
Trains: Answering under time pressure without hedging.
Integration
Problems that span several domains at once. The hardest mode.
Trains: Reasoning across boundaries, where the cause is in a different system to the symptom.
Before you start: you begin locked. The Mentor will give you nothing — not a nudge, not a category — until you state a specific position and the mechanism you think produces it. Four genuine attempts unlock the resolution. There is no shortcut.