I was developing on a branch for a couple weeks, and occasionally ran python3 buildscripts/errorcodes.py -fix on my code. That's the wrong syntax, it should be -fix --ticket SERVER-63397SERVER-63397. The script silently ignored my mistake, and executed its default algorithm: replacing "0" error codes with the highest existing error code + 1. Of course, that algorithm leads to conflicts with other people using the same algorithm on their own branches, so when it came time to merge, my commit queue job failed in lint_errorcodes.
error_codes.py should detect misuses like mine.