Skip to content

QA: track pre-existing Aqua/JET/ExplicitImports findings (root + ModelingToolkitBase) #4670

Description

@ChrisRackauckas-Claude

The QA lanes for the ModelingToolkit root package and the ModelingToolkitBase sublibrary are currently red, and the conversion to the run_qa v1.6 form (PR forthcoming) surfaces every individual finding. To get the lanes green-or-broken without silencing anything, the conversion marks each finding as @test_broken (via run_qa's aqua_broken / jet_broken / ei_broken). This issue tracks the underlying findings so the broken-markers can be dropped as they are fixed (each auto-flags an Unexpected Pass once resolved).

Root ModelingToolkit

Aqua (aqua_broken):

  • undefined_exportsModelingToolkit.Variable is reexported but not defined in the namespace.
  • piracies — deliberate definitions of SciMLBase problem constructors (SCCNonlinearProblem(::System, op), ...) and a few MTKBase/Symbolics methods on upstream types.

JET (jet_broken):

  • report_package re-parses the toplevel; the @recompile_invalidations begin using StaticArrays; using DiffEqBase; ... end blocks make it require transitive deps that are not directly resolvable, surfacing as toplevel errors.

ExplicitImports (ei_broken):

  • no_implicit_imports / no_stale_explicit_imports — the StructuralTransformations submodule relies on a large block of implicit imports (whole packages: BipartiteGraphs, Graphs, ...) and carries a large block of stale explicit imports; the top-level module is also unanalyzable (dynamic include in src/precompile.jl).
  • all_qualified_accesses_are_public / all_explicit_imports_are_public — dominated by names not (yet) declared public in their defining packages (Symbolics, SymbolicUtils, SciMLBase, StateSelection, ModelingToolkitBase, ModelingToolkitTearing, ...). Fix is upstream public declarations.

lib/ModelingToolkitBase

Aqua (aqua_broken):

  • ambiguities — method ambiguities.
  • unbound_args — unbound type parameters (e.g. _remake_buffer with an unbound P).
  • undefined_exportsModelingToolkitBase.Variable reexported but undefined.
  • stale_depsSimpleNonlinearSolve declared but unused.
  • deps_compat — the Optimization test extra lacks a [compat] entry.
  • piracies — deliberate search_variables! / toexpr methods on upstream types.

ExplicitImports (ei_broken):

  • no_implicit_imports / no_stale_explicit_imports — large implicit-import and stale-import blocks.
  • all_qualified_accesses_are_public / all_explicit_imports_are_public — ~300 names not (yet) public in their defining packages.

stale_deps (SimpleNonlinearSolve) and deps_compat (Optimization) are likely quick Project.toml fixes; they were left as broken-markers to keep the QA-conversion PR focused.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions