Move CTSolvers core infrastructure to CTBase#455
Merged
Conversation
- Add Options system with type-safe option definitions and validation - Add Orchestration module for solver routing and execution - Add Strategies module for strategy pattern implementation - Add comprehensive guide documentation for options, orchestration, and strategies - Update Project.toml with new dependencies - Update API reference and documentation build configuration - Add test suites for options, orchestration, and strategies
- Add _typos.toml with custom ignore rules for codebase-specific terms - Ignore 'strat'/'Strat' as common variable names - Ignore 'adnlp_backen'/'ipopt_backen' test fixtures - Update SpellCheck workflow to use custom config
- Update guide documentation with clearer explanations and examples - Enhance strategy metadata and describe_registry implementations - Improve error display formatting in Exceptions - Update parameter contract helpers and coverage tests - Refine registry API for better introspection
Member
Author
|
Added improvements to documentation and code quality:
All documentation builds successfully with |
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 moves the core infrastructure from CTSolvers to CTBase to establish a shared foundation for solver-related functionality across the control-toolbox ecosystem.
Changes Overview
New Modules
Options System (
src/Options/)OptionDefinitionfor declaring solver options with types, defaults, and constraintsOptionValuewrapper for handling provided vs. not-provided valuesNotProvidedsingleton for distinguishing explicitnothingfrom missing optionsOrchestration Module (
src/Orchestration/)Strategies Module (
src/Strategies/)AbstractStrategycontract with metadata, parameters, and optionsDocumentation
Added four new guide documents:
implementing-a-strategy.md- Guide for implementing custom strategiesoptions-system.md- Documentation of the options systemorchestration-and-routing.md- Orchestration and routing frameworkstrategy-parameters.md- Strategy parameter systemProject Updates
Project.tomlwith new dependenciesdocs/api_reference.jlwith new module exportsdocs/make.jlfor documentation build configurationsrc/CTBase.jlto include new submodulessrc/Exceptions/display.jlfor improved error displayTesting
All new modules have comprehensive test coverage:
Motivation
This refactoring establishes CTBase as the foundation for solver infrastructure, enabling:
Breaking Changes
None - this is purely additive functionality.