Repository navigation
Test causal connector direction against input/output metadata - #5298
Draft
ChrisRackauckas-Claude wants to merge 1 commit into
Draft
ChrisRackauckas-Claude wants to merge 1 commit into
ChrisRackauckas-Claude wants to merge 1 commit into
Conversation
Check the equation direction against input/output connector metadata. Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com> Co-Authored-By: Codex <noreply@openai.com> Agent-Harness: Codex CLI 0.163.0 Agent-Model: gpt-6.1-sol Agent-Session: local session 01a15cac-cfc9-7a93-b5cd-c60ba1c32c71 (no session URL)
This was referenced Oct 21, 2026
This branch has not been deployed
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.
InterfaceI fails its causal-connector assertion because it expects
output ~ input, while connection expansion producesinput ~ output. The assertion now checks that direction and independently verifies that its left side has input metadata and its right side has output metadata. Production code is unchanged. The same assertion fails in the current MTK downstream check on JuliaSymbolics/SymbolicUtils.jl#1169 .The original causal-connector feature tested this direction; a later test-only edit reversed the expectation while retaining the opposite comment. Correcting sentinel comparisons in #5295 made the stale assertion observable. The added metadata predicates check the contract independently of the observed printed equation. Both predicates are public owner APIs.
Verification
Julia 1.13.2, four threads and precompile tasks, one BLAS/OMP thread. Both runs used the same isolated environment developing this repository and its local sublibraries:
Unmodified base
207f39e2d3c63d87e9ecde21279ec6967e4e8b21, exit 1:With this exact three-line test change, exit 0:
Official QA:
The first QA attempt passed JET 54/54 and reached Aqua 20 pass/1 error, failing with
FolderMonitor(start): too many open files (EMFILE). The identical command passed on retry with the child file-descriptor limit above. This does not establish the limit as the cause of the transient failure. No test was disabled or weakened. Runic, spelling over the diff, and whitespace checks passed. Docs, GPU, Everything, and unrelated downstream suites were not run for this test-only change.CI completed with 99 successful checks, seven failures and three skipped checks. Recorded same-head comparisons match all seven failures to default
207f39e2d3: five Optimization jobs shareUnsupportedNonlinearOperator(:literal_pow), downstream indexing shares the one-element-vector state-coordinateBoundsError, and SciMLSensitivity Core8 sharesmtk.jl:216's 3600-element interval-vector access at3601. Core8 counts differ (PR208pass/1error versus default205pass/2errors); the classification concerns the shared failure, not identical full-suite results. PR Core8 job, matching default job. Existing investigations and fixes are linked below; their full downstream suites were not rerun with those fixes. No all-green CI claim is made.Independent review
Fresh Codex CLI 0.163.0 / gpt-6.1-sol reviewer: APPROVE, low risk, high confidence; no blocking findings for exact commit
2c870917f06268e9ac844015e0385657d0588492. The reviewer recorded provisional risk before reading author reports, independently inspected the original feature/source/test history and connector metadata, and reran the exact testset from clean archives with all six local path dependencies relocated.Full InterfaceI/QA were inspected in raw author logs, not independently repeated. The reviewer independently passed diff spelling and whitespace checks; Runic success is author evidence. An existing scalar connect docstring direction discrepancy is outside this test patch and does not change the source/history contract. No runtime bug-fix claim is made.
Reviewer thread: local thread
01a15d51-24f8-7ca2-9cb5-0a6533099a35; outer local session01a15ca3-5696-7ea3-bbac-ba551b6975af(no session URL exposed).Links
Original causal contract: ff36edb
Historical assertion edit: d7d6f1b
Sentinel fix: Change comparison to 0 instead of to nothing #5295
Literal-power baseline and merged repair: OptimizationMOI Core rejects literal_pow expressions with SymbolicUtils 4.52.0 Optimization.jl#1435 ; Handle integer-power codegen in OptimizationMOI expressions Optimization.jl#1436
Indexing baseline and fix stack: solve(::SteadyStateProblem) returns the lowered problem's solution: sol.u reordered/empty, sol.prob.f.sys time-independent SteadyStateDiffEq.jl#171 ; Solve SCCSteadyStateProblem; stop routing SteadyStateProblem through a lowering SteadyStateDiffEq.jl#178 ; Construct SCCSteadyStateProblem from a System; drop the deferred SCC lowering #5276
Checkpoint baseline and partial fix: InterpolatingAdjoint/GaussAdjoint checkpoint re-solve fails for low-storage RK with save_everystep = false (fixed dt not forwarded; BoundsError when stage times leave the interval) SciMLSensitivity.jl#1705 ; Fix checkpoint re-solves for fixed-step and out-of-range RK stages SciMLSensitivity.jl#1707
Compared Core8 PR/default jobs: https://github.com/SciML/ModelingToolkit.jl/actions/runs/39562854146/job/119097968630 ; https://github.com/SciML/ModelingToolkit.jl/actions/runs/39509026516/job/118925097105
Risk assessment
🤖 Generated by an AI agent — harness: Codex CLI 0.163.0 · model: gpt-6.1-sol
Author conversation: local session 01a15cac-cfc9-7a93-b5cd-c60ba1c32c71 (no session URL).
Conversation: local session 01a15ca3-5696-7ea3-bbac-ba551b6975af (no session URL exposed).