From the model it looks like you are normalizing Sigma to sum to zero, but not B?
If you want B to have unit length, you could compose it from unit_vectors, but then you’d need to make some modifications to keep the sign on the first element positive.
Also, as Ben says about this parameterization of the ordered simplex:
and some more discussion on this sort of thing in this thread:
Something to look into, though I’m not sure that is the root cause of the identifiability issue.