prompt: jax-grad-local-vs-ci-assertions (#260) — route, root cause, fix - #261
Merged
Conversation
3 tasks
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.
Registry state for the
jax-grad-local-vs-ci-assertionstask, from routing through to the shipped fix. Landing this soactive.mdonmainreflects the task — an unmerged registry branch is what trips Lifecycle Drift (there is already an entry inactive.mdrecording exactly that failure from a previous session).Commits
544d095— routed the task: prompt advanceddraft/bug/autolens_workspace_test/→active/, registered inactive.mdasworkspace-dev, issue autolens_workspace_test#260 filed.ccf43b9— root cause found; numpy hypothesis falsified.2cc2a84— reclassifiedworkspace-dev→library-dev, fix branch recorded, two follow-ups filed.What the task established
The reported "local
jax_gradassertions fail but pass in CI" was not numpy 2.2.6 vs 2.4.6.lp.pyis byte-identical across numpy 2.2.6 / 2.4.6 / 2.5.2 and across 1-core vs 4-core — the likelihood runs through JAX/XLA, so numpy was never in the causal path.The actual cause is
PyAutoArray.should_simulatebeing existence-only and asymmetric, so a dataset written by an earlierPYAUTO_SMALL_DATASETS=1run is reused forever underfull_datasets. CI clones fresh and can never hit it. All three reported failures reproduce exactly from a clean checkout —pixelization.pymatches the original report to 11 significant figures, andregularization.py's tolerance vector matches exactly.No tolerance change was warranted: all three assertions were correctly detecting an invalid dataset.
Outcome
rmtrees committed, allowlisted data).dashboard.md/dashboard.htmlregenerated;lifecycle.py checkpasses.🤖 Generated with Claude Code
https://claude.ai/code/session_01VEHLT33XpVcRt5YCJGLRMJ
Generated by Claude Code