Yesterday I broke some code and it was very confusing because when I reverted to a known good version it was still broken. Forgot about some other changes and found a stupid mistake in the code feeding data into the broken thing which would of course break things in exactly the way I was seeing it broken, and now it's working again. There's a relatively easy fix to prevent this sort of mistake from causing massive damage which I will, of course implement.