Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions active.md
Original file line number Diff line number Diff line change
@@ -1,21 +1,5 @@
# Active Tasks

## jax-default-dependency
- issue: https://github.com/PyAutoLabs/PyAutoLens/issues/702
- status: shipped-awaiting-release-followups — ALL ELEVEN PRs merged 2026-08-19 (human-authorized):
six library (PyAutoHeart#150, PyAutoNerves#150, PyAutoFit#1503, PyAutoArray#450, PyAutoGalaxy#574,
PyAutoLens#703) + five workspace (autolens_workspace#486, autogalaxy_workspace#212,
autofit_workspace#139, HowToLens#71, HowToGalaxy#67; pending-release hold waived by human — prose-only,
few-hour docs-ahead window until the nightly). Worktree removed, claims released, branches deleted.
- nojax CI leg caught two real bugs day one: unmarked jax-requiring autolens test (94d8f54ba);
NumPy-scalar misrouting in autofit Beta/Gamma/Normal message dispatch (19c679583).
- jax cap stays <0.11 (widen reverted 848a254; jax 0.11 bug prompt:
draft/bug/autofit/jax_011_message_log_partition_tuple_shape.md).
- NEXT (release-blocked; nightly 02:00 UTC): (1) bump intra-family floors `>=2026.7.29.2` → first
promoted version in all five pyprojects, then move this task to complete/; (2) later, make
unittest-nojax a required check once it has green history.
- prompt: active/jax_default_dependency.md

## transformed-message-factor-gradient-unpack
- issue: https://github.com/PyAutoLabs/PyAutoFit/issues/1501 (issued 2026-08-19)
- prompt: active/16_transformed_message_factor_gradient_unpack.md
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,61 @@
# jax-default-dependency

