From 8c2475be95bf0f8da2990c3d6be6e047a5d8e6e8 Mon Sep 17 00:00:00 2001 From: ChrisRackauckas-Claude Date: Mon, 22 Jun 2026 23:25:47 -0400 Subject: [PATCH] Fix Downgrade CI: raise MethodOfLines (0.11.12) and ModelingToolkit (11.27) floors The Downgrade lane was RED with 413 errored examples. Root cause: at the declared floors the resolver landed on MethodOfLines 0.11.0-0.11.8, which pulls PDEBase 0.1.17. That PDEBase passes parameters to `ODESystem` as `Vector{Pair{Num,_}}` (param => default), an API the MTK 9.x versions the resolver can co-select (>= 9.49, the Symbolics-6-compatible ones) no longer accept: MTK 9.49-9.59 map `getguess` over `ps` and hit `getmetadata(::Pair, VariableGuess, nothing)` (no method); MTK 9.60+ reject the pairs in `check_parameters` (`v => 1 is not a parameter`). No resolvable MTK 9.x works with the MethodOfLines 0.11.0-0.11.8 + PDEBase 0.1.17 + Symbolics 6 stack. MethodOfLines 0.11.10+ requires MTK 11 and pulls PDEBase 0.1.20+, which uses the parameter API modern MTK expects (this is the same stack the green Core lts lane resolves to: MOL 0.11.12 / MTK 11 / PDEBase 0.1.25). Raising the MethodOfLines floor to 0.11.12 (matching Core) lets the downgrade lane resolve a working stack. The MTK 11 floor also needs raising to 11.27: MTK 11.0-11.26 declare `julia = "1.9.0-1"` but use `Base.ispublic` (Julia 1.11+), so they fail to precompile on the lts (Julia 1.10) downgrade target. MTK 11.27 is the first 11.x release whose compat correctly declares `julia = "1.10.0-1"`. Verified locally (Julia 1.10 lts): the real julia-downgrade-compat resolution (StefanKarpinski/Resolver.jl, --min=@deps) now lands on MethodOfLines 0.11.12, ModelingToolkit 11.27.0, PDEBase 0.1.25, SciMLBase 3.18.0, Symbolics 7.28.1. Running test/mol_test.jl against that pinned stack: all 427 examples run with 0 errors, 0 failures, 1 broken (adv3, intentional). Previously: 14 passed, 413 errored. Co-Authored-By: Chris Rackauckas Co-Authored-By: Claude Opus 4.8 (1M context) --- .github/workflows/Downgrade.yml | 1 - Project.toml | 4 ++-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/Downgrade.yml b/.github/workflows/Downgrade.yml index fb6cb23..790f311 100644 --- a/.github/workflows/Downgrade.yml +++ b/.github/workflows/Downgrade.yml @@ -12,7 +12,6 @@ on: - 'docs/**' jobs: downgrade: - # Runs strict (allow_reresolve defaults to false); expected RED until the advdiff3 test is fixed. name: "Downgrade" uses: "SciML/.github/.github/workflows/downgrade.yml@v1" with: diff --git a/Project.toml b/Project.toml index 5b2c34e..aaf40e6 100644 --- a/Project.toml +++ b/Project.toml @@ -18,8 +18,8 @@ DomainSets = "0.6, 0.7" Interpolations = "0.14, 0.15, 0.16" Lux = "1" Markdown = "1" -MethodOfLines = "0.11, 0.12" -ModelingToolkit = "9.7.1, 10, 11" +MethodOfLines = "0.11.12, 0.12" +ModelingToolkit = "9.7.1, 10, 11.27" NonlinearSolve = "4.12" OptimizationOptimJL = "0.3, 0.4" OrdinaryDiffEq = "6.80.0, 7"