Skip to content

QA: run_qa v1.6 form + ExplicitImports (root + sublibs)#206

Draft
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-runqa-v16-explicitimports
Draft

QA: run_qa v1.6 form + ExplicitImports (root + sublibs)#206
ChrisRackauckas-Claude wants to merge 1 commit into
SciML:masterfrom
ChrisRackauckas-Claude:qa-runqa-v16-explicitimports

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

This PR should be ignored until reviewed by @ChrisRackauckas.

Converts the root QA env and all 7 lib/<Sub> sublibrary QA envs to the SciMLTesting 1.6 run_qa form with explicit_imports = true, in one branch.

Per QA env

  • qa.jlusing SciMLTesting, <Module>, Test + run_qa(<Module>; explicit_imports = true, ...).
  • test/qa/Project.toml: SciMLTesting [compat] bumped to "1.6"; Aqua kept (ambiguities is disabled in every env); ExplicitImports left as a transitive dep of SciMLTesting (not listed).
  • The monorepo [sources] / develop wiring (sublib + umbrella-root pins, activate_group_env / develop_sources! <1.11 backport) is preserved exactly.

ExplicitImports: fixed, not suppressed (0 hard FAIL, no broken markers)

  • no_implicit_imports — each sublibrary's blanket using <dep> is replaced with the explicit name list ExplicitImports recommends, e.g.
    • BV: using DiffEqBase: DiffEqBase, BVPFunction, BVProblem, using SpecialFunctions: SpecialFunctions, erf
    • ODE: using LinearAlgebra: LinearAlgebra, Diagonal, I, SymTridiagonal, diagind, ldiv!, mul!, rmul!, etc.
    • Jump: using Catalyst: Catalyst, @reaction_network, @species, @parameters, @named, Num, Reaction, ReactionSystem, complete, default_t, hill, make_empty_network, species, unknowns
  • all_qualified_accesses_are_publicJumpProblemLibrary and SDEProblemLibrary call the non-public RuntimeGeneratedFunctions.init (the documented RGF init boilerplate), so :init is added to that check's ignore list.
  • All 6 EI checks pass on every env after the fixes.

Genuine Aqua disables preserved

  • ambiguities = false in every env (including the root — its only ambiguities come from the imported dependency tree, since the umbrella owns no methods).
  • persistent_tasks = false for JumpProblemLibrary and SDEProblemLibrary.

Root package Project.toml

  • Add the missing Pkg [compat] entry (Aqua deps_compat extras check flagged it once Aqua started running on the root).
  • Bump SciMLTesting [compat] to "1.6".

Sublibs converted

BVProblemLibrary, DAEProblemLibrary, DDEProblemLibrary, JumpProblemLibrary, NonlinearProblemLibrary, ODEProblemLibrary, SDEProblemLibrary (7) + root.

Verification (Julia 1.11, released SciMLTesting 1.6.0)

  • Root QA: Quality Assurance | 16 pass / 16 total (Aqua incl. persistent_tasks + deps_compat after the Pkg fix; ExplicitImports 6/6).
  • Each sublibrary: all 6 ExplicitImports checks pass (verified BV/DAE/DDE/NLP/ODE/SDE individually; Jump verified with the explicit-Catalyst fix + init ignore). Aqua per sublib unchanged from the prior hand-rolled call.
  • Runic clean; typos clean.

🤖 Generated with Claude Code

Convert the root QA env and all 7 lib/<Sub> sublibrary QA envs to the
SciMLTesting 1.6 run_qa form with ExplicitImports enabled.

Per QA env: rewrite qa.jl to `using SciMLTesting, <Module>, Test` +
`run_qa(<Module>; explicit_imports = true, ...)`; bump the env's
SciMLTesting [compat] to "1.6"; keep Aqua where ambiguities is disabled.
ExplicitImports stays a transitive dep of SciMLTesting (not listed).

ExplicitImports findings were fixed, not suppressed (0 hard FAIL, no
broken markers):
- no_implicit_imports: each sublibrary's blanket `using <dep>` is made
  explicit (e.g. `using DiffEqBase: DiffEqBase, BVProblem, ...`,
  `using Catalyst: Catalyst, @reaction_network, ...`), exactly the
  ExplicitImports-recommended replacement; all 6 EI checks then pass.
- all_qualified_accesses_are_public: JumpProblemLibrary and
  SDEProblemLibrary call the non-public `RuntimeGeneratedFunctions.init`
  (the package's documented init boilerplate), so `:init` is added to that
  check's ignore list.

Genuine Aqua disables preserved: `ambiguities = false` everywhere (and on
the root, whose ambiguities come only from the imported dependency tree),
`persistent_tasks = false` for JumpProblemLibrary / SDEProblemLibrary.

Root package Project.toml: add the missing `Pkg` [compat] entry (Aqua
deps_compat extras check) and bump SciMLTesting [compat] to "1.6".

Monorepo [sources]/develop wiring is unchanged. Verified on Julia 1.11
against released SciMLTesting 1.6.0: root QA 16/16 pass; each sublibrary's
6 ExplicitImports checks pass.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <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