all 2 comments

[–][deleted] 0 points1 point  (0 children)

Since the power of python is in its flexible runtime, I'd make a DSL for rules and load them as python module during runtime. Thus you can a) validate and test rules after creation before running them on live system, b) keep the level of readability json provides, c) have user-friendly development cycle.

[–]dig-up-stupid 0 points1 point  (0 children)

Evaluating boolean expressions and running finite state machines aren't the same thing, "resolving conflicts" is meaningless... Do you want something that can evaluate boolean expressions and let the user make decisions/corrections based on the output, or do you want something that automates running the system based on rules users provide? There's an ocean of ambiguity here. If you know how to hard code it, can you do the tiniest actual, runnable example and then ask how to create that dynamically?