Skip to content

Constrain TaylorSeries test OrderedCollections compat#3965

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:codex/fix-taylor-test-compat
Draft

Constrain TaylorSeries test OrderedCollections compat#3965
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:codex/fix-taylor-test-compat

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Ignore this PR until reviewed by @ChrisRackauckas.

Summary

Constrain the TaylorSeries test target to OrderedCollections = "1".

This is test-only: production dependencies and public API behavior are unchanged.

Root cause

The exact sublibrary downgrade graph selects Symbolics 7.6.0 and
DataStructures 0.19.6. DataStructures 0.19.6 widened its
OrderedCollections compatibility to include 2.x, so the downgrade resolver
selects OrderedCollections 2.0.1. The test-only DiffEqDevTools dependency
brings Latexify 0.16.11, whose released compatibility remains
OrderedCollections = "1"; the resulting graph is unsatisfiable.

The direct test constraint keeps DataStructures 0.19.6 while selecting
OrderedCollections 1.1.0, encoding the actual Latexify requirement without
capping an otherwise compatible transitive dependency.

Verification

  • Clean master, exact deployed downgrade action, Julia 1.11.9: reproduced
    the Latexify/OrderedCollections resolver failure.
  • This branch, exact deployed downgrade action, Julia 1.11.9: resolved
    Symbolics 7.6.0, DataStructures 0.19.6, Latexify 0.16.11, and
    OrderedCollections 1.1.0.
  • Locked exact-floor Core test with allow_reresolve=false, Julia 1.11.9:
    81 passed.
  • Current-resolution Core, Julia 1.12.6: 81 passed.
  • Current-resolution QA, Julia 1.12.6: allocation checks 1 passed / 2
    pre-existing broken
    , JET 1 passed, Aqua 15 passed.
  • Runic 1.7 check: 1000 passed.
  • git diff --check: passed.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Validation scratchpad for c98ea5efa:

  • clean official master reproduced the deployed downgrade failure with DataStructures 0.19.6, OrderedCollections 2.0.1, Symbolics 7.6.0, and Latexify 0.16.11
  • a DataStructures 0.19.5 boundary control passed but unnecessarily capped a compatible transitive dependency
  • the focused OrderedCollections 1 fixture retained DataStructures 0.19.6 and passed the locked exact-floor Core suite (81/81)
  • current Julia 1.12.6 passed Core (81/81), allocation QA (1 pass / 2 unchanged broken), JET (1/1), and Aqua (15/15)
  • final Runic check passed all 1000 files; git diff --check passed
  • fetched origin/master after opening the draft; the branch is not behind

Copy link
Copy Markdown
Member Author

CI follow-up after the conservative wait:

The checks specific to this change are green:

  • TaylorSeries downgrade
  • TaylorSeries Core on Julia lts, 1, and pre
  • TaylorSeries QA
  • root InterfaceI downgrade
  • Runic, docs, and the rest of the ordinary test matrix

The remaining aggregate failures all reproduce on current master:

  • OrdinaryDiffEqBDF, OrdinaryDiffEqNonlinearSolve, and OrdinaryDiffEqSDIRK fail with the same similar(::SciMLOperators.MatrixOperator...) MethodError on this PR's downgrade run and current master.
  • DiffEqDevTools has the same runner-loss signature in both runs: the job is marked failed while the test step remains in_progress, post-checkout remains pending, and no failed-step log is available.
  • GPU reports the exact same summary on this PR and current master: 24 passed, 137 failed, 11 broken, all 137 failures under GPU: dae_tests.jl.

There is no branch-only failure in the completed matrix. The TaylorSeries downgrade job that fails on current master passes here with OrderedCollections v1.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Current-master verification and registry boundary:

  • Clean master at ed6bf86f reproduces the hosted resolver failure: DataStructures 0.19.6 selects OrderedCollections 2.0.1, which is incompatible with Latexify 0.16.11 in the Symbolics 7.6.0 floor graph.
  • The first bad General registry commit is 43ef749b5, which registered DataStructures 0.19.6 and widened its OrderedCollections compat from v1 to v1–2. Its parent 011444735 resolves DataStructures 0.19.5 / OrderedCollections 1.8.2, and the locked TaylorSeries Core suite passes 81/81.
  • This PR on current master resolves DataStructures 0.19.6 / OrderedCollections 1.1.0, and the same locked Core suite passes 81/81.
  • Whole-repository Runic passed 1,000/1,000 files, and git diff --check passed.
  • The branch has been rebased onto current master as 1a9469c8 using a checked force-with-lease update.

