Repository navigation
Keep imported document lookups lazy and reject cyclic rule dependencies - #745
Draft
Anand Krishnamoorthi (anakrish) with Copilot wants to merge 1 commit into
Draft
Anand Krishnamoorthi (anakrish) with Copilot wants to merge 1 commit into
Anand Krishnamoorthi (anakrish) with Copilot wants to merge 1 commit into
Conversation
Copilot
AI
changed the title
[WIP] Fix behaviour differing from OPA on cyclic references
Handle cross-package cyclic references without over-eager recursion in interpreter/RVM
Jun 9, 2026
Copilot
AI
changed the title
Handle cross-package cyclic references without over-eager recursion in interpreter/RVM
Resolve cross-package Jun 9, 2026
data import recursion misclassification in interpreter and RVM
Copilot
AI
changed the title
Resolve cross-package
Refine active-rule deferral path matching; expand interpreter docs with concrete examples
Jun 9, 2026
data import recursion misclassification in interpreter and RVM
Anand Krishnamoorthi (anakrish)
force-pushed
the
copilot/fix-cyclic-references-behaviour
branch
from
November 3, 2026 20:38
6cf77bb to
d5d4bb1
Compare
Resolve imported data references together with their requested suffix in the interpreter and RVM compiler, rather than evaluating an entire imported package before accessing its fields. Preserve component boundaries and carry evaluated string indices through reference lookup without rescanning every rule or deferring arbitrary active modules. Track memoized rule calls and virtual-document dependencies during compilation. Validate the complete graph iteratively so genuine cycles through cached rule indices or previously discovered siblings still fail, while shared acyclic dependencies remain valid. Cover cross-package re-entry, dynamic package selection, literal dotted components, namespace boundaries, false versus Undefined, local shadowing, non-string indices, WITH override restoration, and genuine rule cycles. Document the remaining conservative rejection of dynamic leaf selection that can refer to a recursive rule. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Copilot-Session: 7f67398a-2137-4392-a242-c237557566f3
Anand Krishnamoorthi (anakrish)
force-pushed
the
copilot/fix-cyclic-references-behaviour
branch
from
November 4, 2026 16:48
d5d4bb1 to
7878b1d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.