A membership flow is safe only because one function is the sole writer of member rows. Add a second writer, such as an import or an admin tool, and the flow's ordering breaks.
Write down, and test, the invariant you rely on. "Only one writer" is a fact that changes.