In practice, we don't update the REVISION value very often, but basically any failure is because of a wrong version.  In other words, maybe reason should be initialized to "StateWrongVersion".

-[Unknown]