Skip to content

Raise JumpProcesses downgrade floor#4773

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:codex/raise-jumpprocesses-downgrade-floor
Draft

Raise JumpProcesses downgrade floor#4773
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:codex/raise-jumpprocesses-downgrade-floor

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Jul 16, 2026

Copy link
Copy Markdown
Member

Summary

  • raise the JumpProcesses lower bound from 9 to 9.28
  • keep the supported major version unchanged

Motivation

The exact downgrade environment selected an older JumpProcesses 9.x release that is incompatible with ModelingToolkit's current InterfaceI behavior. JumpProcesses 9.28 is the validated lower bound for the current code and test suite.

Local validation

Validated rebased head a588627ac5d5794631fd845f111ecff9184711f7 on current master 3704e7ec6e75a67c9e20121483c9122c4b2699a1:

  • generated a fresh locked minimum graph on Julia 1.10 with the recursive path-source action from [Stacked on #55] Resolve recursive path-source dependencies julia-actions/julia-downgrade-compat#56 (28fff453)
  • confirmed JumpProcesses 9.28.0, ModelingToolkitBase 1.54.1 by local path, SciCompDSL 1.0.1 by local path, Symbolics 7.32.1, and SciMLBase 3.19.0
  • Pkg.instantiate() and Pkg.build() exited 0
  • locked GROUP=InterfaceI, Pkg.test(; coverage=true, allow_reresolve=false): 1,476 passed, 3 existing broken, 1,479 total in 50m24.7s; package tests passed
  • manifest SHA-256 remained 94aa56aef532bb8cb49ff7a818b09a38193cedf4bb82de7241e359624dddb586 before and after build/test
  • repository-wide Runic check, TOML floor assertion, and git diff --check exited 0

Workflow dependency

The deployed downgrade workflow still omits constraints from recursive local path packages before minimum resolution. The local validation used julia-actions/julia-downgrade-compat#56, and SciML/.github#118 provides the SciML-side reconciliation. Until one of those paths is deployed, hosted downgrade CI may stop at that workflow boundary before package tests execute.

Please ignore this draft until it has been reviewed by @ChrisRackauckas.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Local validation record for commit 83b60fff52ad8583de925a468de51944e97d22e3:

  • Generated the recursive locked manifest with [Stacked on #55] Resolve recursive path-source dependencies julia-actions/julia-downgrade-compat#56 (a12049f) and confirmed JumpProcesses 9.28.0, local ModelingToolkitBase 1.54.0, local SciCompDSL 1.0.1, and ModelingToolkitTearing 1.19.2.
  • Ran GROUP=InterfaceI julia +1.10 --project=. -e 'using Pkg; Pkg.test(; allow_reresolve=false)': 1457 passed, 3 pre-existing broken, 1460 total; package tests passed in 27m55.3s.
  • Ran Runic 1.7 over the rebased checkout: 221/221 files passed.
  • Parsed Project.toml, asserted compat.JumpProcesses == "9.28", and ran git diff --check; all passed.

The branch was fetched and checked against current origin/master after validation; no rebase was required.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Rebased this focused compat correction onto current master (b0340ae79) and reran the locked minimum-version checks locally.

  • exact downgrade graph selected JumpProcesses 9.28.0 with local ModelingToolkitBase and SciCompDSL path sources
  • GROUP=InterfaceI, Julia 1.10, allow_reresolve=false: 1457 passed, 3 pre-existing broken, 1460 total (31m23.8s)
  • GROUP=Extensions, Julia 1.13, allow_reresolve=false: 96/96 passed (12m05.5s)
  • clean-base Extensions replay with the same locked environment: 96/96 passed (12m17.5s)
  • Runic check and git diff --check: passed

Current head: 4901142dd4db54b5973c8217c60c203c4c9df758.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

The downgrade check failed before running package tests, at the known action-v2 path-source boundary documented in this PR's dependency.

The current v2 action pinned Symbolics 7.31.0 from the root project, then inserted local ModelingToolkitBase 1.54.1, whose compat requires Symbolics 7.32.1+; the test sandbox therefore reported an empty intersection. The recursive path-source resolver in julia-actions/julia-downgrade-compat#56 incorporates that local compat during resolution. The same PR head passed the resulting locked InterfaceI graph locally (1457 pass, 3 pre-existing broken).

No package test executed in the failed CI job.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude
ChrisRackauckas-Claude force-pushed the codex/raise-jumpprocesses-downgrade-floor branch from 4901142 to a588627 Compare July 21, 2026 00:37
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Rebased and revalidated the focused floor change on current master.

  • current PR head: a588627ac5d5794631fd845f111ecff9184711f7
  • tested base: 3704e7ec6e75a67c9e20121483c9122c4b2699a1
  • fresh exact graph selected JumpProcesses 9.28.0, local ModelingToolkitBase 1.54.1, local SciCompDSL 1.0.1, Symbolics 7.32.1, and SciMLBase 3.19.0
  • locked Julia 1.10 GROUP=InterfaceI: 1,476 passed, 3 existing broken, 1,479 total in 50m24.7s; package tests passed
  • manifest SHA-256 was unchanged before and after build/test: 94aa56aef532bb8cb49ff7a818b09a38193cedf4bb82de7241e359624dddb586
  • Runic, TOML floor assertion, and git diff --check exited 0

Before the guarded branch update I fetched both upstream and fork, confirmed upstream master was still the tested base, confirmed the remote branch was still exactly the expected old tip 4901142dd4db54b5973c8217c60c203c4c9df758, and confirmed its sole exclusive commit belonged to this account. The explicit-SHA --force-with-lease advanced it to a588627a without overwriting another contributor.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Current-default baseline checkpoint (first read after the scheduled timer): exact master 3704e7ec6e75a67c9e20121483c9122c4b2699a1 completed Downgrade Sublibraries run 29784568785 with 2/3 jobs green. The sole red was ModelingToolkitBase: InterfaceII reported 7,235 pass, 3 error, 4 pre-existing broken; the errors were Lotka-Volterra (bvproblem.jl:14), Cost function compilation (:308), and Parameter estimation (:370).

The ordinary same-SHA LTS Sublibrary CI InterfaceII job has the exact same three test names/locations and exact same 7,235 pass / 3 error / 4 broken summary. This is therefore a clean-master baseline failure, not a downgrade-only JumpProcesses floor regression. No candidate change is justified by it.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Scheduled CI checkpoint for current head a588627ac5d5794631fd845f111ecff9184711f7:

  • The requested Downgrade / InterfaceI check passed. The ordinary InterfaceI lanes on LTS, current, and prerelease Julia also passed, as did the remaining ModelingToolkit test groups except the infrastructure-only QA termination below.
  • Both red Catalyst Modeling jobs (direct, downstream) reproduce the clean-main Symbolic Stoichiometry baseline: 20 pass and 1 UndefKeywordError: keyword argument parent_sys not assigned. That baseline is fixed by the separate Catalyst prerequisite in Test symbolic stoichiometry through public API Catalyst.jl#1511.
  • The red ModelingToolkitStandardLibrary Core job reproduces the clean-main AccelerationSensor structural-singularity baseline already documented on Raise ModelingToolkit downgrade floors ModelingToolkitStandardLibrary.jl#495: 15 pass and 1 error.
  • The red ModelingToolkitBase downgrade job reported 7,235 pass, 3 errors, and 4 existing broken tests. Its three error sites are exactly the same Lotka-Volterra (bvproblem.jl:14), Cost function compilation (:308), and Parameter estimation (:370) failures observed on current clean master and recorded in the preceding comment.
  • The red QA job is a self-hosted-runner loss, not a test result: GitHub finalized the job as failed while step 12 remained in_progress with no completion time or conclusion and every later step remained pending; its log endpoint returns 404.

Thus the JumpProcesses minimum correction itself is locally verified and its hosted downgrade target is green; none of the remaining red checks identifies a regression caused by this PR.

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