Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
196 commits
Select commit Hold shift + click to select a range
880e731
Prepare CTSolvers v0.2.0-beta for first release
ocots Jan 19, 2026
89c6667
chore: v0.2.0-beta
ocots Jan 19, 2026
dbca00a
Refactor: remove deprecated ctdirect, ctmodels, and ctparser modules …
ocots Jan 19, 2026
51a1760
Fix: update function calls from CTSolvers to CTModels namespace and q…
ocots Jan 19, 2026
f9fa351
comment Moonshot CI
ocots Jan 19, 2026
f1cb01f
prepare to migrate
ocots Feb 4, 2026
071ffd4
feat: Add Strategies module with comprehensive strategy management
ocots Feb 4, 2026
35b44b2
foo
ocots Feb 4, 2026
5abd423
foo
ocots Feb 4, 2026
ba22a94
feat: Add Orchestration module for high-level option routing
ocots Feb 4, 2026
0cb8d9e
feat: Add Optimization module with general optimization abstractions
ocots Feb 4, 2026
e0ac9e1
feat: Add Modelers module with strategy-based backend implementations
ocots Feb 4, 2026
f35d1d8
feat: Add DOCP module for Discretized Optimal Control Problems
ocots Feb 4, 2026
642b3c7
fix: Update integration and extension tests for CTSolvers architecture
ocots Feb 4, 2026
e86715d
fix: Update end-to-end integration tests with proper imports
ocots Feb 4, 2026
93d5f6b
feat: Complete compliance with architectural rules (A→B→C approach)
ocots Feb 4, 2026
8dd0bf4
feat: Add comprehensive linear_solver validation for IpoptSolver
ocots Feb 4, 2026
cbbd21a
feat: Add comprehensive output options to IpoptSolver
ocots Feb 4, 2026
eac17f7
feat: Add timing_statistics option to IpoptSolver
ocots Feb 4, 2026
00e7df9
fix: Correct KnitroSolver options to match extension interface
ocots Feb 4, 2026
282ddea
feat: Enhance KnitroSolver with comprehensive options and correct outlev
ocots Feb 4, 2026
ee60e7f
refactor(IpoptSolver): Move metadata and callable to extension
ocots Feb 4, 2026
c8b383c
refactor(KnitroSolver): Simplify source file with tag dispatch stubs
ocots Feb 4, 2026
d81a0f2
refactor(KnitroSolver): Complete extension with metadata and callable
ocots Feb 4, 2026
eef925b
refactor(MadNLPSolver): Simplify source file with tag dispatch stubs
ocots Feb 4, 2026
2558e78
refactor(MadNLPSolver): Complete extension with metadata and callable
ocots Feb 4, 2026
81c4317
refactor: Clean up solver stubs and improve error messages
ocots Feb 4, 2026
26ff8fb
refactor(MadNCLSolver): Complete extension with metadata and callable
ocots Feb 4, 2026
d315c62
cleanup: Remove migration resources and reorganize test structure
ocots Feb 4, 2026
e45fa6d
test(solvers): Add Phase 1 unit tests (solver types, stubs, CommonSol…
ocots Feb 4, 2026
da5429e
test(extensions): Add Phase 2 tests for solver extensions
ocots Feb 4, 2026
a1b543e
test(extensions): Add conditional extension tests with runtime packag…
ocots Feb 5, 2026
5efda5d
fix(extensions): Correct raw_opts handling in all solver extensions
ocots Feb 5, 2026
4346034
fix(extensions): Complete raw_opts corrections for all extensions + f…
ocots Feb 5, 2026
1d1983c
fix(tests): Complete extension tests corrections for MadNLP and MadNCL
ocots Feb 5, 2026
bf4732f
refactor(MadNCL): Use base_type helper function for cleaner type extr…
ocots Feb 5, 2026
692a73d
feat: Fix solver tests and add options_dict()
ocots Feb 5, 2026
e3ffa76
fix: Update solver tests and dependencies
ocots Feb 5, 2026
e2a887f
feat: Complete test suite with comprehensive extension tests
ocots Feb 5, 2026
52c1642
fix: Add KNITRO dependency and fix Aqua test structure
ocots Feb 5, 2026
8c72fec
Add REPL-style display scripts for CTSolvers modules
ocots Feb 5, 2026
e65bc72
feat: Add comprehensive MadNLP options and documentation
ocots Feb 5, 2026
a7a1cfc
feat(madnlp): implement advanced options and generic type validation
ocots Feb 5, 2026
0469531
feat: Complete option validation system documentation
ocots Feb 5, 2026
32b715e
feat(MadNCL): integrate MadNLP options and improve test suite
ocots Feb 5, 2026
2d7cb09
feat(Ipopt): integrate comprehensive options and refine test suite
ocots Feb 5, 2026
6baecfb
test(Ipopt): add exhaustive options validation test and cleanup extras
ocots Feb 5, 2026
083effa
Add __not_tested_test_knitro_extension.jl file
ocots Feb 5, 2026
abb9986
Remove KNITRO dependency from Project.toml
ocots Feb 5, 2026
d31646e
Refactor test_type_stability.jl for constants and extensions
ocots Feb 5, 2026
fc499d1
feat: implement strict/permissive validation system for strategy options
ocots Feb 5, 2026
d2453a1
feat: add route_to() helper for option disambiguation
ocots Feb 5, 2026
ada9e66
feat: add strict/permissive mode to option routing
ocots Feb 5, 2026
b72bbda
refactor: replace ArgumentError with Exceptions.IncorrectArgument
ocots Feb 5, 2026
4f4c5df
refactor: replace tuple syntax with RoutedOption type for disambiguation
ocots Feb 6, 2026
6996c3f
fix: use PreconditionError for route_to() and update disambiguation m…
ocots Feb 6, 2026
2ebe275
docs: add professional audit of strict/permissive implementation
ocots Feb 6, 2026
ef3c214
docs: complete Phase 4 documentation
ocots Feb 6, 2026
0f038cc
docs: add Phase 4 completion summary
ocots Feb 6, 2026
ca6a424
feat: add mode parameter propagation (Phase 3)
ocots Feb 6, 2026
8478aea
docs: add Phase 3 completion summary
ocots Feb 6, 2026
b7e94e1
test: add comprehensive integration tests for strict/permissive system
ocots Feb 6, 2026
58ebb6e
docs: add final project summary
ocots Feb 6, 2026
223fb62
feat: implement strict/permissive validation mode with comprehensive …
ocots Feb 6, 2026
ffe0afe
Update test_type_stability.jl
ocots Feb 6, 2026
a629348
feat: Complete strict/permissive mode validation (108/114 tests passing)
ocots Feb 6, 2026
3b173da
Update CI.yml
ocots Feb 6, 2026
a915dea
fix: resolve test compatibility issues and restore full test suite
ocots Feb 6, 2026
e7f33be
feat: complete systematic validation of all test files
ocots Feb 6, 2026
4354a56
feat: Implement strict/permissive validation system
ocots Feb 6, 2026
22f7d2f
fix: complete validation of all remaining test files
ocots Feb 6, 2026
b358936
feat: implement strict-permissive validation with disambiguation stra…
ocots Feb 6, 2026
0b67c10
fix: correct mode handling in strategy construction
ocots Feb 6, 2026
6e4b066
feat: comprehensive route_to() testing with validation modes
ocots Feb 6, 2026
e5ab82f
remove KNITRO tests
ocots Feb 6, 2026
56704a0
Fix comprehensive validation tests - all tests now passing
ocots Feb 6, 2026
e2975c3
Fix RouteTo Comprehensive Validation - 100% tests passing
ocots Feb 6, 2026
a455f58
Fix Comprehensive Validation - 100% tests passing
ocots Feb 6, 2026
477cb86
Merge pull request #56 from control-toolbox/migration
ocots Feb 6, 2026
56e71cd
remove duplication
ocots Feb 9, 2026
4c86416
feat: Remove legacy tuple-based disambiguation syntax
ocots Feb 9, 2026
486e830
refactor: Phase 1 & 2 - Add iteration interfaces and remove field access
ocots Feb 9, 2026
b8db341
refactor: Phase 3 - StrategyOptions field access removal
ocots Feb 9, 2026
98728f5
docs: Add docstring review project plan and Kanban board
ocots Feb 9, 2026
bd68ec2
docs: Add $(TYPEDSIGNATURES) and $(TYPEDEF) to disambiguation.jl
ocots Feb 9, 2026
de76ea2
docs: Fix Throws documentation in StrategyMetadata
ocots Feb 9, 2026
8d32052
docs: Use $(TYPEDSIGNATURES) for _raw_options in StrategyOptions
ocots Feb 9, 2026
db56bcb
docs: Improve build_strategy_options example in configuration.jl
ocots Feb 9, 2026
2ed88f3
docs: Fix inconsistent example in introspection.jl
ocots Feb 9, 2026
ec4db47
docs: Refine Options Core docstrings (Throws sections and macros)
ocots Feb 9, 2026
3f9a962
docs: Standardize Modelers docstrings (Abstract, ADNLP, Exa, Validation)
ocots Feb 9, 2026
77dafa8
docs: Standardize Solvers docstrings (Core & Implementations)
ocots Feb 9, 2026
8506a15
docs: Standardize Orchestration & Optimization docstrings
ocots Feb 9, 2026
d8e8e70
docs: Project Complete - Final Report
ocots Feb 9, 2026
978ff57
docs: Standardize docstrings in extensions (Ipopt, Knitro, MadNLP, Ma…
ocots Feb 9, 2026
fe76eb9
docs: Update CTSolvers.jl docstring to reflect implemented architecture
ocots Feb 9, 2026
ac9de6b
docs: Add docstrings to private routing error helpers in routing.jl
ocots Feb 9, 2026
f4825cc
Documentation complete: 9 guides with live @example/@repl blocks
ocots Feb 9, 2026
67febd7
foo
ocots Feb 9, 2026
f894ff7
foo
ocots Feb 9, 2026
d50fd72
foo
ocots Feb 9, 2026
4d6f669
fix docstrings
ocots Feb 10, 2026
1ce4e52
v0.2.0-beta.2
ocots Feb 10, 2026
4c06286
Fix CTBase.Exceptions undeclared binding warnings
ocots Feb 10, 2026
ccc02c9
Update tests and docs for CTBase.Exceptions fix
ocots Feb 10, 2026
72a528c
Bump version to v0.2.0-beta.3
ocots Feb 10, 2026
36cdd55
v0.2.0-beta.4
ocots Feb 10, 2026
3145ea0
v0.2.1-beta
ocots Feb 10, 2026
e481784
Update version to 0.2.1-beta.1 and add :manual backend to valid ADNLP…
ocots Feb 10, 2026
687c070
Update GitHub workflows for Coverage and Documentation
ocots Feb 10, 2026
9024d1c
Update .gitignore and remove cached directories
ocots Feb 10, 2026
bacf8d7
Update CHANGELOG.md with recent changes
ocots Feb 10, 2026
ab0daa3
Update version to 0.2.2-beta and remove examples file
ocots Feb 10, 2026
caefbb8
Fix Julia 1.10 compatibility: replace FieldError with Exception
ocots Feb 10, 2026
3fa45b1
Fix French spelling for English-only spell check compliance
ocots Feb 10, 2026
5b4719e
Complete French spelling cleanup with typos tool
ocots Feb 10, 2026
e88c3df
Fix final French word in README.md
ocots Feb 10, 2026
4bfe83e
foo
ocots Feb 10, 2026
4c8f134
remove extras
ocots Feb 10, 2026
a75eaf7
foo
ocots Feb 10, 2026
3419b9c
Merge pull request #59 from control-toolbox/fixbugs
ocots Feb 10, 2026
d0e6499
Bump version to 0.2.3-beta
ocots Feb 10, 2026
931ef01
foo
ocots Feb 11, 2026
d95d071
Enhance strategy display with tree-style formatting
ocots Feb 11, 2026
330d674
Add type annotations to DOCP building functions and fix modelers tests
ocots Feb 11, 2026
573cf2e
Fix DOCP tests by making FakeModelerDOCP subtype AbstractOptimization…
ocots Feb 11, 2026
9eb661e
Add backend aliases with deprecation warnings
ocots Feb 11, 2026
c0b73bf
Add comprehensive tests for backend aliases with deprecation warnings
ocots Feb 11, 2026
4bb9e43
Show strategy-specific aliases in ambiguous option error messages
ocots Feb 11, 2026
37846e2
Support alias routing in orchestration and add comprehensive tests
ocots Feb 11, 2026
290ada0
Alias-aware option suggestions with min Levenshtein distance
ocots Feb 11, 2026
54e014e
Refactor imports to avoid namespace pollution across all modules
ocots Feb 11, 2026
e58b9ae
Fix missing TYPEDFIELDS import in Solvers module
ocots Feb 11, 2026
98f7677
Rewrite GPU tests for MadNLP and MadNCL extensions
ocots Feb 11, 2026
63d9b73
Bump version to 0.2.4-beta
ocots Feb 11, 2026
25f94e3
Update CHANGELOG.md for v0.2.4-beta release
ocots Feb 11, 2026
7efcca7
fix gpu tests
ocots Feb 11, 2026
02bc413
Comment Max1MinusX2 GPU tests - ExaModels maximization limitation
ocots Feb 12, 2026
3553ef0
feat: improve test coverage (95.8% -> 96.04%)
ocots Feb 12, 2026
946c89c
feat: upgrade to CTModels 0.9 compatibility
ocots Feb 12, 2026
3f9412a
refactor: rename types throughout codebase
ocots Feb 12, 2026
cf34d89
refactor: continue type renaming across modules
ocots Feb 12, 2026
e193de6
refactor: prefix ADNLPModeler with Modelers. throughout codebase
ocots Feb 12, 2026
2626f92
refactor: rename ADNLPModeler to ADNLP throughout codebase
ocots Feb 12, 2026
a830f1a
refactor: qualify ExaModeler with Modelers. throughout codebase
ocots Feb 12, 2026
6779662
refactor: rename ExaModeler to Exa throughout codebase
ocots Feb 12, 2026
edd3a18
test: reduce warning noise in validation tests
ocots Feb 13, 2026
a57c169
Suppress test warnings and errors in integration tests
ocots Feb 13, 2026
8067b34
Rename modelers and solvers for consistency
ocots Feb 13, 2026
2ebe11b
Refactor solver naming: MadNLPSolver → MadNLP
ocots Feb 13, 2026
02467e8
Fix test warnings and import references
ocots Feb 13, 2026
ae73955
Suppress noisy test output: redirect stdout/stderr for display and va…
ocots Feb 13, 2026
527c847
Remove GPU skip messages from extension tests (CUDA status reported i…
ocots Feb 13, 2026
fb22340
Rename MadNCLSolver to Solvers.MadNCL for consistency
ocots Feb 13, 2026
e42a9ba
Add _typos.toml to ignore intentional typos in test examples
ocots Feb 13, 2026
b5af099
Configure spell check workflow to use custom _typos.toml with intenti…
ocots Feb 13, 2026
130d185
Fix MadNCL stub error messages to match test expectations
ocots Feb 13, 2026
37bdd27
Bump version to 0.3.0-beta
ocots Feb 13, 2026
12dd470
Merge pull request #69 from control-toolbox/rename
ocots Feb 13, 2026
9e0b5ba
foo
ocots Feb 13, 2026
b5bce02
Merge branch 'rename' into develop
ocots Feb 13, 2026
3c2aa52
feat: Accept both Type{<:ADBackend} and ADBackend instances for backe…
ocots Feb 14, 2026
235d289
chore: Update version to 0.2.5-beta
ocots Feb 14, 2026
bf09392
fix merge
ocots Feb 14, 2026
e0df1b5
chore: Remove coverage directory from tracking
ocots Feb 14, 2026
38ab0f1
fix: Update tests for backend override validation changes
ocots Feb 14, 2026
c869499
docs: Update CHANGELOG and BREAKING for v0.3.1-beta
ocots Feb 14, 2026
248b2c2
Merge pull request #70 from control-toolbox/backends/v0.2.5-beta
ocots Feb 14, 2026
b9c2ce7
Add Options getters and exports
ocots Feb 15, 2026
df6f616
Refactor Strategies options accessors and tests
ocots Feb 15, 2026
fe5b2b9
Use _raw_options getter for StrategyOptions internal access
ocots Feb 15, 2026
41c8a57
Update options system guide with getters and encapsulation
ocots Feb 15, 2026
769e071
Refactor tests to use Options getters and adjust encapsulation
ocots Feb 15, 2026
2ad5dad
Bump version to 0.3.2-beta
ocots Feb 15, 2026
6cca44d
Docs: translate encapsulation section to English
ocots Feb 15, 2026
fa2581e
Docs: fix failing example in options_system.md by using static code b…
ocots Feb 16, 2026
3b87048
Fix doc references for Strategies module and clean solver info docs
ocots Feb 16, 2026
fbfddbe
Bump version to 0.3.3-beta
ocots Feb 16, 2026
0aceb3c
Merge pull request #73 from control-toolbox/options
ocots Feb 16, 2026
1e5b25e
Rename AbstractOptimizationSolver to AbstractNLPSolver
ocots Feb 16, 2026
94c6c5d
fix: suppress verbose output in tests
ocots Feb 16, 2026
78a0524
bump: version 0.3.3-beta → 0.3.4-beta
ocots Feb 16, 2026
d6c710d
feat: Add MadNCL extract_solver_infos override with comprehensive tests
ocots Feb 18, 2026
b584dbc
Add comprehensive build_solution contract tests
ocots Feb 18, 2026
4c56c9e
Bump version to 0.3.5-beta
ocots Feb 18, 2026
08e483e
Update CHANGELOG for v0.3.5-beta
ocots Feb 18, 2026
c1123fb
Refactor routing and bypass mechanism: use BypassValue for validation…
ocots Feb 19, 2026
5aa84ba
Add missing tests for BypassValue
ocots Feb 19, 2026
7a8636f
Bump version to 0.3.6-beta for bypass mechanism refactor
ocots Feb 19, 2026
7d6fe40
Add v0.3.6-beta documentation for bypass mechanism refactor
ocots Feb 19, 2026
a5f29c0
Add @info warning when action options shadow strategy options
ocots Feb 20, 2026
f04911c
Fix route_to bypass for action-shadowed options and add tests
ocots Feb 20, 2026
9439b2b
Complete action option shadowing detection and route_to bypass implem…
ocots Feb 20, 2026
7633caf
Bump version to 0.3.7-beta for action option shadowing detection and …
ocots Feb 20, 2026
e12d42c
Add v0.3.7-beta documentation for action option shadowing detection
ocots Feb 20, 2026
8b532b0
Add 'strat' to ignored typos - common variable name for strategy inst…
ocots Feb 20, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions .github/workflows/CI.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,22 @@ on:

jobs:
# Job pour les runners GitHub hosted (ubuntu, windows, macos)
test-github:
test-cpu-github:
uses: control-toolbox/CTActions/.github/workflows/ci.yml@main
with:
versions: '["1.10", "1.11", "1.12"]'
runs_on: '["ubuntu-latest", "windows-latest"]'
archs: '["x64"]'
runs_on: '["ubuntu-latest", "macos-latest"]'
runner_type: 'github'
use_ct_registry: true
secrets:
SSH_KEY: ${{ secrets.SSH_KEY }}

# Job pour le runner self-hosted moonshot (GPU/CUDA)
test-moonshot:
# Job pour le runner self-hosted kkt (GPU/CUDA)
test-gpu-kkt:
uses: control-toolbox/CTActions/.github/workflows/ci.yml@main
with:
versions: '["1"]'
runs_on: '[["moonshot"]]'
archs: '["x64"]'
runner_type: 'self-hosted'
runs_on: '[["kkt"]]'
runner_type: 'self-hosted'
use_ct_registry: true
secrets:
SSH_KEY: ${{ secrets.SSH_KEY }}
3 changes: 3 additions & 0 deletions .github/workflows/Coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,8 @@ on:
jobs:
call:
uses: control-toolbox/CTActions/.github/workflows/coverage.yml@main
with:
use_ct_registry: true
secrets:
codecov-secret: ${{ secrets.CODECOV_TOKEN }}
SSH_KEY: ${{ secrets.SSH_KEY }}
4 changes: 4 additions & 0 deletions .github/workflows/Documentation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,7 @@ on:
jobs:
call:
uses: control-toolbox/CTActions/.github/workflows/documentation.yml@main
with:
use_ct_registry: true
secrets:
SSH_KEY: ${{ secrets.SSH_KEY }}
2 changes: 2 additions & 0 deletions .github/workflows/SpellCheck.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,5 @@ on:
jobs:
call:
uses: control-toolbox/CTActions/.github/workflows/spell-check.yml@main
with:
config-path: '_typos.toml'
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
.DS_Store
.vscode

# Files generated by invoking Julia with --code-coverage
*.jl.cov
Expand Down Expand Up @@ -31,4 +30,9 @@ Manifest.toml
# ...except the one inside docs/src/assets
!docs/src/assets/Manifest.toml
tmp/
reports/
.reports/
.resources/
.windsurf/
.vscode/
.extras/
coverage/
Loading
Loading