QA: run_qa v1.6 form + ExplicitImports (root + sublibs)#621
Merged
ChrisRackauckas merged 2 commits intoJul 3, 2026
Conversation
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>
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 every QA environment in the monorepo (root
test/QAplus eachlib/<Sub>/test/qa) to the SciMLTesting v1.6run_qaform, with ExplicitImports enabled (explicit_imports = true). The[sources]/develop wiring in every QAProject.tomland sublibraryruntests.jlis preserved exactly; onlyqa.jland the QA-env[deps]/[compat](addingSciMLTesting = "1.6") changed.Per-env summary (verified locally against released SciMLTesting 1.6.0)
RecursiveArrayTools(root)aqua_broken=(:ambiguities,)(#326);ei_broken=(:no_implicit_imports,)(#619); EI ignore-list for non-public upstream qualified names.Pkgdownstream-deps sentinel guard kept. Also verified green on Julia 1.12.RecursiveArrayToolsArrayPartitionAnyAllpiracies = (; treat_as_own = [ArrayPartition]);jet_kwargs = (; target_defined_modules = true). EI clean (all 6 pass).RecursiveArrayToolsShorthandConstructorspiracies = (; treat_as_own = [VA, AP]);jet_kwargs = (; target_defined_modules = true). EI clean (all 6 pass).RecursiveArrayToolsRaggedArrayspiracies = (; treat_as_own = [AbstractRaggedVectorOfArray, AbstractRaggedDiffEqArray])(fixes pre-existing Aqua piracy false-positive);ei_broken=(:no_implicit_imports,)(#619); EI ignore-lists; removed staleAllObservedimport (EI no_stale fix). The remainingFailis a pre-existing-on-master JETsimilar_type(::Any)finding tracked in #620, left as a hard check (not silenced).ExplicitImports handling (FIX > IGNORE > BROKEN)
AllObservedexplicit import in RaggedArrays (no_stalenow passes).AbstractRagged*types ignored inall_explicit_imports_are_publicfor RaggedArrays.no_implicit_importsin root + RaggedArrays (whole-moduleusingexposes dozens of names; explicit-import refactor tracked in QA: ExplicitImports no_implicit_imports findings (root + RecursiveArrayToolsRaggedArrays) #619). Auto-flagsUnexpected Passonce fixed.Tracking issues opened
no_implicit_imports(root + RaggedArrays).similar_type(::Any)finding in RaggedArrays (not introduced by this PR; verified red on clean master).Sublibs converted: 3 (
RecursiveArrayToolsArrayPartitionAnyAll,RecursiveArrayToolsRaggedArrays,RecursiveArrayToolsShorthandConstructors) + root.🤖 Generated with Claude Code