Repository navigation
OptimizationIpopt: make imports explicit - #1413
ChrisRackauckas merged 1 commit into
Conversation
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Cursor Agent <noreply@cursor.com> Agent-Harness: Cursor Agent CLI 2026.10.01-14929f9 Agent-Model: auto Agent-Session: local session, transcript at /home/crackauc/sandbox/goals/qa-hygiene/jobs/ipopt-imports/log.txt on amdci2
Independent review (Devin CLI 3000.11.3, model fusion-claude-opus-5-5-high-sidekick-swe-2-medium): MERGE, risk low. Full reviewVERDICT: MERGE PR: #1413 (OptimizationIpopt: make imports explicit). No linked issue. It is one of a series of "make imports explicit" PRs (merged siblings #1409 and #1398), and it follows their pattern: module binding plus named imports, and drop the Blocking findingsNone. Non-blocking findings
What I ranAll runs used
What I did not verify
🤖 Posted by an AI agent — harness: Devin CLI 3000.11.3 (review), Claude Code 2.1.285 (posting) · model: fusion-claude-opus-5-5-high-sidekick-swe-2-medium |
…ationLBFGSB, OptimizationMOI, OptimizationNLopt, OptimizationPolyalgorithms, and SimpleOptimization for release (#1423) Agent-Harness: Devin CLI 3000.11.3 Agent-Model: Fusion (Claude Opus 5.5 Medium + SWE-2 Medium) Agent-Session: local transcript ~/.local/share/devin/cli/transcripts/flash-hour.json Co-authored-by: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
OptimizationIpopt now imports the Ipopt, OptimizationBase, SciMLBase, and SparseArrays module bindings and the individual names its implementation uses (
OptimizationCache,ReturnCode,SparseMatrixCSC,findnz,nonzeros). Unusedusing Reexport/LinearAlgebra/SymbolicIndexingInterfacelines were dropped (and the unusedReexportdependency removed so Aqua stale-deps stays green). The QA suite no longer marksno_implicit_importsas broken. In-repo qualified uses are onlyOptimizationIpopt.IpoptOptimizerandOptimizationIpopt.IpoptEvaluator(docs); both remain defined here.Verification
Group env var confirmed in
lib/OptimizationIpopt/test/runtests.jlasOPTIMIZATION_TEST_GROUP. Commands ran fromlib/OptimizationIpoptwith job-localTMPDIR/JULIA_DEPOT_PATH,JULIA_CONDAPKG_BACKEND=Null,JULIA_PYTHONCALL_EXE=/usr/bin/python3, andulimit -n 65536.OPTIMIZATION_TEST_GROUP=QA julia --project -e 'using Pkg; Pkg.test()'Quality Assurance | 20 1 21 1m05.3s;Testing OptimizationIpopt tests passed.Quality Assurance | 21 21 1m03.4s;Testing OptimizationIpopt tests passed.OPTIMIZATION_TEST_GROUP=Core julia --project -e 'using Pkg; Pkg.test()'Core | 131 1 132 6m09.9s;Testing OptimizationIpopt tests passed(the one broken is pre-existing, unrelated to imports).julia --project=@runic -e 'using Runic; exit(Runic.main(ARGS))' -- --inplace lib/OptimizationIpopt/src/OptimizationIpopt.jl lib/OptimizationIpopt/test/qa/qa.jl— exit 0.typos lib/OptimizationIpopt/src/OptimizationIpopt.jl lib/OptimizationIpopt/test/qa/qa.jl— exit 0.check_no_implicit_importsandcheck_no_stale_explicit_importsreturn ok.lib/,test/, anddocs/for qualifiedOptimizationIpopt.xreferences; only docs citeIpoptOptimizer/IpoptEvaluator.Not verified: CI, the full Optimization.jl monorepo suite, and downstream packages.
Please ignore this draft until reviewed by @ChrisRackauckas.
Risk assessment
Reexportdep removal, and QA status for OptimizationIpopt. Exports and solver behavior are unchanged. Names that were only incidentally reachable asOptimizationIpopt.xthrough the old blanketusingno longer are; nothing inlib/,test/ordocs/uses them, but downstream code spelling them that way would break.Cursor Agent CLI 2026.10.01-14929f9 (model: auto); transcript: /home/crackauc/sandbox/goals/qa-hygiene/jobs/ipopt-imports/log.txt on amdci2
Made with Cursor
Independent review: Devin Fusion (fusion-claude-opus-5-5-high-sidekick-swe-2-medium) rated it low, verdict MERGE: #1413 (comment)