Skip to content

qa: import names through owning modules - #4981

Merged
ChrisRackauckas merged 5 commits into
SciML:masterfrom
ChrisRackauckas-Claude:codex/mtk-qa-owner-imports
Aug 17, 2026
Merged

qa: import names through owning modules#4981
ChrisRackauckas merged 5 commits into
SciML:masterfrom
ChrisRackauckas-Claude:codex/mtk-qa-owner-imports

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Aug 15, 2026

Copy link
Copy Markdown
Member

Ignore this PR until it has been reviewed by @ChrisRackauckas.

What changed

Import names through the modules that own them according to Base.which and the strict ExplicitImports owner checks:

  • OrdinaryDiffEq extension modules import t_nounits and D_nounits from ModelingToolkitBase.
  • ModelingToolkit imports and qualifies unwrap through SymbolicUtils.
  • scalarize remains imported from Symbolics, where it is public.

This is a focused QA correctness fix. It does not change algorithms, precompile workloads, public API, or documentation.

Failure before

On this branch before the scalarize correction:

GROUP=QA julia --project -e 'using Pkg; Pkg.test()'
Some tests did not pass: 49 passed, 0 failed, 3 errored, 0 broken.
all_explicit_imports_via_owners: passed
all_qualified_accesses_via_owners: passed
all_qualified_accesses_are_public: passed
all_explicit_imports_are_public: NonPublicExplicitImportsException
- scalarize is not public in SymbolicUtils

Verification after

With the correction applied:

GROUP=QA julia --project -e 'using Pkg; Pkg.test()'
Some tests did not pass: 50 passed, 0 failed, 2 errored, 0 broken.
all_explicit_imports_via_owners: passed
all_qualified_accesses_via_owners: passed
all_qualified_accesses_are_public: passed
all_explicit_imports_are_public: passed

The two remaining errors are the pre-existing analyzer limitation caused by the dynamic include(pkgdir(ModelingToolkitBase, "src", "precompile.jl")) in src/precompile.jl: no_implicit_imports and no_stale_explicit_imports report UnanalyzableModuleException. This PR does not suppress or allow-list those failures.

Additional checks:

  • Runic check passed for all changed Julia files.
  • typos passed on changed files.
  • git diff --check passed.
  • No docs build was run because this PR does not touch documentation or docstrings.

This is independent of the cross-reference work in #4980.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review August 17, 2026 06:56
@ChrisRackauckas
ChrisRackauckas merged commit 03c1307 into SciML:master Aug 17, 2026
50 of 68 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