I was performing vivisection of an implementation of ML-DSA and noticed that the L2 norms of the secret vectors were longer than I had anticipated. My understanding (which could be incorrect) was that for a secret to be short enough it should fall within 0 ≤ |x|\_l2 ≤ B, where B is sqrt(n) with n being the dimensionality of the lattice.
The secrets I encountered were \~22 L2, which would be appropriate if n=512, but ML-DSA uses n=256? Is my understanding of the limit wrong, the implementation wrong, or does the modular nature of the system allow for secrets with a longer L2 norm, or is there another answer?