Skip to content

QA: run_qa v1.6 form + ExplicitImports#54

Merged
ChrisRackauckas merged 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run-qa-v16-explicit-imports
Jun 25, 2026
Merged

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Converts test/qa/qa.jl from the hand-rolled Aqua.test_all/JET @test_broken body onto the SciMLTesting 1.6.0 run_qa form, with ExplicitImports enabled.

ExplicitImports findings (explicit_imports = true)

All six checks pass with no ignore-lists and no ei_broken:

  • no_implicit_imports
  • no_stale_explicit_imports
  • all_explicit_imports_via_owners
  • all_qualified_accesses_via_owners
  • all_qualified_accesses_are_public
  • all_explicit_imports_are_public

The src is minimal and already fully-explicit (using RecipesBase: RecipesBase, @recipe, using LinearAlgebra: LinearAlgebra, norm).

The three #50 @test_broken findings — all FIXED (none left broken)

  1. Aqua deps_compat — the root Project.toml was missing [compat] entries for the test-only Aqua/JET extras. Added them. (Fix, not suppression.)
  2. Aqua piracies — the @recipe-generated RecipesBase.apply_recipe method is owned by DimensionalPlotRecipes; cleared with aqua_kwargs = (; piracies = (; treat_as_own = [apply_recipe])).
  3. JET is_key_supported(::Symbol) — that report lives in RecipesBase, not DimensionalPlotRecipes. run_qa's default jet_kwargs = (; target_modules = (pkg,), mode = :typo) scopes it out, so JET.test_package runs green (no jet_broken).

This resolves all of #50.

Deps

  • Bump SciMLTesting [compat] floor to "1.6" (root + test/qa).
  • Add RecipesBase to the test/qa sub-env (for the apply_recipe reference).
  • Drop ExplicitImports from the root [extras]/[targets].test (now transitive via SciMLTesting) and remove the now-redundant Core test/explicit_imports.jl; ExplicitImports runs inside the QA group via run_qa.

Local verification (released SciMLTesting 1.6.0, resolved by Pkg — no dev-from-branch)

Julia 1.10 (lts):  QA/qa.jl | Pass 18  Total 18   (0 broken / 0 fail / 0 error)
Julia 1.11 ("1"):  QA/qa.jl | Pass 18  Total 18   (0 broken / 0 fail / 0 error)
Core (1.10):       Core/recipes.jl green

🤖 Generated with Claude Code

Convert test/qa/qa.jl from the hand-rolled Aqua.test_all/JET @test_broken
body onto the SciMLTesting 1.6.0 run_qa form, with ExplicitImports enabled.

All six ExplicitImports checks pass with no ignore-lists. The three findings
previously marked @test_broken (tracked in SciML#50) are now genuinely fixed rather
than suppressed:

- Aqua deps_compat: add [compat] bounds for the test-only Aqua/JET extras to
  the root Project.toml (the missing entries were the whole finding).
- Aqua piracies: the @recipe-generated RecipesBase.apply_recipe method is owned
  by DimensionalPlotRecipes; clear it with
  aqua_kwargs = (; piracies = (; treat_as_own = [apply_recipe])).
- JET: the is_key_supported(::Symbol) report lives in RecipesBase, not
  DimensionalPlotRecipes, so run_qa's default target_modules = (pkg,) scoping
  makes JET.test_package green; no jet_broken needed.

Deps:
- Bump SciMLTesting [compat] floor to "1.6" (root + test/qa).
- Add RecipesBase to the qa sub-env (for the apply_recipe reference).
- Drop ExplicitImports from the root [extras]/[targets].test (now transitive
  via SciMLTesting) and remove the redundant Core test/explicit_imports.jl;
  ExplicitImports now runs inside the QA group via run_qa.

Verified locally against released SciMLTesting 1.6.0: QA group 18/18 pass,
0 broken/fail/error on Julia 1.10 (lts) and 1.11 ("1"); Core group still green.

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 25, 2026 16:36
@ChrisRackauckas ChrisRackauckas merged commit 77e3572 into SciML:master Jun 25, 2026
9 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