Repository navigation
QA: run_qa v1.6 form + ExplicitImports - #43
Merged
ChrisRackauckas merged 1 commit intoJun 27, 2026
Merged
ChrisRackauckas merged 1 commit into
ChrisRackauckas merged 1 commit into
Conversation
Convert test/qa/qa.jl from the hand-rolled Aqua/JET form to SciMLTesting 1.6 run_qa with ExplicitImports enabled. Both findings tracked in SciML#36 are now resolved rather than @test_broken: - Aqua deps_compat: add [compat] entries for LinearAlgebra and SparseArrays (the only missing deps; no Pkg extra exists in this repo). deps_compat now passes as a real check. - JET: report_package/test_package is clean under the run_qa v1.6 default jet_kwargs (mode = :typo, target_modules = (pkg,)); the prior SciML#36 reports were an artifact of target_defined_modules = true. JET now runs as a real passing check (the old qa.jl never actually ran JET). ExplicitImports (6 checks): made the base module's imports explicit (using LinearAlgebra: ...; using SparseArrays: ...; using ArrayInterface: ArrayInterface), clearing no_implicit_imports. The only remaining finding is ArrayInterface.fast_scalar_indexing, which is non-public in ArrayInterface, ignored via ei_kwargs.all_qualified_accesses_are_public. test/qa/Project.toml: SciMLTesting compat -> "1.6"; drop SafeTestsets (unused by qa.jl); ExplicitImports stays transitive via SciMLTesting. Aqua and JET kept as direct deps (Aqua for the ambiguities child-process subcheck). Verified locally against released SciMLTesting 1.6.0: QA group 18/18 pass, 0 fail/error/broken; Core group fully green after the import refactor. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
ChrisRackauckas
marked this pull request as ready for review
June 27, 2026 13:06
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Please ignore until reviewed by @ChrisRackauckas.
Converts
test/qa/qa.jlfrom the hand-rolledAqua.test_all+ raw@test_brokenform to the SciMLTesting 1.6run_qaform, with ExplicitImports enabled. Both findings tracked in #36 are now genuinely resolved (FIX, not silence) — there are no remaining@test_brokenmarkers.ExplicitImports findings (6 checks)
no_implicit_imports: FIXED — made the base module's imports explicit:using LinearAlgebra: Hermitian, LowerTriangular, Symmetric, UpperTriangular, ishermitian, issymmetric, istril, istriu, svdvalsusing SparseArrays: AbstractSparseMatrix, SparseMatrixCSC, nonzerosusing ArrayInterface: ArrayInterfaceThe extensions only call
SparseMatrixIdentification.<helper>and do not rely on LinearAlgebra/SparseArrays names leaking from the base module, so this is safe (verified: full Core suite + extension tests pass).no_stale_explicit_imports,all_explicit_imports_via_owners,all_qualified_accesses_via_owners,all_explicit_imports_are_public: pass clean.all_qualified_accesses_are_public: IGNORE —ArrayInterface.fast_scalar_indexingis non-public (unexported, not declared public) in ArrayInterface 7.25. It is the only non-public name this package accesses; ignored viaei_kwargs.all_qualified_accesses_are_public = (; ignore = (:fast_scalar_indexing,))(documented; goes away if ArrayInterface makes it public).Resolves #36
deps_compat(was@test_broken): FIXED by addingLinearAlgebra = "1"andSparseArrays = "1"to the root[compat]. (NoPkgextra exists in this repo, contrary to the issue text, socheck_extrasalready passed.) Now runs as a real passing check.@test_broken falsethat never ran JET): runs and passes under the run_qa v1.6 defaultjet_kwargs(mode = :typo,target_modules = (pkg,)). The earlier "no matching method" reports for thetry_*extension helpers were an artifact oftarget_defined_modules = true; withtarget_modules = (pkg,)the package is clean.Deps (
test/qa/Project.toml)SciMLTestingcompat ->"1.6".SafeTestsets(unused by qa.jl).ExplicitImportsstays transitive via SciMLTesting (not a direct dep).AquaandJETkept as direct deps (Aqua direct is required for the ambiguities child-process subcheck).Verification (local, released SciMLTesting 1.6.0)
Quality Assurance | 18 18— 0 fail / 0 error / 0 broken. Breakdown: 11 Aqua subchecks + 1 JET + 6 ExplicitImports.Pkg.testGROUP=Core): all subgroups green, including the BandedMatrices/BlockBanded/FastAlmostBanded/SpecialMatrices/Toeplitz extension tests, confirming the explicit-import refactor is behavior-preserving.🤖 Generated with Claude Code