Skip to content

Import MatrixOperator from SciMLOperators in integrator tests - #4076

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/import-matrixoperator-owner-tests
Draft

Import MatrixOperator from SciMLOperators in integrator tests#4076
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/import-matrixoperator-owner-tests

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Ignore until reviewed by @ChrisRackauckas.

Summary

  • Import MatrixOperator directly from its public owner, SciMLOperators, in the Events test.
  • Do the same in the Step Limiter test, including its ExponentialRK coverage.
  • Keep the production API and dependency compatibility unchanged; SciMLOperators is already a root test extra and target.

Investigation

These isolated test files currently receive MatrixOperator indirectly through SciMLBase's former @reexport using SciMLOperators.

  • SciMLBase 7b806c50 (v3.40.0) still makes MatrixOperator visible after using SciMLBase.
  • Its immediate child b9c3507a removes the SciMLOperators reexport, so the name is no longer visible through SciMLBase.
  • SciMLOperators itself reports MatrixOperator public and exported, has its constructor docstring, and renders it in docs/src/premade_operators.md.

This is therefore an owner-import cleanup and forward-stack runtime fix. It is not a failure with the currently registered stack: master itself first hits the independent SciMLBase floor conflict tracked by #4066, and master plus #4066 resolves SciMLBase 3.39.1, where both test files still pass through the old reexport.

With the owner-clean local SciMLBase 3.40.1 source stack, the unmodified Events test errors with UndefVarError: MatrixOperator not defined. The direct imports remove that dependency on a transitive binding.

Local validation

  • Full repository: Runic --check . — passed.
  • Owner-clean SciMLBase 3.40.1 validation stack (current master + exact Restore SciMLBase 3.39 compatibility for owner imports #4066 compatibility patch + Keep callback controller resets opt-in #4075 callback fix, with only this PR's two imports uncommitted):
    • Official Integrators_I harness, Events: 57/57 passed.
    • Step Limiter file in the Pkg.test-generated environment:
      • main limiter tests: 149/149
      • solve-level limiter tests: 3/3
      • ExponentialRK limiter tests: 16/16
      • deprecated-field tests: 3/3
      • stage-limiter trait tests: 80/80
  • Registered SciMLBase 3.39.1 validation:
    • Events: 57/57
    • official Step Limiter safe testset: 251/251

The #4066 and #4075 commits were used only in disposable validation worktrees and are absent from this branch.

The tests currently receive MatrixOperator through SciMLBase's accidental SciMLOperators reexport. Import it directly so the test files continue to run once that reexport is removed.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>

Copy link
Copy Markdown
Member Author

One-hour terminal CI audit for exact head e8e69e2683: 8 checks succeeded, 4 were skipped, and 115 failed. No job reached a failure in either added MatrixOperator import.

Breakdown:

  • 44 root test lanes stopped before tests: 15 in the in-repo [sources] development step and 29 in julia-buildpkg. Representative logs from both paths show the same registered SciMLBase 3.39.1 versus local OrdinaryDiffEqNonlinearSolve = 3.40 conflict fixed by Restore SciMLBase 3.39 compatibility for owner imports #4066.
  • all 12 downstream failures were checked individually; every log contains a SciMLBase unsatisfiable requirement before downstream tests.
  • documentation stopped at the same SciMLBase resolver boundary.
  • 56 sublibrary downgrade jobs plus the root downgrade job stopped inside the downgrade resolver before package tests; this PR changes no dependency or compat metadata.
  • Runic reports only the three clean-master DISCO files owned by Run Runic on the disco-optimizations files #4064. The two files changed here, alg_events_tests.jl and step_limiter_test.jl, are explicitly green in that Runic log.

Local source-stack validation remains the evidence for behavior: registered-stack Events 57/57 and Step Limiter 251/251; owner-clean SciMLBase 3.40.1 Events 57/57 and all Step Limiter sections 251/251 total. No resolver workaround or unrelated formatting change is included.

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