Skip to content

Widen QA env JET compat to admit 0.12 for Julia 1.13 - #105

Merged
ChrisRackauckas merged 1 commit into
masterfrom
agent/104-jet-compat
Oct 30, 2026
Merged

ChrisRackauckas merged 1 commit into
masterfrom
agent/104-jet-compat

Conversation

@ChrisRackauckas-Claude

@ChrisRackauckas-Claude ChrisRackauckas-Claude commented Oct 28, 2026 •

Copy link
Copy Markdown
Member

🚧 UNREVIEWED — awaiting review by @ChrisRackauckas. Filed by an AI agent running as @ChrisRackauckas; Chris has not seen this.
Harness: Devin CLI 3000.11.228 · Model: swe-2-high
Conversation: local job 104-devin (no session URL)

What changed and why

test/qa/Project.toml pins JET = "0.9, 0.10, 0.11" directly in its [compat], and JET < 0.12 does not support Julia 1.13, so the Tests - QA (Julia 1) lane fails at Pkg.resolve(). This widens the entry to "0.9, 0.10, 0.11, 0.12". Unlike the sibling fix in SciML/DeepEquilibriumNetworks.jl#254, the pin here is the QA env's own compat entry, not LuxTestUtils (this repo does not depend on LuxTestUtils) — confirmed by the resolver message restricted to versions 0.9 - 0.11 by project.

Verification

Fail before (unfixed test/qa/Project.toml, Julia 1.13.1)

In a scratch copy of the test/qa env:

julia +1.13 --project=<scratch qa-env> -e 'using Pkg; Pkg.develop(path = "<repo>"); Pkg.resolve()'
ERROR: Unsatisfiable requirements detected for package JET [c3a54625]:
 JET [c3a54625] log:
 ├─possible versions are: 0.0.1 - 0.13.1 or uninstalled
 ├─restricted to versions 0.9 - 0.11 by project [a160d918], leaving only versions: 0.9.0 - 0.11.6
 └─restricted by julia compatibility requirements to versions: 0.12.0 - 0.13.1 or uninstalled — no versions left

Pass after (Julia 1.13.1)

