Skip to content

Fix precompile and Core tests for Symbolics 7 / SymbolicUtils 4.46 - #48

Closed
ChrisRackauckas-Claude wants to merge 4 commits into
SciML:mainfrom
ChrisRackauckas-Claude:fix-ci
Closed

Fix precompile and Core tests for Symbolics 7 / SymbolicUtils 4.46#48
ChrisRackauckas-Claude wants to merge 4 commits into
SciML:mainfrom
ChrisRackauckas-Claude:fix-ci

Conversation

@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member

Summary

  • Disambiguate SymbolicUtils.promote_symtype for 𝔼/ operators and build operator terms with term instead of raw Term construction.
  • Recurse through operator calls when collecting random variables in get_ordered_group_names.
  • Bind Symbolics in the umbrella module so the precompile workload can expand @random_variables.
  • Cap SymbolicUtils below 4.46 (MTK precompile fails with 4.46) and widen OrderedCollections compat in OUQBase.

Test plan

  • Local GROUP=Core Pkg.test() passed (Umbrella Load 5/5) with isolated depot after these changes.
  • CI Core test group on this PR.

Made with Cursor

Disambiguate promote_symtype for expectation/probability operators, recurse through operator calls when collecting random variables, bind Symbolics for the precompile workload, and cap SymbolicUtils below 4.46 until MTK loads cleanly with newer SymbolicUtils.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Rebased onto main after #49 (OptimizationBBO ≥0.4.11, IntervalArithmetic ≥1.0.11, Symbolics 7.37 floors + DiscreteMeasures interval()). This PR keeps the Symbolics 7 / SymbolicUtils operator/@random_variables precompile fixes only.

Ignore until reviewed by @ChrisRackauckas.

IA 1.x rejects Base.intersect on intervals; Downgrade/main DiscreteMeasures
tests hit ArgumentError on clamp_domain.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Follow-up: DiscreteMeasures clamp_domain now uses `intersect_interval` (IA 1.x rejects `Base.intersect` on intervals).

OUQBase Downgrade still showed `Unreachable reached` on the Flood Problem test — investigating separately if it persists after this push.

Ignore until reviewed by @ChrisRackauckas.

…ests.

IA 1.x empty intervals evaluate `∅_trv == ∅_trv` as false, so clamp_domain
tests failed under both Sublibrary CI and Downgrade Sublibraries after switching
to intersect_interval.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Follow-up: DiscreteMeasures Interval Ext tests now use `isequal` (IA 1.x empty intervals are not `==` even when both are `∅_trv`). Same failure was on Sublibrary CI and Downgrade Sublibraries.

Ignore until reviewed by @ChrisRackauckas.

Base isequal/== are inconclusive or false for decorated intervals in IA 1.x;
isequal_interval is the supported comparison.

Co-authored-by: Cursor <cursoragent@cursor.com>
@ChrisRackauckas-Claude

Copy link
Copy Markdown
Member Author

Follow-up: use isequal_interval (not Base isequal/==) for IA 1.x decorated intervals. Ignore until reviewed by @ChrisRackauckas.

@ChrisRackauckas

Copy link
Copy Markdown
Member

Closing as superseded: already on master or replaced by later work.


🤖 Posted by an AI agent — harness: Claude Code, model: claude-opus-5[1m]. Chris asked for these closures directly.

https://claude.ai/code/session_014FEzNTLFutCmTEAZ3zBg5R

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