Version-precondition and optimistic-lock contract admission.
@spec admit(map()) :: {:ok, map()} | {:error, atom()}