Do not wait for a state that is already there→
A read-back loop that polls until a field changes has a blind spot: a command whose target state was already true can never change anything, so the loop sits out its whole ceiling for nothing. Here is the two-line fix and the verdict it forces.