Skip to content

Import symbolic_discretize from SciMLBase - #169

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:agent/import-scimlbase-symbolic-discretize
Draft

Import symbolic_discretize from SciMLBase#169
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:agent/import-scimlbase-symbolic-discretize

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Ignore this PR until it has been reviewed by @ChrisRackauckas.

Fixes the ModelOrderReduction downstream failure discovered in SciML/ModelingToolkit.jl#4852.

Summary

  • import symbolic_discretize directly from its owner, SciMLBase, in the Core test and both executable examples
  • declare SciMLBase as a direct test/docs dependency with compat 3

Root cause

PDEBase 0.1.31 (PDEBase.jl#98) replaced using SciMLBase with explicit imports. That correctly removed PDEBase's incidental symbolic_discretize binding, but ModelOrderReduction had been relying on MethodOfLines to expose that undeclared imported binding. SciMLBase exports, declares public, documents, and owns symbolic_discretize, so the consumer should import it directly.

The failure reproduces on clean ModelingToolkit d39174937 with ModelOrderReduction main 4c1fc0b5, Julia 1.12.6, PDEBase 0.1.31, and SciMLBase 3.39.1. The binding exists with PDEBase 0.1.30 and disappears with 0.1.31, identifying the registered PDEBase change as the boundary. MethodOfLines main has independently corrected its own owner import in MethodOfLines.jl#613, but ModelOrderReduction should still depend only on the owner API it calls.

Validation

All listed commands reached natural terminal exits in a single isolated depot:

  • GROUP=Core julia --project=. -e 'using Pkg; Pkg.test()' — DataReduction 15/15, DEIM 4/4, utils 11/11
  • GROUP=QA julia --project=. -e 'using Pkg; Pkg.test()' — JET 5/5, QA 21/21
  • full docs/make.jl — doctests, executable tutorial, document checks, HTML rendering, and link checking passed
  • exact ModelingToolkit downstream workflow at clean d39174937, including Pkg.develop of ModelingToolkit/ModelingToolkitBase and Pkg.test(coverage=true) — DataReduction 15/15, DEIM 4/4, utils 11/11
  • whole-repository Runic --check .

An earlier layered-depot Core experiment was manually terminated after stale build-ID cache errors. It is explicitly non-evidentiary and is not included in the validation above.

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

Copy link
Copy Markdown
Member Author

Validation record for commit 80e1f75688eb8cc3827ab2f48ae25b0388a1c19a:

  • clean isolated GROUP=Core: DataReduction 15/15, DEIM 4/4, utils 11/11
  • clean isolated GROUP=QA: JET 5/5, QA 21/21
  • full docs environment + docs/make.jl: doctests, executable DEIM tutorial, checks, render, and linkcheck passed
  • exact ModelingToolkit downstream workflow on clean MTK d39174937: DataReduction 15/15, DEIM 4/4, utils 11/11 with coverage
  • whole-repository Runic: exit 0

All listed runs reached natural terminal exits. The earlier manually terminated layered-depot cache experiment remains non-evidentiary.

Copy link
Copy Markdown
Member Author

CI triage for the Julia LTS Core failure:

This reproduces on clean ModelOrderReduction main 4c1fc0b5 and is independent of this PR. With Julia 1.10.11 and a fresh current General registry, the graph resolves MethodOfLines 0.11.18 with PDEBase 0.1.32. Core/DataReduction.jl passes 15/15, then Core/deim.jl errors while precompiling MethodOfLines with UndefVarError: Interval not defined.

The owner-import fix is already merged in MethodOfLines.jl#613 and main is versioned 0.11.19. I verified locally on Julia 1.10 that MethodOfLines 0.11.19 loads successfully with registered PDEBase 0.1.32 (METHODOFLINES_01119_PDEBASE_01132_LOAD_OK). Registration is now JuliaRegistries/General#162817.

No ModelOrderReduction source change is appropriate for this CI failure. I will recheck/rerun after 0.11.19 is registered.

Copy link
Copy Markdown
Member Author

LTS release-boundary follow-up

JuliaRegistries/General#162817 merged at 2026-07-30 11:19:58 UTC. General now records MethodOfLines 0.11.19 with tree 7e9107f275dbd0a45c21e6e2c7f95801949d802d, exactly matching SciML/MethodOfLines.jl commit 5ec02a461f7879503efaa977792dc0a9699f8477.

I then used a local Julia 1.10 depot, freed the development checkout, resolved the two registered releases, and actually loaded:

  • MethodOfLines 0.11.19
  • PDEBase 0.1.32

The command exited 0 with REGISTERED_MOL_01119_PDEBASE_0132_LOAD_OK. This is the exact package boundary that failed the original LTS job with MethodOfLines 0.11.18.

I attempted to rerun only the failed hosted LTS job through GitHub's job-rerun endpoint, but the current token received 403 Must have admin rights to Repository. I did not create an empty commit or otherwise churn this branch to force a rerun. The original red check is therefore stale pending an authorized rerun.

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