Same command with the fix resolves JET v0.12.3 (alongside Aqua v0.8.18, SciMLTesting v2.13.3, MATLABDiffEq dev'ed to the branch).

GROUP=QA julia +1.13 --project -e 'using Pkg; Pkg.test()'
Test Summary: | Pass  Total   Time
QA/qa.jl      |   54     54  59.3s
     Testing MATLABDiffEq tests passed

lts (Julia 1.10.12)

The same scratch-env resolve on julia +lts succeeds and picks JET v0.9.18, so the widened range does not break the lts lane.

Not verified

  • GROUP=Core (interface + MATLAB runtime tests) was not run locally; it is untouched by this one-line test/qa compat change. No MATLAB or Octave runtime is installed on this machine, and test/matlab_runtime_tests.jl already gates on matlab_engine_available().
  • The lts QA env was resolve-checked only, not executed.
  • typos over the diff: clean. No Julia source or docs touched, so Runic and the docs build are no-ops.

For the reviewer

  • Compat admits 0.12 only, not the already-registered 0.13.x, matching the proven sibling fix; JET 0.13 can be admitted in a follow-up once QA is green on 1.13.
  • JET 0.12 on Julia 1.13 produced no new QA findings (54/54 pass), so nothing needed silencing.

Risk assessment

  • Risk: low
  • Blast radius: test-only [compat] bound in test/qa/Project.toml; no package code or public API touched. Worst case: a JET 0.12 finding appears on CI that the local run did not show.
  • Evidence: fail-before resolve error reproduced locally; GROUP=QA 54/54 pass on Julia 1.13.1; lts resolve still picks JET 0.9.18.
  • Independent review: none — headless single-agent run; flagged for the fleet review chain.
  • Merge: needs human review per draft status; one-line test-env compat change, auto-merge-shaped once CI is green and reviewed.

Closes #104


🤖 Posted by an AI agent — harness: Devin CLI 3000.11.228 · model: swe-2-high
Conversation: local job 104-devin (no session URL)

🤖 Automated review section from an AI agent running as Chris Rackauckas's account — not written or reviewed by Chris.

Risk assessment (independent review, Codex gpt-6.1-sol, head 95ff400)

  • Risk: low (L3: test-environment compatibility; also matches L5, widening an upper bound without regressions).
  • Blast radius: QA dependency resolution only, at test/qa/Project.toml:11; existing JET ranges remain accepted. No public API, numerical behavior, supported-platform removal, new dependency, or licensing change. No new public names requiring documentation or SemVer bump; no skipped or loosened tests.
  • Evidence: Read the complete risk policy, linked issue, full diff (git diff origin/HEAD...HEAD), QA runner, and CI configuration; verified HEAD is 95ff4006580a0c47674bafffedef39afe5fb01a7 and origin/HEAD is dfc7eb6573a20fa4f8acf35efc0f89962e6d019b. git diff --check origin/HEAD...HEAD exited 0. Ran the same using Pkg; println("JULIA ", VERSION); Pkg.develop(path=ARGS[1]); Pkg.resolve(); Pkg.status() script against scratch exports of base and head, using timeout 3600, the prescribed depot, four threads, and installed Julia 1.13.1: base exited 1 with JET restricted to 0.9 - 0.11 versus Julia-compatible 0.12.0 - 0.13.1 (no versions left); head exited 0 and selected JET 0.12.3. Ran the same head-environment resolve using Julia 1.10.12 with --compiled-modules=no: exited 0, JET 0.9.18. Commands and output are reproducible with scratch/resolve.jl, the exported scratch/base and scratch/head, and logs scratch/base-resolve.log, scratch/head-resolve.log, scratch/lts-resolve.log. Read checks with gh pr view 105 --repo SciML/MATLABDiffEq.jl --json headRefOid,statusCheckRollup: all 11 reported checks/statuses succeeded. Read base/head run metadata and QA job logs through read-only gh api: base QA fails with the same JET conflict; head QA installs JET 0.12.3 and reports QA/qa.jl | 54 54 46.5s, followed by MATLABDiffEq tests passed. G1: not applicable (no numerical changes). G2: not applicable (no GPU/AD/Reactant/MPI changes); the changed QA environment is exercised successfully by exact-head CI. G3: not applicable (no shared-state/cache/threading/default changes).
  • Verdict: MERGE
  • Merge: merge

🤖 Posted by an AI agent — harness: Codex CLI · model: gpt-6.1-sol (independent review, submitted by sciml-submaster, Claude Code claude-sonnet-5-5)
Conversation: https://claude.ai/code/session_01379heia6cKWmdtNob6NGzg

The QA group's test/qa env pins JET = "0.9, 0.10, 0.11" directly,
and JET < 0.12 does not support Julia 1.13, so the QA lane on
julia "1" fails Pkg resolve with an unsatisfiable-requirements
error. Admitting 0.12 lets 1.13 pick JET 0.12.x while older Julia
versions still resolve to 0.9-0.11.

Co-Authored-By: Chris Rackauckas <accounts@chrisrackauckas.com>
Co-Authored-By: Devin <noreply@cognition.ai>
Agent-Harness: Devin CLI 3000.11.228
Agent-Model: swe-2-high
Agent-Session: local job 104-devin (no session URL)
@ChrisRackauckas
ChrisRackauckas marked this pull request as ready for review October 30, 2026 11:44
@ChrisRackauckas
ChrisRackauckas merged commit 310ee67 into master Oct 30, 2026
11 checks passed
@ChrisRackauckas
ChrisRackauckas deleted the agent/104-jet-compat branch October 30, 2026 11:45
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.

QA test-env cannot resolve on Julia 1.13: JET ceiling pinned transitively (LuxTestUtils <= 2.3.1)

2 participants