Made some triggers, moved some tasks, edited some triggers. Grepped for the word "status" in the new file.
The <select> element uses the numeric priorities (because that's what ManiphestTaskPriority::getTaskPriorityMap() returns), but I turn that back into a keyword here because that's what the priority transaction expects. Otherwise this is identical to the equivalent task status trigger rule does.
Looks great to me.
I'm not sure the "open/close" and "raise/lower" actions will end up being a good idea, but if they are we might end up with this kind of class tree:
- abstract PriorityRule
- final SetPriorityRule
- final RaisePriorityRule
- final LowerPriorityRule
...where the subclasses tweak strings and offer a subset of statuses/priorities (you can't "close" as an open status, for instance). But this is strictly a step toward that and I'm not sure open/close/raise/lower are actually useful, anyway.