Is transitivity required for a sorting algorithm
You asked: Can we run a sorting algorithm, feeding it a non-transitive comparator?

The answer: Of course.  You can run any algorithm with any input.

However, you know the rule: Garbage In, Garbage Out.  If you run a sorting algorithm with a non-transitive comparator, you might get nonsense output.  In particular, there is no guarantee that the output will be "sorted" according to your comparator.  So, running a sorting algorithm with a non-transitive comparator is not likely to be useful in the way you were probably hoping for.

As a counterexample, running insertion sort on the input list $[3, 2, 1]$ using your comparator would leave the list unchanged -- yet the resulting output list is not in sorted order (according to your comparator).