The picker comes from the MPE_SELECTBOX rows - the client builds the dropdown from that data and the SELECT rule types only set whether a value outside the list can be typed. NOTNULL is what makes ACTIVE mandatory, and the post edit hook is what refuses anything other than 0 and 1, so the HARDSELECT row was saying the same thing a third time. Drop it in both writers, and drop the comment pointing at the migration: the two files are read side by side anyway.