I have a random group which should be only always true or always false yet within the first few strategies I checked I find one that was not constrained.
ok, the problem is not in generation but in using genetics. Genetic operations don't the strategy template and random groups constraints, so when crossover or mutation is used it can change the blocks.
If you need it to follow the exact conditions in template/random group then you must use Random generation, not Genetic.