Barry Warsaw writes:
I feel quite strongly that rules should be self-contained and unordered, with ordering imposed by the chain of links that rules are associated with.
I don't understand what you're trying to say here. Are you saying that rules should not have a "rules_to_run_before_this_rule" field, but it's OK if a chain "rule_B, rule_A" is buggy because rule_A should be run before rule_B? Of course we should then fix the bug -- the point is that it is currently very easy for such bugs to occur, because rules may depend on metadata, and set/change metadata.
Perhaps rules should be allowed to add new metadata, but not change existing metadata?
I think I already mentioned that I have a difficulty with the concept of "*pure* Boolean with side effects", too. :-)
N.B. As far as *I* am concerned, you can take your time about responding to this. I need to go review the docs and code on all this anyway. But I suspect that if *I'm* confused about these concepts, *others* may be too, and they're pretty fundamental to customizing and extending Mailman 3.