Skip to content

Commit 2cc2a84

Browse files
committed
prompt: jax-grad-local-vs-ci-assertions (#260) — fix on PyAutoArray branch, 2 follow-ups filed
1 parent ccf43b9 commit 2cc2a84

3 files changed

Lines changed: 23 additions & 6 deletions

File tree

active.md

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
## jax-grad-local-vs-ci-assertions
2929
- issue: https://github.com/PyAutoLabs/autolens_workspace_test/issues/260 (issued 2026-08-22)
3030
- session: https://claude.ai/code/session_01VEHLT33XpVcRt5YCJGLRMJ (web-github; no local worktree yet)
31-
- status: workspace-dev
31+
- status: library-dev (RECLASSIFIED from workspace-dev — the fix is upstream in PyAutoArray;
32+
autolens_workspace_test needs no change and no tolerance change)
3233
- worktree: ~/Code/PyAutoLabs-wt/jax-grad-local-vs-ci-assertions
3334
- prompt: active/jax_grad_local_assertions_fail_but_pass_in_ci.md
3435
- classification: workspace (single repo) — routes to /start_workspace
@@ -50,13 +51,29 @@
5051
1-core vs 4-core). The likelihood runs through JAX/XLA; numpy only does the FD bookkeeping.
5152
- NO tolerance change is warranted — all three asserts did their job on a genuinely invalid
5253
dataset. assert_eager_jit_consistent's rtol=1e-10 is vindicated, not under-specified.
53-
- RECLASSIFY: the fix belongs upstream in PyAutoArray, not this workspace — every PyAuto
54-
workspace using the auto-simulate pattern inherits the trap. Awaiting a human call between
55-
(1) a regime marker and (2) symmetric regeneration; that call moves this to library-dev.
54+
- FIX SHIPPED to a branch 2026-08-22: PyAutoArray `claude/jax-grad-assertions-ci-hontn3` @ 5ef6eea.
55+
`should_simulate` now also regenerates on the small->full transition, inferring the regime from
56+
data.fits's shape (the cap emits EXACTLY 16x16). Design went through an adversarial review that
57+
corrected three things: no pixel-scale check (not in the FITS header), `==` not `<=` (the cap
58+
cannot emit 12x12), and data.fits BY NAME not first-FITS-in-dir (PSFs are legitimately 11x11 and
59+
dataset/cluster/test/psf.fits is 5760 B — a glob would have deleted real data every run).
60+
Verified: control-tested, 1168 tests pass, 12 new tests over all four regime transitions, and
61+
end-to-end — poison then full-datasets run now PASSES where it raised. Steady state 0.64 ms.
62+
NO PR opened (not requested); branch is pushed and ready.
63+
- SCOPE: imaging manifestation only. Point-source/weak-lensing (JSON, no FITS) and interferometer
64+
(shape-invariant under the cap, so it fails SILENTLY) remain exposed; stated in the docstring.
65+
- follow-ups filed (not absorbed):
66+
- PyAutoNerves#153 — stamp the regime at the single FITS writer funnel (fitsable.py:89); the only
67+
discriminant that can catch the silent interferometer case. Kept out of the fix deliberately: it
68+
changes a header card on every FITS the stack writes (round-trip tests, file-hash pins).
69+
- PyAutoArray#470 — separate live defect: the small-datasets branch rmtree's
70+
dataset/point_source/simple, which is COMMITTED and allowlisted in .gitignore:13, replacing it
71+
with capped-solver garbage. Recoverable via git checkout but violates the allowlist invariant.
5672
- follow-up (separate defect, not this bug): autolens_workspace_test
5773
`.github/scripts/smoke_install.sh:9` `pip install "jax<0.7" "jaxlib<0.7"` downgrades jax to
5874
0.6.2 and conflicts with autonerves' jax>=0.7,<0.11; the run only lands on the intended
5975
0.10.2 because the next line's [optional] extras pull it back up. CI is right by accident.
6076
- out-of-bounds: moving lp.py's evaluation point, adding skip_indices, or widening a
6177
tolerance without a measured basis. All three mask the trap instead of removing it.
6278
- repos:
79+
- PyAutoArray: claude/jax-grad-assertions-ci-hontn3

dashboard.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ <h2>In flight <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/bl
5959
<p class="muted">Issued — each has an open GitHub issue and usually a branch.</p>
6060
<div class="task"><button class="copy" data-cmd="/start_dev active/16_transformed_message_factor_gradient_unpack.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/16_transformed_message_factor_gradient_unpack.md"><code>@PyAutoFit</code> <code>TransformedMessage.factor_gradient</code> crashes on first call</a><a href="https://github.com/PyAutoLabs/PyAutoFit/issues/1501">issue #1501</a><span class="facets">HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract</span></p></div>
6161
<div class="task"><button class="copy" data-cmd="/start_dev active/hands_hygiene_leftovers.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/hands_hygiene_leftovers.md">Hands hygiene: expired announcement dead code, unregistered modules</a><a href="https://github.com/PyAutoLabs/PyAutoHands/issues/249">issue #249</a><span class="facets">library-dev</span></p></div>
62-
<div class="task"><button class="copy" data-cmd="/start_dev active/jax_grad_local_assertions_fail_but_pass_in_ci.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/jax_grad_local_assertions_fail_but_pass_in_ci.md">jax_grad scripts fail assertions locally that PASS in CI</a><a href="https://github.com/PyAutoLabs/autolens_workspace_test/issues/260">issue #260</a><span class="facets">workspace-dev</span></p></div>
62+
<div class="task"><button class="copy" data-cmd="/start_dev active/jax_grad_local_assertions_fail_but_pass_in_ci.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/jax_grad_local_assertions_fail_but_pass_in_ci.md">jax_grad scripts fail assertions locally that PASS in CI</a><a href="https://github.com/PyAutoLabs/autolens_workspace_test/issues/260">issue #260</a><span class="facets">library-dev (RECLASSIFIED from workspace-dev — the fix is upstream in PyAutoArray;</span></p></div>
6363
<h2>Parked <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/parked.md">markdown version</a></h2>
6464
<details>
6565
<summary>3 task(s)</summary>

dashboard.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ Issued — each has an open GitHub issue and usually a branch. The full record f
137137

138138
</details>
139139

140-
<details><summary>📋 <a href="active/jax_grad_local_assertions_fail_but_pass_in_ci.md">jax_grad scripts fail assertions locally that PASS in CI</a> — <a href="https://github.com/PyAutoLabs/autolens_workspace_test/issues/260">issue #260</a> — workspace-dev</summary>
140+
<details><summary>📋 <a href="active/jax_grad_local_assertions_fail_but_pass_in_ci.md">jax_grad scripts fail assertions locally that PASS in CI</a> — <a href="https://github.com/PyAutoLabs/autolens_workspace_test/issues/260">issue #260</a> — library-dev (RECLASSIFIED from workspace-dev — the fix is upstream in PyAutoArray;</summary>
141141

142142
```
143143
/start_dev active/jax_grad_local_assertions_fail_but_pass_in_ci.md

0 commit comments

Comments
 (0)