Skip to content

Fix ImplicitDiscreteSolve API docs QA#3969

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/ids-qa-docs
Draft

Fix ImplicitDiscreteSolve API docs QA#3969
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:agent/ids-qa-docs

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Ignore this PR until reviewed by @ChrisRackauckas.

Summary

  • Point ImplicitDiscreteSolve's public-API rendering check at the OrdinaryDiffEq monorepo manual, where IDSolve is documented.
  • Exclude SciMLBase-owned reexports from ImplicitDiscreteSolve's local rendering obligation while retaining the docstring check for the full public API.

Root cause

git bisect identified 12b6996e27 (Update SciMLTesting QA docs coverage (#3867)) as the first bad commit. That change moved the QA environment to SciMLTesting 2.x, whose run_qa checks rendered public API by default.

ImplicitDiscreteSolve has no package-local docs/src; its documentation lives in the monorepo's root docs/src. On Julia 1.10, the failed check therefore compared an empty documentation tree against 186 exported names: 185 SciMLBase reexports plus the package-owned IDSolve. The root manual already renders IDSolve in docs/src/misc.md.

The fix keeps the rendering assertion active for package-owned API. It only delegates SciMLBase reexports to their owner.

Validation

  • ODEDIFFEQ_TEST_GROUP=QA julia +1.10 --project=lib/ImplicitDiscreteSolve -e 'using Pkg; Pkg.test()'
    • JET: 1/1 passed
    • Aqua/QA: 17/17 passed
    • Pkg.test() exited successfully
  • julia +1.12 --project=<local Runic environment> -m Runic --check lib/ImplicitDiscreteSolve/test/qa/qa.jl passed with Runic 1.7.0.
  • git diff --check passed.

For the bisect's good side, d7a66c0fe4 resolved SciMLTesting 1.8 and passed JET 1/1 plus Aqua 15/15. The first-bad commit reproduced the rendered-docs failure with 16 passes and 1 failure.

An additional Julia 1.12 run was blocked before this QA file loaded by a separate package-source resolution error for OrdinaryDiffEqCore's relative DiffEqBase source. That baseline is being investigated separately.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Commit 57e5d71518 contains the focused QA fix.

Investigation record:

  • Reproduced the master failure with Julia 1.10: JET 1/1 passed, then API-doc QA failed with 186 unrendered names.
  • Bisected from the locally passing SciMLTesting 1.8 setup to current master. First bad: 12b6996e27 (Update SciMLTesting QA docs coverage #3867).
  • Verified the ownership split: 185 names are SciMLBase reexports; IDSolve is the sole package-owned export checked here and is already rendered in docs/src/misc.md.
  • Kept the API-doc assertion enabled, pointed it at the root monorepo manual, and ignored only SciMLBase-owned reexports for local rendering.

Local validation after the commit:

  • ODEDIFFEQ_TEST_GROUP=QA julia +1.10 --project=lib/ImplicitDiscreteSolve -e 'using Pkg; Pkg.test()': JET 1/1 and Aqua/QA 17/17 passed.
  • Runic 1.7.0 check passed.
  • git diff --check passed.

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Relevant CI is green:

  • ImplicitDiscreteSolve QA (Julia current)
  • ImplicitDiscreteSolve Core (LTS, current, prerelease)
  • ImplicitDiscreteSolve downgrade lane
  • Documentation
  • Runic format check and Runic suggestions

The overall PR remains UNSTABLE because two independent clean-master downgrade regressions reproduced in the shared matrix:

Neither failure exercises the changed ImplicitDiscreteSolve QA file.

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