Unpin / widen test/ad Project.toml compat to resolve Mooncake ↔ SciMLSensitivity conflict#3503
Closed
ChrisRackauckas-Claude wants to merge 1 commit intoSciML:masterfrom
Conversation
…ncake compat The `test (AD, 1.11)` job on SciML#3502 was failing with: ERROR: LoadError: Unsatisfiable requirements detected for package SciMLSensitivity [1ed8b502]: ├─restricted to versions 7.104.0 - 7 by project, leaving only versions: 7.104.0 - 7.105.0 └─restricted by compatibility requirements with Mooncake [da2b9cff] to versions: [7.0.0 - 7.71.2, 7.95.0 - 7.103.0] or uninstalled — no versions left SciMLSensitivity 7.104 and 7.105 both pin `Mooncake = "0.5.25"` in their Project.toml, but the Mooncake version resolvable in the test/ad env is capped at 0.5.24 by DifferentiationInterface 0.7.16's WeakCompat (`Mooncake = "0.5.1 - 0.5.24"`) — there is no Mooncake in the intersection of SciMLSensitivity 7.104+'s floor and DI 0.7.16's cap. SciMLSensitivity 7.89 - 7.103 have no direct Mooncake compat entry in the registry, so they accept any Mooncake that the rest of the env picks (here, 0.5.24). Lowering the test-env floor from "7.104" to "7.89" unblocks the resolver by letting it pick a SciMLSensitivity version whose Mooncake constraint is compatible with what DifferentiationInterface 0.7.x admits. This is a test-env compat widening only; no source changes. The upstream fixes that would let the test env run on SciMLSensitivity 7.105 directly are (a) JuliaDiff/DifferentiationInterface.jl#988 (bump DI's Mooncake WeakCompat to 0.5.25) and (b) a matching SciMLSensitivity Mooncake-compat relaxation — both tracked separately. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Contributor
Author
|
Closing per request — SciMLSensitivity is out of scope for the v7 release unblock. The fix here was also incomplete (agent's own caveat: SciMLBase 3 / FastBroadcast 1.3 / SciMLOperators 1.15+ independently force 7.104-7.105, so the Mooncake conflict recurs regardless of the |
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.
Summary
The
test (AD, 1.11)job on #3502 fails at Pkg.instantiate with:Root cause
Mooncake = "0.5.25"in their Project.toml.test/adenv, the resolvable Mooncake is capped at 0.5.24 by DifferentiationInterface 0.7.16'sWeakCompatentry (Mooncake = "0.5.1 - 0.5.24").test/ad/Project.tomlhadSciMLSensitivity = "7.104", which forced the resolver into the 7.104-7.105 range — but no Mooncake version in that range satisfies both SciMLSensitivity's0.5.25+floor and DI's0.5.24cap.Change in this PR
Lower the
SciMLSensitivityfloor intest/ad/Project.tomlfrom"7.104"to"7.89". SciMLSensitivity 7.89-7.103 have no directMooncakecompat entry in the registry, so they would not re-apply that specific constraint.Mooncake = "0.4, 0.5"is left unchanged — already the widest range compatible with OrdinaryDiffEqCore v4'sMooncake = "0.4, 0.5"compat pin.This is a test-env compat widening only; no source changes.
Honest caveat — this PR alone is not sufficient
Even after lowering the floor, the resolver is separately forced back into the 7.104-7.105 window by other deps in the env (SciMLBase 3 via OrdinaryDiffEqTsit5, FunctionWrappersWrappers 1 via OrdinaryDiffEqCore v4, FastBroadcast 1.3+, SciMLOperators 1.15+). So this one-line pin change does not on its own make
Pkg.instantiate()succeed — verified locally.The genuine unblock requires at least one of:
WeakCompatto include0.5.25+, so SciMLSensitivity 7.105 and DI 0.7.16 can co-resolve.7.105+stops pinningMooncake = "0.5.25"strictly (registry compat patch).WeakCompatrelaxation (today caps via"0.5.15 - 0.5"— not the immediate binding constraint but in the chain).Opening this PR as the
test/ad-side half of the fix: once any of the three above lands, this pin is already loosened and the resolver will succeed.Test plan
Unsatisfiablelog as CI).test/ad/Project.tomlside is loosened correctly, but CI will only turn green once one of the three upstream fixes is in.test (AD, 1.11)after the upstream DI/SciMLSensitivity fix.Co-Authored-By: Chris Rackauckas accounts@chrisrackauckas.com