A goal-driven ruleset does not have to answer the same question every time. Override its goals per run, from the runner or from an API call, and one set of rules can answer eligibility today and pricing tomorrow without being edited.
Name the context keys a run should establish and the engine works backwards to find the rules that can produce them, firing only what the answer actually needs. Every run comes back with a proof tree that shows how the value came to be, or which input was missing.
Mark a rule as retractable and its conclusions are only true while the rule still matches. When the facts behind a decision move, the decision comes back out, and so does everything built on top of it.
A tour of what shipped this month — forward-chaining inference, explainable traces, what-if simulation, derived facts, the expression language, and collection conditions — with a link to the full story on each.
Turn on Inference and your rules re-fire as their actions change the facts other rules read — one firing at a time by salience, only where inputs actually changed, until the run reaches a stable state.
Most engines tell you the result. The inference trace tells you the reasoning — every firing in order, a green/red condition tree with the actual values, every context change, and a plain-language explanation on demand.
Edit the inputs and hit Compare. AI Rule Engine runs your RuleSet twice in the sandbox and shows exactly which rules and conclusions changed — each traced back to the input that moved it. No metered run, no side effects, nothing in your history.
Why the expression language has no now() or random(), why re-fires key off real value changes, why AI results are remembered for unchanged inputs, and why an inference cascade still meters as one run. Determinism is what makes the rest trustworthy.