Skip to content

QA: run_qa v1.6 form + ExplicitImports#460

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run_qa-v1.6-explicit-imports
Jun 27, 2026
Merged

QA: run_qa v1.6 form + ExplicitImports#460
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run_qa-v1.6-explicit-imports

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Converts the hand-rolled test/qa/qa.jl (manual Aqua + ExplicitImports + JET) onto the SciMLTesting run_qa v1.6 form, and enables the full ExplicitImports check set (explicit_imports = true).

What changed

  • test/qa/qa.jl: single run_qa(ReservoirComputing; ...) call.
  • test/qa/Project.toml: dropped ExplicitImports (now transitive via SciMLTesting), kept Aqua (the Aqua.test_ambiguities child-process needs Aqua a direct dep), kept JET, bumped SciMLTesting compat to 1.6.
  • root Project.toml: SciMLTesting compat 1 -> 1.6.

Aqua / JET

  • run_qa runs Aqua.test_all — 11/11 sub-checks pass, no aqua_broken.
  • JET preserved via jet_kwargs = (; target_modules = (ReservoirComputing,), mode = :typo, toplevel_logger = nothing) — passes, no jet_broken.

ExplicitImports findings (all 6 checks now run)

  • no_implicit_imports — pass (no implicit imports).
  • no_stale_explicit_imports — pass (no stale imports).
  • all_explicit_imports_via_owners — pass.
  • all_qualified_accesses_via_owners — pass.
  • all_qualified_accesses_are_publicignore-list for non-public names owned by other packages: OneTo/tail (Base), aos_to_soa (ArrayInterface), Partial/default_rng/ones/rand/zeros (WeightInitializers submodules). These go public as those base libs release.
  • all_explicit_imports_are_publicignore-list for non-public names owned by other packages: DeviceAgnostic/PartialFunction/Utils (WeightInitializers), StaticInteger (Static), apply/initialparameters/initialstates/outputsize/replicate/setup/statelength (LuxCore, imported for method-extension/re-export); plus one own non-public name return_init_as.

No findings required ei_broken; preference was FIX > IGNORE > BROKEN with goal 0 hard FAILs.

Verification

Ran locally on Julia 1.10 against the released SciMLTesting 1.6.0 (Pkg-resolved, not dev-from-branch) via the folder model:

GROUP=QA julia --project=test/qa test/runtests.jl
Test Summary: | Pass  Total   Time
QA/qa.jl      |   18     18  54.9s

(11 Aqua + 1 JET + 6 ExplicitImports = 18, all pass; 0 Fail/Error/Broken.)

🤖 Generated with Claude Code

Convert the hand-rolled test/qa/qa.jl (Aqua + ExplicitImports + JET) onto
the SciMLTesting run_qa v1.6 form and enable the full ExplicitImports check
set (explicit_imports = true).

- Aqua: run_qa runs Aqua.test_all (11/11 sub-checks pass; no aqua_broken).
- JET: preserve target_modules + toplevel_logger = nothing via jet_kwargs
  (mode = :typo); JET passes (1/1, no jet_broken).
- ExplicitImports: all 6 checks now run. no_implicit_imports,
  no_stale_explicit_imports, all_explicit_imports_via_owners and
  all_qualified_accesses_via_owners pass clean. The two *_are_public checks
  are satisfied with documented ei_kwargs ignore-lists for non-public names
  owned by other packages (Base, ArrayInterface, WeightInitializers, Static,
  LuxCore) plus one own non-public name (return_init_as). No ei_broken needed.

test/qa/Project.toml: drop ExplicitImports (now transitive via SciMLTesting),
keep Aqua (Aqua.test_ambiguities child-proc needs it a direct dep), keep JET,
bump SciMLTesting compat to 1.6. Root Project.toml SciMLTesting compat -> 1.6.

Verified locally on Julia 1.10 vs released SciMLTesting 1.6.0 via the folder
model (GROUP=QA): 18/18 pass, 0 FAIL/ERROR/BROKEN.

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 13:06
@ChrisRackauckas ChrisRackauckas merged commit 2dfd61c into SciML:master Jun 27, 2026
16 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