Skip to content

Develop#727

Merged
ocots merged 32 commits intomainfrom
develop
Mar 16, 2026
Merged

Develop#727
ocots merged 32 commits intomainfrom
develop

Conversation

@ocots
Copy link
Copy Markdown
Member

@ocots ocots commented Mar 16, 2026

No description provided.

ocots added 26 commits March 14, 2026 10:57
- 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
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 16, 2026

Breakage test results
Date: 2026-03-16 14:57:11

Name Latest Stable
OptimalControlProblems
Tutorials

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
ocots added 4 commits March 16, 2026 15:43
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
Copy link
Copy Markdown

codecov bot commented Mar 16, 2026

Codecov Report

❌ Patch coverage is 0% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 84.98%. Comparing base (dae55b2) to head (bddc748).
⚠️ Report is 33 commits behind head on main.

Files with missing lines Patch % Lines
src/helpers/describe.jl 0.00% 3 Missing ⚠️
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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@ocots ocots merged commit 5eade75 into main Mar 16, 2026
22 checks passed
@ocots ocots deleted the develop branch March 16, 2026 15:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant