Repository navigation
Require GeometricOptimizers 0.9 and ReducedComplexityModeling 0.5 - #38
Conversation
The two bounds move together: RCM 0.3 needs NeuralNetworkParameters 0.3 and GO 0.9 needs 0.5, so no environment holds both. No code changes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Every GeometricOptimizers 0.9 release requires GeometricBase 0.15 and SimpleSolvers 0.14.2 - 0.14, so the old floors cannot resolve beside it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…and 0.6.6 GeometricEquations 0.21.0-0.21.4 and GeometricSolutions 0.6.0-0.6.5 require GeometricBase 0.14, so beside the GeometricBase floor of 0.15 the Downgrade floor set cannot resolve. With these floors it resolves on Julia 1.12. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
No actionable comments were generated in the recent review.
|
| Layer / File(s) | Summary |
|---|---|
Julia and dependency compatibility bounds Project.toml, CHANGELOG.md |
Project.toml updates minimum versions for six dependencies. The changelog records the Julia 1.12 minimum and explains the revised dependency bounds and compatibility history. |
Estimated code review effort: 2 (Simple) | ~8 minutes
Change: Other
Possibly related PRs
- JuliaRCM/SparseIdentification.jl#36: Raises the Julia compatibility floor to 1.12, which this changelog also records.
- JuliaRCM/SparseIdentification.jl#35: Adds GeometricOptimizers 0.9 to compatibility; this change requires that version.
- JuliaRCM/SparseIdentification.jl#37: Adds ReducedComplexityModeling 0.4 to compatibility; this change requires version 0.5.
Suggested labels: dependencies
Merge Risk: 
Minimal · up to d1983
-
No actionable merge-blocking issue is established by the reviewed changes.
Architecture risk: 
Low · up to d1983
-
The change affects 2 systems.
Changed systems:
CHANGELOG.md,Project.tomlArchitecture concerns
No architecture-level concerns identified.Review details
-
Systems and components
- observed — CHANGELOG.md (service) was modified; 1 changed file maps to changed impact.
- observed — Project.toml (service) was modified; 1 changed file maps to changed impact.
Before / after behavior
- observed — Modified behavior in CHANGELOG.md: The changelog changes the stated Julia minimum from 1.11 to 1.12 and updates the compatibility explanation to name
GeometricOptimizers0.9 andReducedComplexityModeling0.5 as requiring that version. - observed — Modified behavior in CHANGELOG.md: The changelog replaces the prior dependency bounds with
GeometricOptimizers0.9 andReducedComplexityModeling0.5 only, explaining that theirNeuralNetworkParametersrequirements prevent the older versions from resolving together. It updates the associated minimums forGeometricBaseandSimpleSolvers, then raisesGeometricEquationsandGeometricSolutionsminimums to versions compatible withGeometricBase0.15. - observed — Modified behavior in CHANGELOG.md: The changelog updates the
ReducedComplexityModelingdependency version from 0.3 to 0.5 and revises the compatibility history accordingly. It retains the statements that no names are re-exported or added and that the conversion between RCMTrainingDataand packageTrajectoryDatais private. - observed — Modified behavior in CHANGELOG.md: The changelog updates the minimum-version consequences: environments below the prior
GeometricBase,SimpleSolvers, andRuntimeGeneratedFunctionsfloors cannot resolve the release, and the related dependency-bound entry raisesGeometricBase,SimpleSolvers, andGeometricSolutionsfloors again.
-
Pre-merge checks: 
5
-
Full details: Docstring Coverage
-
Explanation
No eligible functions found in the changed files. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff with cyclomatic complexity of at least 2. Documentation-only edits and deletions within surviving functions are included; unchanged diff context and fully deleted functions are excluded. Analyzed 0 functions across 0 files. (2 skipped: 2 unsupported.)
-
Finishing Touches
-
Generate unit tests (beta)
-
- Commit to this branch
- Create a new PR
-
- Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #38 +/- ##
=======================================
Coverage 89.91% 89.91%
=======================================
Files 10 10
Lines 357 357
=======================================
Hits 321 321
Misses 36 36 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
What changes and why
[compat]moves to GeometricOptimizers 0.9 and ReducedComplexityModeling 0.5:"0.7, 0.8""0.9""0.3""0.5""0.14.9, 0.15""0.15""0.13.2, 0.14""0.14.2""0.21""0.21.5""0.6.5""0.6.6"The two main bounds move together. ReducedComplexityModeling 0.3 requires NeuralNetworkParameters 0.3, and GeometricOptimizers 0.9 requires NeuralNetworkParameters 0.5, so no environment holds both.
Four floors rise because of the General registry:
0.15and SimpleSolvers0.14.2 - 0.14. The old floors of GeometricBase and SimpleSolvers can therefore not resolve beside it, and the Downgrade job fails on them.The floor set resolves on Julia 1.12: GeometricBase 0.15.0, GeometricEquations 0.21.5, GeometricOptimizers 0.9.0, GeometricSolutions 0.6.6, ReducedComplexityModeling 0.5.0, RuntimeGeneratedFunctions 0.5.12, SimpleSolvers 0.14.2, Symbolics 7.0.0.
No source or test file changes. The package uses
Optimizer,OptimizerState,BFGSandBacktrackingfrom GeometricOptimizers, andTrainingDataandIntrinsicSpacefrom ReducedComplexityModeling; the tests also useObservableSpace. Both releases keep these names. The CHANGELOG[Unreleased]section gets one entry for the bounds and floors, and the Julia 1.12 floor entry now names GeometricOptimizers 0.9 and ReducedComplexityModeling 0.5 as its reason. No release.Supersedes #35 and #37.
Test suite
A fresh resolve gives GeometricOptimizers v0.9.2, ReducedComplexityModeling v0.5.0 and NeuralNetworkParameters v0.5.4; the base resolves GeometricOptimizers v0.8.0 and ReducedComplexityModeling v0.3.1.
Pkg.test()passes 261 assertions on the branch, the same count as on the base: Aqua 9, Basis 30, Extended Bases 60, Training Data 15, Solvers 11, SINDy 12, Hamiltonian SINDy 37, RCM 38, Conformance 49. The last two commits of the branch change only CHANGELOG text.Critic verdict: PASS
[compat]reads GO"0.9"and RCM"0.5"; no other line changes unless the resolve needs it[compat]hunks at the judged head; the four floors that follow are the decisions belowPkg.test()passesGradientOptimizer,MomentumOptimizer,AdamOptimizeroroptimize_for_one_epoch!git grephas no hits on the base or the branch[Unreleased]entry for the bounds; the Julia 1.12 sentence names GO 0.9 / RCM 0.5TrainingData,IntrinsicSpace,ObservableSpaceBFGS()withBacktracking()Mutant survival
The named mutant replaces the default
algorithm = BFGS()ofOptimizerSolver()withGradientMethod(). It survives theOPTIMIZER_ATOLtests attest/solvers.jl:34and:42: the errors are 6.19e-8 and 5.47e-8 withGradientMethod(), against 2.78e-9 and 7.00e-9 withBFGS(), all below the tolerance 1e-6. The suite still catches the mutant attest/reducedcomplexitymodeling.jl:134.Decisions taken without the user
"0.15"and SimpleSolvers"0.14.2", because every GeometricOptimizers 0.9 release requires GeometricBase"0.15"and SimpleSolvers"0.14.2 - 0.14", so the Downgrade job cannot resolve the old floors. Clause 1's "no other[compat]line" does not cover these two; the CHANGELOG entry names them."0.21.5"and GeometricSolutions to"0.6.6", because GeometricEquations 0.21.0–0.21.4 and GeometricSolutions 0.6.0–0.6.5 need GeometricBase 0.14, and the floor set then resolves on Julia 1.12.Clause 1 as written ("no other
[compat]line changes") is therefore not met: four more lines change, for the registry reasons above.Pre-PR verification
[Unreleased]entry saystest/Project.tomllists GeometricBase, GeometricEquations and Symbolics with the root's bounds. An earlier entry says they were removed, and the file agrees with the earlier one. This is a nit, and this branch did not cause it.[compat]bound and every registry claim in the new CHANGELOG entry agrees with General.solve, which two source comments describe, is still there.🤖 Generated with Claude Code
Summary by CodeRabbit