Conversation
- Rewrite manual-solve.md for descriptive mode (quadruplets, auto-routing) - Add manual-solve-advanced.md for route_to, bypass, introspection - Add manual-solve-explicit.md for typed components mode - Update manual-solve-gpu.md for :gpu token and GPU types - Reorganize navigation with grouped solve sub-menu - Add executable examples with @example blocks - Document new features: CPU/GPU parameter, option routing, disambiguation BREAKING: Documentation structure changed, but API remains compatible
- Remove Draft=false and CollapsedDocStrings=false meta blocks - Documentation generation works without these blocks - Cleaner markdown files for manual editing
- Add note explaining top-to-bottom priority in methods() list - Document how partial descriptions are completed (first match wins) - Add examples showing completion algorithm behavior - Apply to both descriptive and explicit modes - Clarify that explicit mode uses same priority order
- Add @meta Draft=false blocks to all 15 documentation files - Enables individual file testing with draft=true globally - Files updated: index.md, examples, all manual-*.md files - Ready for per-file documentation verification - Keeps draft=true in make.jl for selective execution
✅ index.md - Generated successfully ✅ example-double-integrator-energy.md - Generated successfully ✅ example-double-integrator-time.md - Generated successfully ✅ manual-abstract.md - Generated successfully ✅ manual-ai-llm.md - Generated successfully All @example blocks executed without errors. Some @ref warnings remain (pre-existing, not blocking). Next: continue with remaining 10 files.
🎉 ALL FILES VERIFIED SUCCESSFULLY (15/15) ✅ index.md - Documentation generated successfully ✅ example-double-integrator-energy.md - Documentation generated successfully ✅ example-double-integrator-time.md - Documentation generated successfully ✅ manual-abstract.md - Documentation generated successfully ✅ manual-ai-llm.md - Documentation generated successfully ✅ manual-model.md - Documentation generated successfully ✅ manual-initial-guess.md - Documentation generated successfully ✅ manual-solve.md - Documentation generated successfully ✅ manual-solve-advanced.md - Documentation generated successfully ✅ manual-solve-explicit.md - Documentation generated successfully ✅ manual-solve-gpu.md - Documentation generated successfully ✅ manual-solution.md - Documentation generated successfully ✅ manual-plot.md - Documentation generated successfully ✅ manual-flow-ocp.md - Documentation generated successfully ✅ manual-flow-others.md - Documentation generated successfully 📋 Process: Individual file testing with Draft=false meta blocks 🔧 Result: All @example blocks execute without errors⚠️ Notes: Some @ref warnings remain (pre-existing, not blocking) 🚀 Status: Ready for production deployment
🧹 Clean up: - Remove @meta blocks from flow and plot documentation files - Remove @meta CurrentModule from manual-initial-guess.md - Remove @meta CollapsedDocStrings from manual-model.md 🚀 Enable global execution: - Set draft = false in make.jl for all @example blocks - All documentation examples now execute by default ✅ Ready for full documentation generation
…-guess.md - Convert table formatting from compact to aligned style - Add proper spacing before table pipes for markdownlint compliance - Improves readability of initialization syntax tables
…integrator example - Replace x₁,x₂ with q,v for better readability - Improve prose flow in indirect method section - Update Hamiltonian notation and constraints consistently - Add explanatory paragraph for direct/indirect workflow - Refine code comments and mathematical expressions
- Rename 'sol' to 'direct_sol' for direct method solutions - Rename 'sol' to 'shooting_sol' for shooting method solutions - Rename 'sol'/'flow_sol' to 'indirect_sol' for indirect method solutions - Improves code readability and distinguishes between solution types
…ample - Remove @meta Draft block (handled globally in make.jl) - Update chariot diagram to chariot_q.svg for q,v notation - Improve code formatting with better spacing and comments - Add state constraint comment in OCP definition - Reduce grid_size from 20 to 10 for faster execution - Add missing #hide for example block
- manual-initial-guess.md: correct @init syntax and add complete syntax explanation - manual-model.md: fix times() description, remove internal get_build_examodel, add constraint tuple structure notes - manual-solution.md: remove nonexistent time() and criterion() methods, clarify unified vs multiple time grids, move model() reference earlier
- Add src/helpers/describe.jl with describe() function to inspect strategy options - Update src/OptimalControl.jl to export describe function - Update docs/src/manual-solve.md to use describe() for strategy option inspection - Reorganize documentation structure for better clarity - Update docs/src/assets/Manifest.toml for documentation build
…ncies - Add CUDA and MadNLPGPU dependencies to docs/Project.toml for GPU examples - Update describe() docstring to reference correct documentation links - Add using CUDA and using MadNLPGPU imports in documentation examples - Update Project.toml compatibility bounds for CUDA and MadNLPGPU
- Add detailed explanation of what (default: NotProvided) means in strategy options - Explain that NotProvided means OptimalControl doesn't override native defaults - Remove Draft=false meta block from manual-solve.md (not needed) - Add missing Draft=false meta block to manual-solve-advanced.md - Update docs Manifest.toml
- Correct route_to syntax to use strategy names (ipopt, madnlp, exa) instead of family names (solver, modeler, discretizer) - Fix ambiguous options explanation - only occurs when strategies from different families share option names within same method - Update bypass section with real Ipopt example using mumps_print_level - Add note about force alias for bypass - Remove redundant section about combining route_to and bypass - Expand describe output description - Fix markdown formatting issues
- Reorganize explicit mode docs to emphasize bypass/force as primary method - Relegate permissive mode to brief info note (rarely used) - Fix GPU documentation examples to use OptimalControl prefixes - Remove unnecessary Draft meta blocks - Update introspection examples to use correct option names
- Condense GPU options section for better readability - Fix println statements to display both GPU and CPU option values - Remove unnecessary Draft meta blocks - Enable draft mode to execute @example blocks in documentation - Add comments clarifying CPU defaults are equivalent to explicit {CPU} types
- Change 'Attributes and properties' to 'API Reference by Component' - Update section titles in manual-model.md and manual-solution.md - Remove temporary private.md file
- Add examples showing describe(:cpu) and describe(:gpu) in main solve manual - Enhance GPU manual with describe(:gpu) to show GPU-compatible strategies - Remove unnecessary Draft meta blocks - Update documentation assets for new CTSolvers version
- Fix double integrator example: increase grid_size from 10 to 50 for better accuracy - Fix initial guess example: correct phi syntax with explicit multiplication (2π*t) - Update CTParser dependency to v0.8.10-beta - Add temporary private.md for documentation build
Documentation
Contributor
Add comprehensive tests to freeze API signatures across all reexport files: - Type hierarchy checks for inheritance relationships - Method signature checks with has() for key functions - Missing symbols: solve and plot! now properly tested - All 503 reexport tests passing This will detect breakages when CTX packages change their APIs. Files modified: - test/suite/reexport/test_ctbase.jl: exception inheritance - test/suite/reexport/test_ctdirect.jl: discretizer hierarchy + discretize signature - test/suite/reexport/test_ctflows.jl: Hamiltonian types + Lift/Flow signatures - test/suite/reexport/test_ctmodels.jl: plot! + OCP types + serialization signatures - test/suite/reexport/test_ctsolvers.jl: solver/modeler/parameter hierarchy + DOCP signatures - test/suite/reexport/test_optimalcontrol.jl: solve + methods signatures
Remove outdated warnings about ExaModels requiring: - coordinate-by-coordinate dynamics declaration - scalar nonlinear constraints These requirements are no longer mandatory, simplifying the user experience when using the :exa modeler for GPU solving. Files modified: - docs/src/manual-abstract.md: remove warnings from dynamics and constraints sections - docs/src/manual-solve-gpu.md: remove ExaModels syntax requirements note
feat: add Level 3 signature freezing tests for reexport API
Update version number for new release with: - Level 3 signature freezing tests for reexport API - Simplified ExaModels documentation (removed coordinate-by-coordinate requirements)
Add comprehensive changelog entry covering: - Level 3 signature freezing tests for reexport API (503 tests) - Simplified ExaModels documentation - Removed outdated API documentation - Enhanced API breakage detection
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #727 +/- ##
==========================================
- Coverage 86.00% 84.98% -1.02%
==========================================
Files 15 16 +1
Lines 250 253 +3
==========================================
Hits 215 215
- Misses 35 38 +3 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
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.
No description provided.