Skip to content

Enable rendered public API docs QA - #1090

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:agent/nonlinearsolve-rendered-docs-qa
Jul 21, 2026
Merged

ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:agent/nonlinearsolve-rendered-docs-qa

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Ignore until reviewed by @ChrisRackauckas.

Summary

  • Enable rendered public API documentation QA for NonlinearSolve.jl and subpackages.
  • Render package-owned module/export entries in the docs instead of ignoring them.
  • Keep dependency-owned reexports out of the package-owned docs requirement by using rendered_ignore only for external reexports.
  • Add SCCNonlinearSolve to the docs build module list and rendered docs index without adding any [sources] or path source entries.

Validation

  • git diff --check passed with no output.
  • Runic check over touched Julia files passed with no output:
    timeout 3600 julia -e 'using Runic; exit(Runic.main(["--check", "docs/make.jl", "test/qa/qa.jl", "lib/BracketingNonlinearSolve/test/qa/qa.jl", "lib/NonlinearSolveBase/test/qa/qa.jl", "lib/NonlinearSolveFirstOrder/test/qa/qa.jl", "lib/NonlinearSolveHomotopyContinuation/test/qa/qa.jl", "lib/NonlinearSolveQuasiNewton/test/qa/qa.jl", "lib/NonlinearSolveSciPy/test/qa/qa.jl", "lib/NonlinearSolveSpectralMethods/test/qa/qa.jl", "lib/SCCNonlinearSolve/test/qa/qa.jl", "lib/SciMLJacobianOperators/test/qa/qa.jl", "lib/SimpleNonlinearSolve/test/qa/qa.jl"]))'
  • Root QA on Julia 1.12.4 passed: Quality Assurance | 13 pass 13 total 59.2s.
  • Subpackage QA on Julia 1.12.4 passed for Bracketing, Simple, FirstOrder, QuasiNewton, SpectralMethods, SciMLJacobianOperators, and SCC.
  • Subpackage QA on Julia 1.12.4 passed with existing broken persistent-task checks for HomotopyContinuation and SciPy.
  • NonlinearSolveBase QA on Julia 1.12.4 had the rendered public API docs subtest pass (Public API documentation | 2 pass 2 total 3.7s) but the full QA still fails on an unrelated pre-existing ExplicitImports issue: SingleCacheStorage is imported from FunctionWrappersWrappers but is not public.
  • Direct rendered API docs QA on Julia +1.10 in a clean temporary local environment passed for NonlinearSolve and all touched subpackages with SciMLTesting v2.1+.
  • Existing test/qa environment on Julia +1.10 failed before tests during precompilation (UndefVarError: StaticData not defined while precompiling PrecompileTools/ExplicitImports/SciMLTesting), so direct +1.10 rendered QA was run in a fresh temporary local environment instead.
  • Docs build was attempted with timeout 3600 julia --project=docs -e 'using Pkg; Pkg.update(); Pkg.instantiate(); include("docs/make.jl")'; it reached docs/make.jl and failed on the existing duplicate BibTeX key yuan2015recent, covered separately by PR Remove duplicate BibTeX entry #1088.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Current failing lib/NonlinearSolveBase [QA] check is not rendered-docs coverage. The rendered docs subtest is passing.

The failing ExplicitImports check is for the existing qualified access:

FunctionWrappersWrappers.SingleCacheStorage

It is used in lib/NonlinearSolveBase/ext/NonlinearSolveBaseForwardDiffExt.jl, but SingleCacheStorage was not declared public in its owner package. I opened the owner-side PR here: SciML/FunctionWrappersWrappers.jl#72

I did not add an ignore here because the better fix is to make the owner package declare and document the API that NonlinearSolveBase already depends on. Once that PR is merged/released, this QA failure should be resolvable without documenting dependency-owned API in NonlinearSolve.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude
ChrisRackauckas-Claude force-pushed the agent/nonlinearsolve-rendered-docs-qa branch from 599e1b8 to 66f4302 Compare July 21, 2026 07:28

Copy link
Copy Markdown
Member Author

Rebased this draft onto current master (b92a835e8). The rebased diff is byte-for-byte identical to the independently applied current-master port used for validation.

Local validation on Julia 1.12.6:

  • NONLINEARSOLVE_TEST_GROUP=QA with both root and QA environments pinned to SciMLTesting 2.3.0: 18/18 passed.
  • Runic --check .: passed.

This confirms #1090 is the existing focused fix for the SciMLTesting 2.3 rendered-public-API failure on current master. The separate SciMLTesting 2.4 unapproved-reexport regression remains tracked upstream in SciML/SciMLTesting.jl#29 and is not folded into this PR.

Please continue to ignore this draft until reviewed by @ChrisRackauckas.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

CI follow-up after rebasing onto exact current master b92a835e8751a597f51ea92d8ac36ef4e9d5cdf1:

  • The target behavior is green: Public API documentation passes for the root package and every sublibrary exercised by this PR. Documentation and Runic also pass.
  • The root and seven sublibrary failures in No unapproved public reexports come from the newly default-on audit in registered SciMLTesting 2.4.0. That fleet-wide SemVer regression is tracked in SciMLTesting #29. Clean detached b92 reproduces it; exact SciMLTesting 2.3.0 passes the rebased QA changes.
  • NonlinearSolveBase [QA] separately reports the pre-existing qualified access to non-public FunctionWrappersWrappers.SingleCacheStorage. Clean detached b92 reproduces the same error locally on Julia 1.12.6. The proper upstream public-constructor fix already exists as FunctionWrappersWrappers #70, whose stated motivation is this exact NonlinearSolve access.
  • The remaining Core and CUDA failures also reproduce in the exact clean-b92 push run: Julia 1.12/1.13 continuation allocations are handled separately by #1100; macOS hits the existing Brown-almost-linear residual failure; CUDA hits the existing cuSOLVER QR DimensionMismatch.

No #1090-specific regression was found, so I have not changed or weakened its QA assertions.

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review July 21, 2026 14:11
@ChrisRackauckas
ChrisRackauckas merged commit 80187cf into SciML:master Jul 21, 2026
98 of 113 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