A validator starts accepting a new kind of reference, but the code that acts on the field only knows the old kinds. Anything using the new kind passes the gate, then waits forever because nothing can clear it.
Trace every reader before you widen a format. A value one reader accepts and another cannot clear gets stuck.
Teach the consumer first, then open the gate. Otherwise valid input piles up.
Teach the consumer first, then open the gate. Otherwise valid input piles up.