Keep the DiffEqDevTools/Latexify test graph compatible with the Symbolics 7 downgrade floor.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude
ChrisRackauckas-Claude force-pushed the codex/fix-taylor-test-compat branch from 1a9469c to 1214d45 Compare July 20, 2026 22:09
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Rebased the focused commit onto current master (298da19f4, including #3970) after fetching both upstream and the fork and confirming that the remote topic branch still contained only the audited commit.

Post-rebase local validation on Julia 1.11.9:

  • Exact deployed-downgrade manifest, ODEDIFFEQ_TEST_GROUP=Core, Pkg.test(; allow_reresolve=false): 81/81 passed.
  • The locked graph retained Symbolics 7.6.0, DataStructures 0.19.6, Latexify 0.16.11, and OrderedCollections 1.1.0.
  • Repository-wide Runic check: 1000/1000 files passed.
  • TOML assertions and git diff --check: passed.

The earlier PR CI run also passed the intended downgrade-sublibraries / test (lib/OrdinaryDiffEqTaylorSeries) lane. Its BDF, NonlinearSolve, and SDIRK downgrade failures are byte-for-behavior matches for the same jobs on clean master run 29763174941: they fail in the independent operator-Jacobian floor path addressed by #3917 and its shared-workflow prerequisite SciML/.github#118.

The rebased branch was updated with an explicit force-with-lease against the previously fetched remote SHA; no contributor commits were overwritten.

Copy link
Copy Markdown
Member Author

Independent clean-master bisect and exact-head replay:

  • Using one frozen current General-registry snapshot and one isolated depot, parent aa895b563 resolved OrderedCollections 2.0.1 / RootedTrees 2.6.2 and passed the exact locked Julia 1.11.9 TaylorSeries Core invocation: 81/81.
  • Its one-commit child 4e1a43485 changes DiffEqDevTools from RootedTrees = "2" to "2.8"; under that identical registry/depot, the downgrade step succeeds but locked Pkg.test(...; allow_reresolve=false) fails during resolution with the reported Latexify/OrderedCollections intersection. This is therefore a clean first-bad repository boundary for the exact resolver failure.
  • Hosted history corroborates the boundary: the parent Taylor job passed, while the child Taylor job failed with the same resolver trace. The same-snapshot local replay separates this source boundary from General commit 43ef749b5, the registry catalyst already documented above.
  • Reverting the RootedTrees floor is not the right fix: DiffEqDevTools imports RungeKuttaMethod, and the older floor lets resolution escape to a RootedTrees release predating that API. This PR's direct, test-only OrderedCollections v1 constraint preserves that required RootedTrees floor.

I also independently replayed current PR head 1214d4510 with deployed downgrade-action commit fab1defb7. It selected Symbolics 7.6.0, DataStructures 0.19.6, and OrderedCollections 1.1.0; the locked test sandbox selected Latexify 0.16.11 and RootedTrees 2.25.3, then passed 81/81. The downgrade manifest SHA-256 was unchanged before/after the locked test. Repository-wide Runic 1.7, focused TOML assertions, and git diff --check all exited 0.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Scheduled CI classification for Taylor compat head 1214d451:

  • The PR's actual targets are green: root downgrade passed in 33m14s, TaylorSeries downgrade passed in 8m07s, and TaylorSeries Core passed on Julia LTS/current/pre.
  • TaylorSeries QA's two failures are unrelated harness checks introduced by SciMLTesting 2.3 (persistent-task output and newly strict rendered-public-API coverage); the unchanged patch passed that lane under SciMLTesting 2.2. The package's Core/downgrade targets remain green.
  • GPU reports the same 24 passed / 137 failed / 11 broken DAE gpu_error result as clean base 298da19f.
  • DiffEqDevTools downgrade lost its self-hosted runner before julia-runtest finalized; this exact runner-loss shape occurs on clean master, while a nearby clean-master run completed successfully.
  • OrdinaryDiffEqNonlinearSolve, SDIRK, and BDF downgrade all select NonlinearSolveBase 2.33.0 and fail at the known safe_similar(::SciMLOperators.MatrixOperator...) boundary. Draft Raise NonlinearSolveBase floor for operator Jacobians #3917 raises that direct floor to 2.34.1; Preserve nonlinear verbosity when resizing caches #3971 covers the subsequent resize/verbosity source path. Their locked targeted stack is green with an unchanged manifest.

No red check is a new regression from this one-line Taylor test-compat change.

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