Import Optimisers algorithms from their owner - #1617
Draft
ChrisRackauckas-Claude wants to merge 1 commit into
Draft
Import Optimisers algorithms from their owner#1617ChrisRackauckas-Claude wants to merge 1 commit into
ChrisRackauckas-Claude wants to merge 1 commit into
Conversation
Co-Authored-By: OpenAI Codex <noreply@openai.com> Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://chatgpt.com/codex/tasks/01a03a04-70ae-77a0-ba1b-ec7a1ed9ef47
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR should be ignored until reviewed by @ChrisRackauckas.
What changed
OptimizationOptimisers 0.3.22 stopped re-exporting algorithm types from Optimisers, but SciMLSensitivity's Core4–Core6 tests still constructed
AdamandDescentas unqualified names. This adds Optimisers as an MIT-licensed, test-only dependency and imports each algorithm explicitly from its documented public owner API. Production code and the SciMLSensitivity public API are unchanged.Regression boundary
using OptimizationOptimisers; Adam(0.1); Descent(0.01)exits 0.UndefVarError, and Julia identifies Optimisers as the owner.using Optimisers: Adam, Descentwith OptimizationOptimisers 0.3.22 exits 0.The boundary is SciML/Optimization.jl@0c726c0, which replaced the Optimisers re-export with a normal import.
Failing before / passing after
On pristine SciMLSensitivity master
5174411526fdb52e859c66603b66afa230eae9f9:With this change:
The pristine Core5 group produced 20
Adamerrors across Size Handling, Callback-ReverseDiff, Hybrid DE, HybridNODE, ForwardDiff Sparsity, and Complex No-u. With this change, Core5 passes 42/42 on Julia release and Julia 1.11. The pristine run also exposed an unrelated clean-master@test_nowarnfailure in Parameter Handling under one fresh release resolution; no test was weakened or suppressed here.The pristine Core6 group failed with four
Descenterrors:With this change:
The original CI failures are visible in the Core4 jobs for current, Julia 1.11, and LTS, and the Core5 jobs for current, Julia 1.11, and LTS.
Verification
GROUP=Core4 julia +release --project=. -e 'using Pkg; Pkg.test()': 16 passed, 2 pre-existing broken, 18 total in 10m46.4s.GROUP=Core4 julia +1.11 --project=. -e 'using Pkg; Pkg.test()': 17/17 in 40m22.4s.GROUP=Core4 julia +lts --project=. -e 'using Pkg; Pkg.test()': 17/17 in 38m43.0s.GROUP=Core5 julia +release --project=. -e 'using Pkg; Pkg.test()': 42/42 in 34m29.7s.GROUP=Core5 julia +1.11 --project=. -e 'using Pkg; Pkg.test()': 42/42 in 36m30.8s.GROUP=Core5 julia +lts --project=. -e 'using Pkg; Pkg.test()': 42/42 in 26m29.4s on Julia 1.10.12.GROUP=Core6 julia +release --project=. -e 'using Pkg; Pkg.test()': 238 passed, 4 pre-existing broken, 242 total in 48m06.6s.GROUP=QA julia +release --project=. -e 'using Pkg; Pkg.test()': unchanged warm retry passed 20/20 in 2m36.4s, and detached clean upstream master passed 20/20 in 2m58.3s with the same warmed isolated depot. The first fresh-depot run passed 19/20 substantive checks but hit an Aqua wrapper-precompile transient (done.logwas not created after the subprocess exited); no test or QA configuration was changed before either passing run.julia +release --project=<Runic environment> -m Runic --check .: exit 0 (Runic 1.9.0).git diff -U0 upstream/master...HEAD | typos -: exit 0.git diff --check upstream/master...HEAD: exit 0.Docs were not built because this changes only test dependencies and test imports, with no docs, docstrings, production code, or public API. GPU, downstream, and unrelated test groups were not run locally.
Related failure report: #1612
🤖 Generated with Claude Code
https://chatgpt.com/codex/tasks/01a03a04-70ae-77a0-ba1b-ec7a1ed9ef47