Skip to content

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

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)#626
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 the Mooncake [compat] floor to the latest Mooncake release (0.5.36) in every Project.toml that declares a Mooncake compat entry, so the Downgrade lane stops pinning an ancient Mooncake.

Raised floors

File Old floor New floor
Project.toml (root, weakdep) Mooncake = "0.5" Mooncake = "0.5.36"
test/AD/Project.toml (hard dep) Mooncake = "0.5" Mooncake = "0.5.36"

Root package version bumped 4.3.2 -> 4.3.3 (a [compat] narrowing on a weakdep is a patch-level change). test/AD/Project.toml is a test env with no version field, so nothing to bump there.

Why

The old "0.5" floor let the Downgrade min-resolution pin Mooncake 0.5.0 (verified below), the oldest 0.5.x, which drags in stale/incompatible transitive deps. Pinning a single floor at the latest keeps the downgrade lane on a modern Mooncake.

Verification (resolves_at_min)

Ran julia-actions/julia-downgrade-compat@v2 (v2.5.2 — the version pinned by SciML/.github downgrade.yml@v1) on Julia 1.12, min mode (--min=@deps):

  • test/AD (Mooncake hard dep): resolves_at_min = true. Resolution succeeds; Mooncake pins to exactly 0.5.36 (ForwardDiff 0.10.38, ReverseDiff 1.15.0, Zygote 0.7.0 all at their floors). With the old "0.5" floor the same resolve pinned Mooncake 0.5.0.
  • Root . Core downgrade: resolves. In deps mode downgrade-compat@v2 does not promote weakdeps, so Mooncake stays a weakdep and is excluded from the root merged resolution; the root resolves cleanly.

No Unsatisfiable on this repo with downgrade-compat@v2. The floor-raise is the correct "limit to latest Mooncake" fix, and resolution succeeds at min after the bump.


Please ignore until reviewed by @ChrisRackauckas.

Raise the Mooncake [compat] floor from "0.5" to "0.5.36" (the latest
Mooncake release) in the root Project.toml and test/AD/Project.toml,
the two projects that declare a Mooncake compat entry.

The old "0.5" floor let the Downgrade min-resolution pin the ancient
Mooncake 0.5.0, which drags in stale/incompatible transitive deps.
Pinning a single floor at the latest keeps the downgrade lane on a
modern Mooncake.

Verified on Julia 1.12 with julia-actions/julia-downgrade-compat@v2
(v2.5.2, the version pinned by SciML/.github downgrade.yml@v1):
min-resolution of test/AD succeeds and pins Mooncake to exactly
0.5.36 (resolves_at_min = true). The root Core downgrade also resolves
(Mooncake stays a weakdep, excluded from deps-mode resolution).

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