Upgrade to CTBase 0.21 / CTModels 0.12 and consume CTBase.Strategies + Core utils#270
Merged
Conversation
These three generic helpers moved into CTBase.Core. CTFlows.Common no longer defines them: it re-exports them from CTBase.Core so existing `Common.<symbol>` call sites stay unchanged. Removes the now-duplicated files: - src/Common/abstract_tag.jl (AbstractTag already exists in CTBase.Core) - src/Common/abstract_cache.jl (AbstractCache moved to CTBase.Core) - src/Common/helpers.jl (make_coerce moved to CTBase.Core) Requires CTBase 0.21. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The generic Strategies / Options / Orchestration modules moved from CTSolvers into CTBase (clean break, no re-export shims). Rewire all CTFlows references accordingly: - `CTSolvers.Strategies/Options/Orchestration.*` -> `CTBase.*` across Differentiation, Flows, Integrators, MultiPhase and the SciMLIntegrator ext. - `CTSolvers.value` / `CTSolvers.is_user` -> `CTBase.Options.value` / `.is_user`. - Bind CTBase in modules that use the `CTBase.Strategies.*` prefix (`using CTSolvers: CTSolvers` -> `using CTBase: CTBase`). Project.toml: - Bump compat: CTBase 0.20 -> 0.21, CTModels 0.11 -> 0.12. - Drop now-unused deps CTSolvers and CommonSolve (flagged stale by Aqua). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Rewire test references to the moved modules: `CTSolvers.Strategies/Options` -> `CTBase.Strategies/Options`, and `import CTSolvers` -> `import CTBase`. - Add `import ForwardDiff` to the DI-dependent suites (differential_geometry, differentiation, the DifferentiationInterface extension test). With DifferentiationInterface 0.7, the AutoForwardDiff backend requires ForwardDiff to be loaded; these suites run before extensions/ (which used to load it), so they now load it themselves instead of relying on test order. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Member
Author
Reviewer notes / merge orderThis PR is part of the CTFlows → CTBase move effort and is coupled to a CTBase change:
The three commits are intentionally separable for review:
Validated locally with CTBase / CTModels / CTSolvers |
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.
Summary
Brings CTFlows up to date with the current control-toolbox ecosystem and starts
consuming generic building blocks from CTBase.
Two related concerns, kept as separate commits in this single PR:
0.20 → 0.21, CTModels0.11 → 0.12.The
Strategies/Options/Orchestrationmodules moved from CTSolversinto CTBase (clean break). All references are rewired
CTSolvers.* → CTBase.*, and the now-unusedCTSolversandCommonSolvedependencies are dropped.
AbstractTag,AbstractCacheandmake_coercenow live inCTBase.Core.CTFlows.Commonre-exports them, so call sites are unchanged.
Commits
Consume AbstractTag/AbstractCache/make_coerce from CTBase.CoreMigrate Strategies/Options/Orchestration from CTSolvers to CTBasetest: load ForwardDiff explicitly; rewire CTSolvers -> CTBaseDepends on
AbstractCache/make_coercetoCTBase.Core) must be merged and released as a CTBase0.21beta first.Notes
AutoForwardDiffbackend requiresForwardDiffto be loaded. Thedifferential_geometry/differentiationsuites run before
extensions/(which used to load it), so they nowimport ForwardDiffthemselves rather than relying on test ordering.CommonSolvewas removed because it is unused anywhere in the package; revertthat hunk if it was kept intentionally for the
solveinterface.Test plan
locally
dev-ed CTBase 0.21 / CTModels 0.12 / CTSolvers 0.4.19.🤖 Generated with Claude Code