**Completed 2026-08-22.** JAX became a default dependency across the family
(PyAutoLens#702): eleven PRs merged 2026-08-19 (six library — PyAutoHeart#150,
PyAutoNerves#150, PyAutoFit#1503, PyAutoArray#450, PyAutoGalaxy#574,
PyAutoLens#703 — plus five workspace: autolens_workspace#486,
autogalaxy_workspace#212, autofit_workspace#139, HowToLens#71, HowToGalaxy#67),
released as **2026.8.22.1** (nightly-release run 50, dispatched by hand after
the gates cleared), and closed out with the intra-family floor bumps
`>=2026.7.29.2` → `>=2026.8.22.1`: PyAutoFit#1509, PyAutoArray#466,
PyAutoGalaxy#582, PyAutoLens#708. PyAutoNerves needs no bump — its pyproject
carries no intra-family floor, so four PRs cover all five libraries' floors.

## Why the release (and therefore this task) sat blocked for two days

The promoting release was held up by two stacked regressions the task did not
cause, found and fixed while driving it out (2026-08-21/22 session):

- **PyAutoArray#453's in-place numba Cholesky kernels rejected JAX inputs**:
the sparse-operator inversion path hands `fnnls_cholesky` JAX arrays even
under `PYAUTO_DISABLE_JAX=1`; indexing a JAX array yields another JAX array,
which numba maps to a *readonly* buffer, so kernel compilation died with
"Cannot modify readonly array" — HowToLens smoke red from 2026-08-20 22:30,
readiness RED, nightly blocked. Fixed by boundary coercion to numpy
(PyAutoArray#463) with a jnp-input regression test. The scipy solvers #453
replaced tolerated JAX input by copying internally — an in-place rewrite of
a copy-tolerant seam must re-check every caller's array provenance.
- **The rectangular mesh split (PyAutoArray#462 et al.) merged library-side
without its downstream legs**, breaking the retired `RectangularAdapt*`
names in HowToLens, HowToGalaxy and autogalaxy_workspace_test (the Stage-3
release gate). Legs landed as HowToLens#74, HowToGalaxy#71,
autolens_workspace#496, autogalaxy_workspace#222, autogalaxy_workspace_test#106.

Release attempts: run 47 (scheduled) blocked on readiness RED; run 48 blocked
at Stage 3 (agwt old names; validation otherwise 672p/0f); run 49 passed
everything but blocked STALE — PyAutoGalaxy#581 merged mid-run, the staleness
gate correctly refusing to ship a set that no longer matched main; run 50
(pins incl. #581) released 2026.8.22.1 and PyPI carries all five packages.

## Keep / traps

- The nojax CI leg caught two real bugs on day one: an unmarked
jax-requiring autolens test (94d8f54ba) and NumPy-scalar misrouting in
autofit Beta/Gamma/Normal message dispatch (19c679583).
- jax cap stays `<0.11` (widen reverted 848a254; jax 0.11 bug prompt:
draft/bug/autofit/jax_011_message_log_partition_tuple_shape.md).
- The staleness gate makes manual dispatches race active development: a
library merge landing between the driver's rehearsal SHA-pin (~15 min in)
and its readiness re-check (~80 min in) blocks the night. Dispatch when
merging has quiesced, or expect a re-run.

## Remaining (deliberately not part of this record)

- Make `unittest-nojax` a required check once it has green history (the
"later" half of the old NEXT list).

## Original prompt

# Make JAX a default (non-optional) dependency across the library stack

Type: maintenance
Expand Down
3 changes: 2 additions & 1 deletion complete/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Token-light navigation over the finished-work records (schema:
only then grep a dated bucket. Curators: edit the band between the CURATED
markers; everything below GENERATED is rebuilt.

1071 records across 7 buckets.
1072 records across 7 buckets.

<!-- CURATED:START -->
## Highlights
Expand Down Expand Up @@ -93,6 +93,7 @@ _(curate hard-won records here — survives regeneration.)_
- [interferometer-delaunay-flaky-fitexception](2026/08/interferometer-delaunay-flaky-fitexception.md)
- [interferometer-start-here-integrate-oom](2026/08/interferometer-start-here-integrate-oom.md)
- [intra-family-dep-floors](2026/08/intra-family-dep-floors.md)
- [jax-default-dependency](2026/08/jax-default-dependency.md)
- [jax-grad-smoke-timeout-budget](2026/08/jax-grad-smoke-timeout-budget.md)
- [jax-likelihood-mass-sensitivity](2026/08/jax-likelihood-mass-sensitivity.md) — Audit + fix for median-literal mass blindness across all jax_likelihood/datacube scripts (phase 2 of the findi…
- [knowledge-board](2026/08/knowledge-board.md) — auto-closed on merge
Expand Down
3 changes: 1 addition & 2 deletions dashboard.html
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
<body>
<h1>📋 PyAutoMind Dashboard</h1>
<p>Every task the Mind is holding. Tap a task's 📋 and its <code>/start_dev</code> command is on your clipboard — paste it into a Claude Code chat to route Claude straight to that task.</p>
<p class="muted">In flight 3 · Parked 3 · Planned 6 · Backlog 144 · <a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/dashboard.md">markdown version</a></p>
<p class="muted">In flight 2 · Parked 3 · Planned 6 · Backlog 144 · <a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/dashboard.md">markdown version</a></p>
<h2>Start here</h2>
<h3>Highest priority <span class="facets">(filed as high) — showing 12 of 18</span></h3>
<div class="task"><button class="copy" data-cmd="/start_dev draft/triage/jax_zero_contour.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/triage/jax_zero_contour.md">TRIAGE: needs manual review before routing</a> — <span class="facets">medium · safe · high</span></p></div>
Expand All @@ -59,7 +59,6 @@ <h2>In flight <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/bl
<p class="muted">Issued — each has an open GitHub issue and usually a branch.</p>
<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>
<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>
<div class="task"><button class="copy" data-cmd="/start_dev active/jax_default_dependency.md" aria-label="Copy the Claude command">📋</button><p><a href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/active/jax_default_dependency.md">Make JAX a default (non-optional) dependency across the library stack</a> — <a href="https://github.com/PyAutoLabs/PyAutoLens/issues/702">issue #702</a> — <span class="facets">shipped-awaiting-release-followups — ALL ELEVEN PRs merged 2026-08-19 (human-authorized):</span></p></div>
<h2>Parked <a class="mdsrc" href="https://github.com/PyAutoLabs/PyAutoMind/blob/main/parked.md">markdown version</a></h2>
<details>
<summary>3 task(s)</summary>
Expand Down
10 changes: 1 addition & 9 deletions dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ Every task the Mind is holding, on one page: what is in flight, what is parked,

| Where | Count |
|-------|------:|
| [In flight](#in-flight) (`active/`) | 3 |
| [In flight](#in-flight) (`active/`) | 2 |
| [Parked](#parked) (`parked.md`) | 3 |
| [Planned](#planned) (`planned.md`) | 6 |
| [Backlog](#backlog) (`draft/`) | 144 |
Expand Down Expand Up @@ -137,14 +137,6 @@ Issued — each has an open GitHub issue and usually a branch. The full record f

</details>

<details><summary>📋 <a href="active/jax_default_dependency.md">Make JAX a default (non-optional) dependency across the library stack</a> — <a href="https://github.com/PyAutoLabs/PyAutoLens/issues/702">issue #702</a> — shipped-awaiting-release-followups — ALL ELEVEN PRs merged 2026-08-19 (human-authorized):</summary>

```
/start_dev active/jax_default_dependency.md
```

</details>

## Parked

Started or scoped, not currently in flight — resume by moving the row back to `active.md`. Full detail in [`parked.md`](parked.md).
Expand Down
Loading