pub fn plan_rules(
rules: &[Rule],
base_relations: &RefRelationStore,
) -> Result<Vec<RulePlan>, PlanError>Expand description
Plan a slice of rules. Order-preserving: plans[i] is the
plan for rules[i].
Stops on the first PlanError. Callers that want
best-effort multi-rule planning should call plan_rule
per-rule and collect verdicts themselves.
Per-rule typing only — no SCC inference. For mutually
recursive predicate groups whose join keys are anchored only
through SCC body atoms, use plan_scc_rules so the same
transitive type inference that
super::evaluate_scc_fixpoint_typed runs is applied
before each rule’s verdict.