Keep OrdinaryDiffEqDefault precompile helpers local - #4074
Keep OrdinaryDiffEqDefault precompile helpers local#4074ChrisRackauckas-Claude wants to merge 3 commits into
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Terminal CI classification for head No package test body failed on this PR. Excluding Runic, all 124 failures stopped in resolution, source development, dependency installation, or package build before the workflow test step:
The 67 non-downgrade failures all explicitly report the current SciMLBase 3.39/3.40 resolver boundary. The 57 downgrade jobs stop inside the downgrade resolver with Local validation on the exact implementation plus validation-only #4066 remains green: Default Core 46/46, JET 1/1, Aqua/ExplicitImports 19/19, and changed-file Runic. No CI-only workaround or unrelated prerequisite is being folded into this focused PR. |
OrdinaryDiffEqDefault 2.4.1 is already registered, so the helper-localization fix must ship as a new patch release. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
|
Added the packaging correction in Local verification on the exact updated tree:
The temporary registered-graph checkout was restored and removed after the test. The branch is clean and matches pushed head |
|
One-hour terminal CI audit for corrected head Exact breakdown:
The resolver boundary is fixed separately by rebased #4066 ( |
Ignore until reviewed by @ChrisRackauckas.
Summary
OrdinaryDiffEqDefaultSciMLBase.AutoDePSpecializethrough its public ownerOrdinaryDiffEqCore.lorenz_oopaccessOrdinaryDiffEqDefault2.4.2 and requireOrdinaryDiffEqCore4.11Root cause
OrdinaryDiffEqDefaultreached into private workload fixtures defined byOrdinaryDiffEqCore. The QA exception covered the original four names, butcommit
5d640b89a756fd0c81e86f2a09b91862a85be555addedlorenz_prefandlorenz_pref_paramswithout extending the exception. Itsparent
f06fd803209efb1fae0f5130c70574546f1bd7bchas no unignored privateaccesses; the commit has exactly those two.
Adding another exception would preserve the private dependency. The workload
RHS functions are tiny and package-specific, so this copies them locally and
lets the public-access QA run without a Lorenz allow-list.
Compatibility floor
OrdinaryDiffEqDefault2.4.1 is already registered, so this fix is the nextpatch release, 2.4.2.
A registered-graph audit found that the currently registered Tsit5 and
Rosenbrock dependencies still use the newer Core workload fixtures while their
compat permits Core 4.10. With the patched Default package and Core pinned to
4.10, resolution succeeds but precompilation fails at
OrdinaryDiffEqCore.lorenz_pref. Raising Default's Core floor to 4.11 preventsthat broken graph. The same clean registered graph resolves to Core 4.11 and
passes the Default solve checks.
Validation
Current upstream
b22e2e58b2cannot resolve its monorepo test environmentalone because the root permits SciMLBase 3.39 while the local
OrdinaryDiffEqNonlinearSolve requires 3.40. Monorepo tests therefore used the
explicitly separate validation stack
b22e2e58b2plus compatibilityprerequisite #4066; #4066 is not included in this branch.
GROUP=OrdinaryDiffEqDefault_QA: JET 1/1; Aqua 18 passed and1 errored on
lorenz_pref/lorenz_pref_paramsGROUP=OrdinaryDiffEqDefault_QA: JET 1/1; Aqua 19/19GROUP=OrdinaryDiffEqDefault_Core: Default Solver Tests 46/46lorenz_prefprecompile failure5/5
The full-repository Runic check still reports only the three existing DISCO
formatting files already covered by #4064.
Follow-up audit
Other solver sublibraries have their own explicit exceptions for the same Core
workload fixtures. They are independent packages and are intentionally left for
separate focused cleanup PRs.