Skip to content

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

Merged
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run-qa-v1.6
Jul 3, 2026
Merged

QA: run_qa v1.6 form + ExplicitImports (root + sublibs)#621
ChrisRackauckas merged 2 commits into
SciML:masterfrom
ChrisRackauckas-Claude:qa-run-qa-v1.6

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Contributor

Please ignore until reviewed by @ChrisRackauckas.

Converts every QA environment in the monorepo (root test/QA plus each lib/<Sub>/test/qa) to the SciMLTesting v1.6 run_qa form, with ExplicitImports enabled (explicit_imports = true). The [sources]/develop wiring in every QA Project.toml and sublibrary runtests.jl is preserved exactly; only qa.jl and the QA-env [deps]/[compat] (adding SciMLTesting = "1.6") changed.

Per-env summary (verified locally against released SciMLTesting 1.6.0)

Env Result (Julia 1.10) Notes
RecursiveArrayTools (root) 15 Pass / 2 Broken / 0 Fail aqua_broken=(:ambiguities,) (#326); ei_broken=(:no_implicit_imports,) (#619); EI ignore-list for non-public upstream qualified names. Pkg downstream-deps sentinel guard kept. Also verified green on Julia 1.12.
RecursiveArrayToolsArrayPartitionAnyAll 18 Pass / 0 Fail piracies = (; treat_as_own = [ArrayPartition]); jet_kwargs = (; target_defined_modules = true). EI clean (all 6 pass).
RecursiveArrayToolsShorthandConstructors 18 Pass / 0 Fail piracies = (; treat_as_own = [VA, AP]); jet_kwargs = (; target_defined_modules = true). EI clean (all 6 pass).
RecursiveArrayToolsRaggedArrays 16 Pass / 1 Broken / 1 Fail piracies = (; treat_as_own = [AbstractRaggedVectorOfArray, AbstractRaggedDiffEqArray]) (fixes pre-existing Aqua piracy false-positive); ei_broken=(:no_implicit_imports,) (#619); EI ignore-lists; removed stale AllObserved import (EI no_stale fix). The remaining Fail is a pre-existing-on-master JET similar_type(::Any) finding tracked in #620, left as a hard check (not silenced).

ExplicitImports handling (FIX > IGNORE > BROKEN)

  • FIX: removed the stale AllObserved explicit import in RaggedArrays (no_stale now passes).
  • IGNORE: non-public names qualified/imported from upstream packages (Base, Base.Broadcast, LinearAlgebra, StaticArraysCore, ArrayInterface, Adapt, SymbolicIndexingInterface) added to per-check ignore-lists; RAT-owned AbstractRagged* types ignored in all_explicit_imports_are_public for RaggedArrays.
  • BROKEN: no_implicit_imports in root + RaggedArrays (whole-module using exposes dozens of names; explicit-import refactor tracked in QA: ExplicitImports no_implicit_imports findings (root + RecursiveArrayToolsRaggedArrays) #619). Auto-flags Unexpected Pass once fixed.

Tracking issues opened

Sublibs converted: 3 (RecursiveArrayToolsArrayPartitionAnyAll, RecursiveArrayToolsRaggedArrays, RecursiveArrayToolsShorthandConstructors) + root.

🤖 Generated with Claude Code

Convert every QA environment (root test/QA and each lib/<Sub>/test/qa) to the
SciMLTesting v1.6 `run_qa` form with ExplicitImports enabled.

Per env:
- root RecursiveArrayTools: aqua_broken=(:ambiguities,) (tracking SciML#326);
  ei_broken=(:no_implicit_imports,) (tracking SciML#619); EI public-access ignore-list
  for non-public upstream names. Pkg sentinel guard preserved.
- RecursiveArrayToolsArrayPartitionAnyAll: piracies treat_as_own=[ArrayPartition];
  JET target_defined_modules. EI clean.
- RecursiveArrayToolsShorthandConstructors: piracies treat_as_own=[VA, AP];
  JET target_defined_modules. EI clean.
- RecursiveArrayToolsRaggedArrays: piracies treat_as_own on the RAT-owned
  AbstractRagged{VectorOfArray,DiffEqArray} abstract types (fixes the pre-existing
  Aqua piracy false-positive); ei_broken=(:no_implicit_imports,) (SciML#619);
  EI ignore-lists for the RAT-owned ragged types and non-public upstream names.
  Removed the stale `AllObserved` explicit import (EI no_stale fix). The JET
  similar_type(::Any) report is a pre-existing master finding tracked in SciML#620 and
  is left as a hard check (not silenced).

Add SciMLTesting (compat "1.6") to each QA env; ExplicitImports comes in
transitively. [sources]/develop wiring preserved exactly.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…oken

The RecursiveArrayToolsRaggedArrays QA lane fails JET typo-mode with 4
similar_type(::Any) no-matching-method reports from the copyto!/fill!/
broadcast immutable-element branches (dest.u[i] infers as ::Any because the
abstract AbstractRaggedVectorOfArray .u field is untyped). Verified byte-
identically pre-existing on unmodified master (run JET.report_package on a
clean bf98ebd checkout: same 4 reports at src lines 1335/1347/1468/1636; the
current master tip 5e20683 Sublibrary CI also fails on exactly this one lane).
Not introduced by the run_qa v1.6 conversion.

Use jet_broken=true so the lane records the finding as @test_broken (report-
only, auto-flags an Unexpected Pass once the real fix lands) instead of a hard
red. The underlying inference fix is tracked in
SciML#620.

Verified locally vs released SciMLTesting 1.7.0: QA group green on Julia 1.12.6
(16 pass / 2 broken / 0 fail) and Julia 1.10 LTS (14 pass / 2 broken / 0 fail).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas-Claude ChrisRackauckas-Claude marked this pull request as ready for review July 3, 2026 00:36
@ChrisRackauckas ChrisRackauckas merged commit 48e8b3b into SciML:master Jul 3, 2026
46 of 53 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