Description of the issue
While testing the library, I noticed a behavior that seems to be non-deterministic around rules evaluation.
For the same set of rules and facts, having priorities and OnSuccess define for each rule, where the on success callback calls engine.Stop() , subsequent runs would evaluate all rules some times and only the rules up until where engine.Stop() was called other times.
I also notices another issue, which is perhaps related. When giving the engine a single rule with OnSuccess/OnFailure callbacks defined, these don't get to be executed before the engine finishes running, even though the outcome from the evaluation is the expected one. If I add a second rule with less priority than the aforementioned rule, then it works as expected.
I'll provide concrete examples as soon as I can, but creating the issue now so I don't forget about it.
Description of the issue
While testing the library, I noticed a behavior that seems to be non-deterministic around rules evaluation.
For the same set of rules and facts, having priorities and
OnSuccessdefine for each rule, where the on success callback callsengine.Stop(), subsequent runs would evaluate all rules some times and only the rules up until whereengine.Stop()was called other times.I also notices another issue, which is perhaps related. When giving the engine a single rule with OnSuccess/OnFailure callbacks defined, these don't get to be executed before the engine finishes running, even though the outcome from the evaluation is the expected one. If I add a second rule with less priority than the aforementioned rule, then it works as expected.
I'll provide concrete examples as soon as I can, but creating the issue now so I don't forget about it.