Skip to content

Honor approved reexports in API docs QA - #66

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:codex/fix-reexport-doc-qa
Sep 7, 2026
Merged

ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:codex/fix-reexport-doc-qa

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Summary

Make run_qa apply approved external reexports_allow names to both public-API docstring and rendered-documentation checks. This restores the documented facade-package policy while preserving caller-provided ignores and continuing to check package-owned names even if they appear in the reexport allow-list.

Ignore this PR until reviewed by @ChrisRackauckas.

Root cause

The policy introduced in #62 initially merged approved external reexports into the API documentation ignore lists. Commit c745b75 immediately removed that routing while retaining the reexports_allow interface and its documented owner-documentation policy. run_qa therefore approved facade reexports in one check and then incorrectly required the facade to document/render those same externally owned bindings in the next check.

The fix intersects reexports_allow with the package's actual external public reexports, then merges those names into both ignore and rendered_ignore. The intersection is important: a locally owned name merely present in reexports_allow is still checked.

Failing before

The new integration test was run against the unfixed source:

$ julia +release --project=. --startup-file=no -e 'using Pkg; Pkg.test()'
run_qa public reexport integration (default on): Test Failed
run_api_docs: public API names missing a docstring
  undocumented = [:owned_function]
ERROR: Some tests did not pass: 433 passed, 1 failed, 0 errored, 0 broken.

Passing after

$ julia +release --project=. --startup-file=no -e 'using Pkg; Pkg.test()'
Test Summary: | Pass  Total     Time
SciMLTesting  |  434    434  1m36.7s
Testing SciMLTesting tests passed

$ julia +1.10 --project=. --startup-file=no -e 'using Pkg; Pkg.test()'
Test Summary: | Pass  Total     Time
SciMLTesting  |  418    418  1m33.0s
Testing SciMLTesting tests passed

$ julia +1.13 --project=. --startup-file=no -e 'using Pkg; Pkg.test()'
Test Summary: | Pass  Total     Time
SciMLTesting  |  434    434  1m40.6s
Testing SciMLTesting tests passed

Other verification

$ julia +release --startup-file=no -m Runic --check --diff src/SciMLTesting.jl test/runtests.jl
# exit 0

$ typos src/SciMLTesting.jl test/runtests.jl
# exit 0

$ git diff --check
# exit 0

The repository has no Documenter build entrypoint. Its rendered public-API behavior is exercised directly by the regression suite.

An additional unfiltered self-QA probe exposed independent clean-main failures in stdlib compatibility metadata and ExplicitImports source analyzability. They are not hidden or mixed into this change and are addressed separately in #64 and #65. The remaining qualified-access audit is also being handled separately.

Links

🤖 Generated with Codex CLI 0.151.0 (model: gpt-5.6-sol; session: local session ID 01a0598f-11b9-72d1-91d9-b2fbb186557d)

Exclude approved external reexports from facade documentation checks while
preserving caller-provided ignores and checks for package-owned names.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: OpenAI Codex <noreply@openai.com>
Agent-Harness: Codex CLI 0.151.0
Agent-Model: gpt-5.6-sol
Agent-Session: local session ID 01a0598f-11b9-72d1-91d9-b2fbb186557d
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Final CI audit: all 12 checks completed successfully and the PR is merge-clean.

  • Julia 1: Linux, macOS, and Windows passed.
  • Julia LTS: Linux, macOS, and Windows passed.
  • Julia prerelease: Linux, macOS, and Windows passed.
  • Downgrade, Runic, and typos passed.

Links:

@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review September 7, 2026 06:22
@ChrisRackauckas
ChrisRackauckas merged commit c227811 into SciML:main Sep 7, 2026
12 checks passed
ChrisRackauckas added a commit that referenced this pull request Sep 17, 2026
Ships the approved-reexport handling in the API-docs QA check (#66), unreleased on master.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude <noreply@anthropic.com>
Agent-Harness: Claude Code 2.1.273
Agent-Model: claude-opus-5[1m]
Agent-Session: 6a01e420-3436-4518-83cc-6cd853283cfb (local transcript; this harness publishes no conversation URL)
@ChrisRackauckas ChrisRackauckas mentioned this pull request Sep 17, 2026
ChrisRackauckas added a commit that referenced this pull request Sep 17, 2026
Ships the approved-reexport handling in the API-docs QA check (#66), unreleased on master.



Agent-Harness: Claude Code 2.1.273
Agent-Model: claude-opus-5[1m]
Agent-Session: 6a01e420-3436-4518-83cc-6cd853283cfb (local transcript; this harness publishes no conversation URL)

Co-authored-by: Claude <noreply@anthropic.com>
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