There is a check in the stacked ensemble that forces the base learners to have used `fold_assignment = "Modulo"` to guarantee that they all used identical folds. This is overly strict.
There are two other ways to get identical folds, but they require some additional checking.
1. If the user selects `fold_assignment` of "AUTO" or "Random" (AUTO defaults to Random), and the same seed was used in all the algos, then the folds produced will be identical. So we could add a check to validate that the same seed was used.
2. If the user provides a fold id column in the training set and uses that to train all the models, that is another way to guarantee that the folds are the same. In this case, we need to check that the same column was used in the training_frame (or if `keep_cross_validation_fold_assignment = TRUE`, then we could check the actual folds themselves).
Here is an example where `fold_assignment = "AUTO"`.