The equals() and hashCode() Contract That Silently Broke Production for Me (and 90% of Java Devs…

Our duplicate-user detection system suddenly started letting the same person create 40 accounts per second.
No code had changed.
The bug…