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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions