fix: require Nerves with the JAX deadlock exclusions - #612
Merged
Merged
Conversation
This was referenced Oct 4, 2026
Merged
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.
Summary
Require autonerves>2026.10.4.1 directly so the repaired package cannot backtrack to an older permissive Nerves.
API Changes
Dependency floor changes; no Python symbol/signature changes. Publish policy-bearing Nerves first. The strict bound also excludes same-base dev/post versions; human release process must choose a higher base version. Source builds retain their existing9999.0.0.dev0 default.
See full details below.
Test Plan
Evidence and limits
Native capture in Heart replay37205459198 shows the 0.10.2 LAPACK/Eigen worker-pool deadlock. Tagged source lacks this path in 0.9.2 and disables it in OSS builds from 0.11.1. Only 0.10.2 was observed deadlocking; other exclusions are source-based precautions.
Original likelihood passes three CPU trials and one actual CUDA trial on each of 0.9.2/0.11.2; independent likelihood, finite-difference gradient, NUFFT, Optax and short BlackJAX execution checks pass on both backends. Historical FFT workaround is retained and its reproducer passes both versions. All 25 wheel resolver cases pass; fresh normal resolution without prereleases also selects protected synthetic stable wheels. Local Python3.12.10 differs from incident3.12.14.
Broader point-source gradient diagnostics hit the unchanged300s cap on BOTH versions after earlier checks pass; cause remains unresolved. Retained range does not certify every older version. No full release validation was rerun. Detailed receipts and compatibility CI: HeartPR280.
Development authorization
Heart remains RED: release validation FAILED (stage integrate). Live human authorization: “I authorize development investigation and repair despite the current RED reason above. Follow start-dev and record the task-specific authorization wherever required.” Compatibility plan approved: “ok yes do it properly then”. Independent Sol review CLEAN; applicable tests and targeted smoke evidence above pass. This authorizes development PRs only. Merge requires explicit human
/prm; no release is authorized. Umbrella: PyAutoLabs/PyAutoHeart#274.Full API Changes (for automation & release notes)
Changed Behaviour
Migration
Generated by the PyAutoLabs agent workflow.
Coordinated PRs
PyAutoNerves, PyAutoHands, PyAutoFit, PyAutoGalaxy, PyAutoHeart, PyAutoArray, PyAutoLens, PyAutoCTI. Nerves must publish before repaired consumer wheels.