Repository navigation
solver: support clingo v6 - #52411
Merged
Merged
Conversation
Signed-off-by: Harmen Stoppels <[email protected]>
clingo v6 no longer implicitly projects anonymous variables that appear only in negative body literals (older gringo did, and Spack passed --project-anonymous to keep that behavior on v6). Replace each `not foo(..., _, ...)` with a `not foo_aux(...)` against an explicit auxiliary projection, and drop the flag. Signed-off-by: Harmen Stoppels <[email protected]>
Works around a clingo v6 fixed-point failure on the splice/depends_on
cycle by deriving the parent->splice-node edge directly from the splice's
preconditions, instead of relying on the
imposed_constraint -> attr("dependency_holds") -> cardinality choice
chain. v5 already finds this atom via the longer path; v6 does not.
Signed-off-by: Harmen Stoppels <[email protected]>
Mirrors the existing clingo-cffi job, but pip-installs the pre-release clingo v6 from Test PyPI before running the concretization suite. Catches regressions against the in-development grounder/solver while v6 isn't yet on stable PyPI. Marked continue-on-error since v6 is pre-release. Signed-off-by: Harmen Stoppels <[email protected]>
Signed-off-by: Harmen Stoppels <[email protected]>
This reverts commit 8276b28. Signed-off-by: Harmen Stoppels <[email protected]>
haampie
force-pushed
the
hs/feature/clingo-v6
branch
from
May 20, 2026 07:47
e8d996c to
b149483
Compare
tgamblin
requested changes
May 20, 2026
tgamblin
left a comment
Member
There was a problem hiding this comment.
This mostly LGTM but can we pull the stuff that is needed for compatibility out of core.py and out of asp.py into some separate compat.py? I think it would help us know what needs to be ripped out when the time comes.
Signed-off-by: Harmen Stoppels <[email protected]>
tgamblin
approved these changes
May 21, 2026
alalazo
added a commit
that referenced
this pull request
Jul 2, 2026
#52411 introduced a regression in the error message reporting mechanism, because it's not passing `has_provider/1` to `error_message.lp` Signed-off-by: Massimiliano Culpo <[email protected]>
haampie
pushed a commit
that referenced
this pull request
Jul 6, 2026
#52411 introduced a regression in the error message reporting mechanism, because it's not passing `has_provider/1` to `error_message.lp` Signed-off-by: Massimiliano Culpo <[email protected]>
haampie
pushed a commit
that referenced
this pull request
Jul 6, 2026
#52411 introduced a regression in the error message reporting mechanism, because it's not passing `has_provider/1` to `error_message.lp` Signed-off-by: Massimiliano Culpo <[email protected]> Signed-off-by: Harmen Stoppels <[email protected]>
becker33
pushed a commit
that referenced
this pull request
Jul 6, 2026
#52411 introduced a regression in the error message reporting mechanism, because it's not passing `has_provider/1` to `error_message.lp` Signed-off-by: Massimiliano Culpo <[email protected]> Signed-off-by: Harmen Stoppels <[email protected]>
Aiden2244
pushed a commit
to Aiden2244/spack
that referenced
this pull request
Jul 20, 2026
Clingo v6 is a full rewrite with two changes that affect us: * New Python API * Deprecation of anonymous variables inside negative literals (like `not p(X, _)`) With potassco/clingo@a2b3e45 now upstream the tests are passing; at the start of this PR splicing and propagation tests were failing. --------- Signed-off-by: Harmen Stoppels <[email protected]>
Aiden2244
pushed a commit
to Aiden2244/spack
that referenced
this pull request
Jul 20, 2026
spack#52411 introduced a regression in the error message reporting mechanism, because it's not passing `has_provider/1` to `error_message.lp` Signed-off-by: Massimiliano Culpo <[email protected]>
becker33
pushed a commit
that referenced
this pull request
Sep 29, 2026
…#53124) Analyzing why a solve failed printed: ``` atom does not occur in any rule head: has_provider(node(X,Virtual)) ``` when the failed model had no virtual packages. Declare every predicate the error rules read with `#defined`. The message was introduced in #52411, which replaced the declared `provider/2` with `has_provider/1` in `error_messages.lp`. Signed-off-by: Massimiliano Culpo <[email protected]>
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.
Clingo v6 is a full rewrite with two changes that affect us:
not p(X, _))With potassco/clingo@a2b3e45 now upstream the tests are passing; at the start of this PR splicing and propagation tests were failing.