(info "(coreutils) shuf invocation") says These examples all have four input lines, so `shuf' might produce any of the twenty-four possible permutations of the input. In general, if there are N input lines, there are N! (i.e., N factorial, or N * (N - 1) * ... * 1) possible output permutations.
Please add an option to produce all permutations. Perhaps separated by blank lines or a --separator=...