Why do RiverWare rules sometimes execute out of order?
Normally, RiverWare rules should execute in order of priority, but sometimes they do not.
Check that the variables used in the rule are set prior to the rule's execution. Often alternative variables can be used that have already been set (e.g. those in data objects).
One scenario is that a rule has a dependency which has not been set, causing it to ineffectively execute. If a higher priority rule sets this dependency, it will execute. This is intended behavior.
Another scenario is that one of the dependencies have been changed by a higher priority rule, causing the rule to re-execute. If this behavior is not desired, one may use an execution constraint, such as: NOT HasRuleFiredSuccessfully("ThisRule")