Require Dual-safe BoundaryValueDiffEqMIRK - #4853
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
CI classification: the independent |
Terminal hosted-CI updateThe matrix is terminal at 62 success / 28 failure / 3 skipped. The last pending check,
The log also exposes independent The downstream No branch change or test suppression was made in response to either independent failure. |
|
The I reproduced the hosted failure on clean ModelingToolkit master
Without coverage, the same RNG passes on both clean master and the PR merge, The untouched official clean-master Tracked separately in SciML/NeuralPDE.jl#1095. |
Please ignore this PR until it has been reviewed by @ChrisRackauckas.
Summary
BoundaryValueDiffEqMIRKcompatibility floor from 1.7.0 to 1.17.3Root cause
The ModelingToolkitBase
InterfaceIIdowngrade job in #4852 admitted a MIRK tree older than 1.17.3. That implementation reusedFloat64solution-evaluation storage when the nonlinear solve evaluated aForwardDiff.Dualiterate, producingMethodError: no method matching Float64(::ForwardDiff.Dual)in both the Lotka–Volterra BVP and BVP cost-function tests.SciML/BoundaryValueDiffEq.jl#568 changed MIRK evaluation storage to select the iterate element type and shipped that fix in 1.17.3. ModelingToolkit.jl#4843 restored the real BVP assertions that expose the old implementation, so the ModelingToolkitBase compatibility bound needs to express that runtime requirement.
Latest-compatible environments are unaffected; this changes the old-version boundary selected by downgrade testing and by users whose environments would otherwise admit an affected MIRK release.
Validation
d39174937fead779b29fa5baa50ba975adbde8c9, Julia 1.10.11, and the exactjulia-actions/julia-downgrade-compat@2c401f8b47edbcafc2e1edbff8e71f33dce71822alldepsworkflow. The officialGROUP=InterfaceIIrun exited 1 with the same two Dual-conversion errors: 13 passed, 2 errored, and 5 existing broken checks inOptimal Control + Constraints Tests.BoundaryValueDiffEqMIRK1.17.3, and the officialGROUP=InterfaceIIrun exited 0 with 22 passed and 6 existing broken checks inOptimal Control + Constraints Tests, followed byTesting ModelingToolkitBase tests passed.bvproblem.jldirectly in the exact downgraded test sandbox: exit 0; Lotka–Volterra 4/4, Pendulum 4/4, boundary compilation 2/2, constraints 6 passed plus 3 existing broken, cost compilation 6 passed plus 2 existing broken, and parameter estimation 1 existing broken.GROUP=QAon the feature branch and exact clean master with Julia 1.10.11 and the same depot/registry snapshot. Both passed JET 54/54 and reported the identical pre-existing Aqua baseline (46 ambiguity signatures and 14 piracy signatures); the sorted signature sets match exactly. Those independent QA fixes remain separate in Fix ModelingToolkitBase method ambiguities #4849 and QA: track pre-existing Aqua/JET/ExplicitImports findings (root + ModelingToolkitBase) #4670.The existing BVP tests are the regression coverage for this compatibility correction; no duplicate test or workaround is added.