Skip to content

QA: run_qa v1.6 form + ExplicitImports#73

Merged
ChrisRackauckas merged 2 commits into
SciML:mainfrom
ChrisRackauckas-Claude:qa/run_qa-v1.6-explicit-imports
Jun 27, 2026
Merged

QA: run_qa v1.6 form + ExplicitImports#73
ChrisRackauckas merged 2 commits into
SciML:mainfrom
ChrisRackauckas-Claude:qa/run_qa-v1.6-explicit-imports

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Brings this repo's QA group onto the SciMLTesting run_qa v1.6 form with ExplicitImports enabled.

What changed

  • Replaced the hand-rolled test/qa/explicit_imports_test.jl (which ran only check_no_implicit_imports + check_no_stale_explicit_imports) with test/qa/qa.jl calling run_qa(LineSearch; explicit_imports = true, ...). This now runs Aqua (all sub-checks) plus the full 6-check ExplicitImports suite instead of just two EI checks.
  • test/qa/Project.toml: dropped ExplicitImports (now transitive via SciMLTesting), kept Aqua as a direct dep so the test_ambiguities child process can load it, bumped SciMLTesting compat to 1.6. No JET (none was run before).

ExplicitImports findings

All six EI checks and all Aqua sub-checks pass green (17/17, 0 fail / 0 error / 0 broken). No findings required FIX or BROKEN:

  • no_implicit_imports, no_stale_explicit_imports, all_explicit_imports_via_owners, all_qualified_accesses_via_owners: pass clean.

  • all_qualified_accesses_are_public / all_explicit_imports_are_public: the only flags were non-public names owned by other packages, ignored via ei_kwargs with the source package documented per name:

    • SciMLBase: AbstractNonlinearProblem, NLStats, has_jac, has_jvp, has_vjp, ReturnCode.{Failure,Success,T}
    • ADTypes: ForwardMode, mode
    • CommonSolve: init, solve!
    • Base: get_extension

    These go public as those base libraries declare them public; the ignore can be trimmed then. Nothing in LineSearch itself is non-public-flagged, nothing skipped/silenced/broken.

Verification (local, Julia 1.10.11 = LTS, released SciMLTesting 1.6.0)

GROUP=QA julia --project=. -e 'using Pkg; Pkg.test()' (full run_tests() folder-discovery path):

Test Summary: | Pass  Total   Time
QA/qa.jl      |   17     17  23.7s
     Testing LineSearch tests passed

Pkg resolves SciMLTesting 1.6.0 / ExplicitImports 1.15.0 / Aqua 0.8.16 from the registry (no dev-from-branch).

🤖 Generated with Claude Code

ChrisRackauckas and others added 2 commits June 25, 2026 07:47
Replace the hand-rolled test/qa/explicit_imports_test.jl (which ran only
check_no_implicit_imports + check_no_stale_explicit_imports) with a
SciMLTesting run_qa v1.6 qa.jl that runs Aqua (all sub-checks) plus the
full ExplicitImports suite (explicit_imports = true).

All six ExplicitImports checks and all Aqua sub-checks pass (17/17). The
two *_are_public checks only flagged non-public names owned by other
packages (SciMLBase, ADTypes, CommonSolve, Base), so those are ignored
via ei_kwargs with the source package documented per name; nothing is
broken or skipped.

qa env (test/qa/Project.toml): drop the now-transitive ExplicitImports
(comes via SciMLTesting); keep Aqua as a direct dep so the ambiguities
sub-check's child process can load it; SciMLTesting compat -> 1.6. No
JET (none was run).

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… base libs)

SciMLTesting 1.7.0 runs the two public-API ExplicitImports checks
(check_all_qualified_accesses_are_public,
check_all_explicit_imports_are_public) only on Julia >= 1.11, and the
released base libs (SciMLBase 3.24.0, CommonSolve 0.2.9, ADTypes 1.22.x)
now declare the previously-internal names public. Both per-repo
public-API ignore-lists are therefore redundant and emptied; the qa.jl
call collapses to the bare run_qa(LineSearch; explicit_imports = true).

Verified against registered releases:
  * Julia 1.12 (public checks run): QA 17/17 pass with empty ignore
    lists; isolated check_all_qualified_accesses_are_public and
    check_all_explicit_imports_are_public both return nothing.
  * Julia 1.10 LTS (public checks skipped): QA 15/15 pass, 0 fail.

No names needed restoring -- every formerly-ignored name (SciMLBase
Failure/Success/T/NLStats/has_jac/has_jvp/has_vjp/AbstractNonlinearProblem,
ADTypes ForwardMode/mode, CommonSolve init/solve!, Base get_extension)
is now public.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review June 27, 2026 12:57
@ChrisRackauckas ChrisRackauckas merged commit c4a3ad8 into SciML:main Jun 27, 2026
12 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