Skip to content

docs: clarify nonlinear solver cache interfaces - #1187

Merged
ChrisRackauckas merged 4 commits into
SciML:masterfrom
ChrisRackauckas-Claude:codex/nonlinearsolve-api-interface-docs
Aug 22, 2026
Merged

docs: clarify nonlinear solver cache interfaces#1187
ChrisRackauckas merged 4 commits into
SciML:masterfrom
ChrisRackauckas-Claude:codex/nonlinearsolve-api-interface-docs

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Aug 20, 2026

Copy link
Copy Markdown
Member

Please ignore until reviewed by @ChrisRackauckas.

The iterator tutorial now documents both valid init cache forms: stepping caches and NonlinearSolveNoInitCache for algorithms without SciMLBase.__init. It shows the generic solve! fallback and adds a test covering the public cache classification for all SimpleNonlinearSolve algorithms. This is docs/API guidance only and does not overlap termination documentation or PR #1179.

Verification

  • GROUP=Core /home/crackauc/.juliaup/bin/julia +1.10 --project=. -e "using Pkg; Pkg.test()" -> Testing NonlinearSolve tests passed
  • GROUP=QA /home/crackauc/.juliaup/bin/julia +1.10 --startup-file=no --project=. -e "using Pkg; Pkg.test()" -> QA | 26 | 26; Testing NonlinearSolve tests passed
  • /home/crackauc/.juliaup/bin/julia +1.10 --project=docs docs/make.jl -> exit 0; doctests, cross-references, and HTML rendering completed
  • typos docs/src/tutorials/iterator_interface.md test/Core/core_tests__item13.jl -> exit 0
  • git diff --check -> exit 0

The repository formatter was not available locally: the installed runic is a workspace-agent CLI without a check command, and JuliaFormatter is not in the project environment. Existing Documenter warnings about unrelated missing docstrings and HTML size remain unchanged.

**Follow-up commit **

The cache-interface docs are now attached to the original definitions in and use SciMLStyle sections for fields, arguments, keywords, returns, extension rules, and examples. This is documentation-only; solver behavior and test logic are unchanged.

Additional verification:

  • -> ;
  • -> exit 0
  • -> exit 0
  • Added-line width audit -> no added lines over 92 columns
  • A temporary environment developed ; confirmed the updated and docstrings are attached, and the stepping/no-init examples passed.

The current full docs build was started after this commit and reached doctests and template expansion without an error, then was interrupted to avoid waiting on the broad render. It is not claimed as passed here. The prior PR-head docs build recorded above was green.

Follow-up commit 84c0bc2

The cache-interface docs are now attached to the original definitions in NonlinearSolveBase and use SciMLStyle sections for fields, arguments, keywords, returns, extension rules, and examples. This is documentation-only; solver behavior and test logic are unchanged.

Additional verification:

  • GROUP=QA with Julia 1.10.11 -> QA | 26 | 26; Testing NonlinearSolve tests passed
  • typos on the three changed source files -> exit 0
  • git diff --check -> exit 0
  • Added-line width audit -> no added lines over 92 columns
  • A temporary environment developed lib/NonlinearSolveBase; Docs.doc confirmed the updated AbstractNonlinearSolveCache and NonlinearSolveNoInitCache docstrings are attached, and the stepping/no-init examples passed.

The current full docs build was started after this commit and reached doctests and template expansion without an error, then was interrupted to avoid waiting on the broad render. It is not claimed as passed here. The prior PR-head docs build recorded above was green.

Final strict verification

Follow-up commit: 6bcca08

Docs command: timeout 3600 julia --startup-file=no --project=docs docs/make.jl. Exit code 0. Documenter completed doctests, cross-reference checks, checkdocs, rendering, and linkcheck. Only non-fatal HTML-size, SVG fallback, headless-GKS, and deployment-environment warnings remained.

QA command: GROUP=QA timeout 3600 julia --startup-file=no --project=. -e using Pkg; Pkg.test(). Exit code 0. QA passed 28/28 in 59.7s on Julia 1.12.4, followed by Testing NonlinearSolve tests passed.

Core focused tests passed with Testing NonlinearSolve tests passed.

Runic checks pass for all touched Julia files. Typos and git diff --check pass.

The docs build remains strict: no warnonly, doctest suppression, external-link ignore, or QA ignore was added. The final source/docs diff only fixes owner references and adds the generic cache-interface test; no solver behavior changes were made.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review August 22, 2026 07:15
@ChrisRackauckas
ChrisRackauckas merged commit d2e5ce5 into SciML:master Aug 22, 2026
93 of 96 checks passed
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.

2 participants