I like the sound of a lot of this. The observations I find most useful are that we can reorder some transformations without affecting the result and that we have two basic types of transformations (or operations as Pavish called them) and they might warrant fundamentally different handling.
I can't seem to find major problems with Pavish's suggestion. I was trying to imagine where formula columns would go in this workflow, and I think they would be one of the "orderless" transformations, but since their order does matter (if you add two formula columns, one might depend on the other), we can just consider the batch step of applying formula columns as a single transformation.
I've a maybe pedantic note that there is an inaccuracy in saying that you can join, filter, group, sort, hide in any order without affecting the result. If you, for example, [hide, sort, join] (in that order), you'll end up with an invalid query. A more precise (but more verbose) way of saying what Pavish meant, I think, is that these transformations _when batched_ can be reordered within the batches without effect, but the batches themselves have to be applied in a specific order (joining always first, hiding always last, formulas always before hiding): e.g. what a batched transformation pipeline might look like `[[join column 1, join column 2], [filter1, filter2, filter3], [group1, group2], [sort1, sort2], [formula column 3], [hide column 2]]`.