Skip to content

QA: run_qa v1.6 form + ExplicitImports#135

Merged
ChrisRackauckas merged 1 commit into
SciML:mainfrom
ChrisRackauckas-Claude:qa/run_qa-v1.6-explicit-imports
Jul 5, 2026
Merged

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

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Ignore until reviewed by @ChrisRackauckas.

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

What changed

  • test/qa/qa.jl: replaces the hand-rolled Aqua.test_* block + JET.test_package block with a single run_qa(ModelingToolkitNeuralNets; explicit_imports = true, ei_kwargs = ...). Aqua (via Aqua.test_all) and ExplicitImports come from SciMLTesting's own dependencies; JET is auto-registered by using JET (its SciMLTesting weakdep extension).
  • Project.toml: SciMLTesting compat "1" -> "1.6". ExplicitImports is intentionally not added to deps (transitive via SciMLTesting). Aqua and JET stay (Aqua's ambiguities sub-check needs Aqua a direct dep; JET runs).
  • src/ModelingToolkitNeuralNets.jl: removed stale explicit imports surfaced by check_no_stale_explicit_imports.

ExplicitImports findings (6 checks)

  • no_implicit_importspass (no implicit imports).
  • no_stale_explicit_importsfixed: removed @named, hasmetadata (from ModelingToolkitBase) and @register_array_symbolic, @wrapped (from Symbolics); all four were imported but never used.
  • all_explicit_imports_via_ownerspass.
  • all_qualified_accesses_via_ownerspass.
  • all_qualified_accesses_are_publicignored (3 names): Symbolics.CallAndWrap, Symbolics.SymbolicT, Symbolics.getdefaultval are non-public Symbolics internals used for symbolic term/metadata manipulation. Added to the per-check ignore list (source: Symbolics) until Symbolics marks them public.
  • all_explicit_imports_are_publicpass.

No aqua_broken / jet_broken / ei_broken markers were needed: there are no known-broken findings.

Verification (local, against released SciMLTesting 1.6.0)

Resolved env: SciMLTesting v1.6.0, Aqua v0.8.16, JET v0.11.5, ExplicitImports v1.15.0 (transitive). QA group result:

Test Summary:     | Pass  Total     Time
Quality Assurance |   18     18  2m13.0s

18/18 pass, 0 fail / 0 error / 0 broken.

🤖 Generated with Claude Code

Convert the hand-rolled Aqua + JET QA suite to run_qa with
explicit_imports = true, and curate per-check ExplicitImports ignore
lists for the external non-public / re-exported names the package
genuinely uses (Symbolics unwrap/wrap/shape/Arr/VariableDefaultValue/
option_to_metadata_type, Lux/LuxCore initialparameters/outputsize/
stateless_apply, ModelingToolkitBase t_nounits). The via_owners entries
cover the SymbolicUtils->Symbolics and LuxCore->Lux re-export owner
mismatches; the are_public entries are no-ops on Julia 1.11+ (where those
names are declared public) and only apply on the LTS (1.10) lane.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude ChrisRackauckas-Claude force-pushed the qa/run_qa-v1.6-explicit-imports branch from 010da08 to 8fdf3b1 Compare July 5, 2026 16:20
@ChrisRackauckas ChrisRackauckas marked this pull request as ready for review July 5, 2026 20:52
@ChrisRackauckas ChrisRackauckas merged commit 75acc22 into SciML:main Jul 5, 2026
11 of 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