Skip to content

Raise Mooncake compat floor to 0.5.36 (fix Downgrade resolution)#551

Closed
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:raise-mooncake-floor-0.5.36
Closed

Raise Mooncake compat floor to 0.5.36 (fix Downgrade resolution)#551
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:raise-mooncake-floor-0.5.36

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Raise Mooncake compat floor to 0.5.36 (fix Downgrade resolution)

The root Project.toml declared Mooncake = "0.4.175, 0.5". Mooncake is a
weakdep (backs DataInterpolationsMooncakeExt) that is also a test-target
dependency. julia-actions/julia-downgrade-compat@v2 uses a merged
resolution
for old-style [extras]/[targets].test projects and promotes
Mooncake from weakdep to a full dependency
, then resolves it at its minimum.
With the old union floor, the downgrade job pins the ancient Mooncake
0.4.175
, which is the "promotion-caused Downgrade Unsatisfiable wall".

This narrows the floor to the latest published Mooncake so the downgrade can no
longer select the ancient 0.4.x line.

Change

  • Project.toml: Mooncake = "0.4.175, 0.5" -> Mooncake = "0.5.36"
  • version bump 9.0.0 -> 9.0.1 (compat narrowing is a patch-level change; a
    Mooncake weakdep floor is not public API)

Old floor raised: Mooncake = "0.4.175, 0.5" -> "0.5.36" (root Project.toml).

Verification (resolves_at_min = true)

Ran julia-actions/julia-downgrade-compat@v2 (the @v2 tip = commit
828d417, i.e. the merged-test-deps path) on this repo on Julia 1.12,
mode=deps, projects=. — identical to the centralized
SciML/.github/.github/workflows/downgrade.yml@v1 invocation this repo uses:

  • With the raised floor: resolver installs Mooncake v0.5.36 and reports
    [ Info: Successfully resolved minimal versions for . (with extras). The
    downgraded environment then instantiates and precompiles cleanly
    (DataInterpolations precompiled, INSTANTIATE_OK, exit 0). Mooncake is
    confirmed promoted weakdep -> dependency in the merged project.
  • For reference, the original floor resolves to the ancient Mooncake
    0.4.175
    — exactly what the raise removes.

So on the current registry snapshot the floor-raise alone yields a clean
downgrade min-resolution; the Resolver-capacity wall (#52) is not hit for
this repo here (resolves_at_min = true).


Please ignore until reviewed by @ChrisRackauckas.

The old Mooncake compat union "0.4.175, 0.5" let the Downgrade job pin an
ancient Mooncake (0.4.175) at minimum resolution. Mooncake is a weakdep that
is also a test-target dep, so julia-downgrade-compat's merged resolution
promotes it weakdep->dependency and resolves it at its floor. Narrowing the
floor to the latest (0.5.36) stops the downgrade from selecting the ancient
0.4.x line.

Verified on Julia 1.12 by running julia-actions/julia-downgrade-compat@v2
(mode=deps, merged extras resolution) on the repo: with the raised floor the
resolver picks Mooncake v0.5.36 and reports "Successfully resolved minimal
versions"; the downgraded environment instantiates and precompiles cleanly.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor Author

Closing. Verified locally (ran the action's own downgrade.jl on the identical commit CI failed on) that raising the Mooncake compat floor does NOT fix the Downgrade lane. The failure is julia-downgrade-compat@v2 merged mode promoting all ~13 weakdep AD backends (Mooncake, Zygote, ForwardDiff, DifferentiationInterface, …) to hard deps and running Resolver.jl --min on the joint graph — which is registry-snapshot-dependent (flips UNSAT↔SAT as those packages release) and independent of Mooncake's version. This PR also unnecessarily narrows Mooncake compat. Real fix is julia-actions/julia-downgrade-compat#52 (do not promote weakdeps in merged resolution). Superseded — closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants