Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 25s
Previously dl-magic-query always pre-saturated the source db so it gave correct results for stratified programs (where the rewriter doesn't propagate magic to aggregate inner-goals or negated rels). Pure positive programs paid the full bottom-up cost twice. Add dl-rules-need-presaturation? — checks whether any rule body contains an aggregate or negation. Only pre-saturate in that case. Pure positive programs (the common case for magic-sets) keep their full goal-directed efficiency. 276/276; identical answers on the existing aggregate-of-IDB test. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>