Skip to content

Raise Cubature minimum to 1.5.1#348

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:agent/raise-cubature-minimum
Jul 20, 2026
Merged

Raise Cubature minimum to 1.5.1#348
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:agent/raise-cubature-minimum

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Summary

  • Raise the root and AD test compatibility floors from Cubature 1.5 to 1.5.1.
  • Continue allowing every later 1.x release while excluding the broken 1.5.0 release.

Please ignore this draft until reviewed by @ChrisRackauckas.

Why

The downgrade resolver selects Cubature 1.5.0 from the current floor. In a clean depot, that release fails during Pkg.build because its stale deps/build.jl imports undeclared BinaryProvider, so Integrals tests never start. Cubature 1.5.1 removed the obsolete build file in upstream commit 57e0d1a.

Integrals commit f812956e introduced both the downgrade job and the 1.5 floor, making 1.5.0 the first selected release for that job.

This is intentionally separate from other independent downgrade-floor failures.

Local verification

  • Clean Integrals master with exact Cubature 1.5.0: reproduced Package BinaryProvider not found from deps/build.jl:1.
  • Deployed downgrade.jl dependency resolver after this change: selected Cubature 1.5.1.
  • Julia 1.10.11, exact Cubature 1.5.1, --check-bounds=yes --depwarn=error: a real CubatureJLh solve returned approximately 1/3 and passed its assertion.
  • Julia 1.10.11, current dependencies, GROUP=Core Pkg.test(), --check-bounds=yes --depwarn=error: Integrals tests passed (1,741 assertions).
  • Runic 1.7.0 --check --verbose .: all 37 Julia files passed.

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

Copy link
Copy Markdown
Member Author

Investigation scratchpad for commit 6bac7b8e:

  1. Reproduced from clean Integrals base 218dbe4e with Julia 1.10.11 and a fresh depot. Pinning Cubature 1.5.0 installed the exact floor and failed in Pkg.build:
    ERROR: Error building Cubature
    ArgumentError: Package BinaryProvider not found in current path.
    .../Cubature/.../deps/build.jl:1
    
  2. Traced the Integrals-side boundary to f812956e (2023-12-23), which introduced the downgrade workflow and changed Cubature compat from 1 to 1.5. This made 1.5.0 the selected downgrade release.
  3. Traced the dependency-side boundary to Cubature commit 57e0d1a, released as 1.5.1, which removed the obsolete build script. I also checked 1.3.1; its build script fails on another undeclared legacy dependency (Compat), so lowering the floor is not a viable correction.
  4. Changed both the package and AD test-environment floors to 1.5.1 so they remain consistent.
  5. Ran the same deployed Resolver/downgrade script in dependency mode; it selected Cubature 1.5.1 and completed resolution.
  6. Ran an exact-1.5.1 strict smoke test through Integrals' real CubatureJLh extension and asserted ∫₀¹ x² dx ≈ 1/3; it passed.
  7. Ran GROUP=Core Pkg.test() with Julia 1.10.11, current dependencies, --startup-file=no --check-bounds=yes --depwarn=error; all eight Core files passed, totaling 1,741 assertions.
  8. Ran Runic 1.7.0 over the whole repository in check mode; 37/37 Julia files passed.
  9. Fetched upstream/master after testing; the branch was not behind before publication.

No upstream Cubature issue/PR was opened because the dependency defect is already fixed in 1.5.1 and Cubature is outside the repositories authorized for autonomous writes.

Copy link
Copy Markdown
Member Author

Final validation update:

  • Local Julia 1.10.11 GROUP=AD Pkg.test() with --startup-file=no --check-bounds=yes --depwarn=error resolved Cubature 1.5.1 and exited 0:
    • AD/derivative_tests.jl: 2,005 passed, 1,176 pre-existing broken, 3,181 total
    • AD/nested_ad_tests.jl: 6/6 passed
    • package result: Testing Integrals tests passed
  • GitHub Actions is fully green: downgrade, AD, Core on LTS/current/prerelease Julia, QA, docs, spelling, Runic, and Runic suggestions all passed.
  • After a final git fetch upstream, the branch is not behind upstream/master, the worktree is clean, and GitHub reports the draft PR mergeable.

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 20, 2026 07:03
@ChrisRackauckas
ChrisRackauckas merged commit 3c29f2a into SciML:master Jul 20, 2026
6 checks passed
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