Overview
The Apr 10 release build has 345 failures (up from 237 on Apr 9). The spike is almost entirely caused by simulator scripts crashing due to plot API changes, which cascades into ~220+ downstream failures. There are also genuine bugs in PyAutoFit's interpolator and grid search result, plus workspace scripts referencing the removed UltraNest search.
Fixing the library bugs (PyAutoArray zoom_array, PyAutoFit interpolator/grid_search) and updating workspace scripts should bring failures down dramatically.
Plan
- Fix
zoom_array in PyAutoArray to handle plain numpy arrays that have a .mask attribute but no .is_all_false
- Fix PyAutoFit
interpolator.__getitem__ to guard against empty instances list
- Fix PyAutoFit
grid_search_result.log_evidences() to handle None log_evidence values
- Update all workspace simulator scripts using the removed
aplt.Output API to use plot_array's current parameter signature
- Update autofit_workspace scripts that reference the removed
af.UltraNest
- Re-trigger release build and verify failure count drops
Detailed implementation plan
Affected Repositories
- PyAutoArray (primary — zoom_array fix)
- PyAutoFit (interpolator + grid_search fixes)
- autolens_workspace (simulator scripts, guide scripts)
- autogalaxy_workspace (simulator scripts)
- autofit_workspace (UltraNest refs, graphical model dataset paths)
Work Classification
Both (library fixes first, then workspace fixes)
Branch Survey
| Repository |
Current Branch |
Dirty? |
| PyAutoArray |
main |
minor untracked test files |
| PyAutoFit |
main |
clean |
| PyAutoGalaxy |
main |
minor untracked |
| PyAutoLens |
main |
clean |
| autolens_workspace |
main |
dataset changes (expected) |
| autofit_workspace |
main |
dataset changes (expected) |
| autogalaxy_workspace |
main |
dataset changes (expected) |
Suggested branch: feature/release-fixes-apr-2026
Worktree root: ~/Code/PyAutoLabs-wt/release-fixes-apr-2026/
Implementation Steps
-
PyAutoArray — autoarray/plot/utils.py:108
Change: hasattr(array, "mask") and not array.mask.is_all_false
To: hasattr(array, "mask") and hasattr(array.mask, "is_all_false") and not array.mask.is_all_false
-
PyAutoFit — autofit/interpolator/abstract.py:98
Guard self.instances[0] against empty list — raise informative error or return early
-
PyAutoFit — autofit/non_linear/grid/grid_search/result.py:306
Handle None log_evidence values in the list comprehension (skip or replace with NaN)
-
autolens_workspace / autogalaxy_workspace simulator scripts
Replace aplt.plot_array(array=X, output=aplt.Output(path=P, format=F))
With aplt.plot_array(array=X, output_path=P, output_format=F)
Affects ~14 active scripts
-
autofit_workspace scripts
- Remove/comment UltraNest references in
scripts/cookbooks/search.py and related
- Fix graphical model tutorial dataset paths
Key Files
autoarray/plot/utils.py — zoom_array type check fix
autofit/interpolator/abstract.py — empty instances guard
autofit/non_linear/grid/grid_search/result.py — None log_evidence handling
- Workspace simulator scripts across autolens/autogalaxy/autofit workspaces
Original Prompt
Click to expand starting prompt
Release Fix: 2026-04-12. Based on release run Apr 10 (run 24226814280). 345 failures, 808 passes, 90 skipped. Priority 1: Simulator Plot API Bugs (~200+ cascading failures) from zoom_array and aplt.Output removal. Priority 2: Source Code Bugs (60 failures) including UltraNest removal, interpolator IndexError, grid_search TypeError. Priority 3: Environment Issues (6, non-blocking).
Overview
The Apr 10 release build has 345 failures (up from 237 on Apr 9). The spike is almost entirely caused by simulator scripts crashing due to plot API changes, which cascades into ~220+ downstream failures. There are also genuine bugs in PyAutoFit's interpolator and grid search result, plus workspace scripts referencing the removed UltraNest search.
Fixing the library bugs (PyAutoArray zoom_array, PyAutoFit interpolator/grid_search) and updating workspace scripts should bring failures down dramatically.
Plan
zoom_arrayin PyAutoArray to handle plain numpy arrays that have a.maskattribute but no.is_all_falseinterpolator.__getitem__to guard against empty instances listgrid_search_result.log_evidences()to handle None log_evidence valuesaplt.OutputAPI to useplot_array's current parameter signatureaf.UltraNestDetailed implementation plan
Affected Repositories
Work Classification
Both (library fixes first, then workspace fixes)
Branch Survey
Suggested branch:
feature/release-fixes-apr-2026Worktree root:
~/Code/PyAutoLabs-wt/release-fixes-apr-2026/Implementation Steps
PyAutoArray —
autoarray/plot/utils.py:108Change:
hasattr(array, "mask") and not array.mask.is_all_falseTo:
hasattr(array, "mask") and hasattr(array.mask, "is_all_false") and not array.mask.is_all_falsePyAutoFit —
autofit/interpolator/abstract.py:98Guard
self.instances[0]against empty list — raise informative error or return earlyPyAutoFit —
autofit/non_linear/grid/grid_search/result.py:306Handle None
log_evidencevalues in the list comprehension (skip or replace with NaN)autolens_workspace / autogalaxy_workspace simulator scripts
Replace
aplt.plot_array(array=X, output=aplt.Output(path=P, format=F))With
aplt.plot_array(array=X, output_path=P, output_format=F)Affects ~14 active scripts
autofit_workspace scripts
scripts/cookbooks/search.pyand relatedKey Files
autoarray/plot/utils.py— zoom_array type check fixautofit/interpolator/abstract.py— empty instances guardautofit/non_linear/grid/grid_search/result.py— None log_evidence handlingOriginal Prompt
Click to expand starting prompt
Release Fix: 2026-04-12. Based on release run Apr 10 (run 24226814280). 345 failures, 808 passes, 90 skipped. Priority 1: Simulator Plot API Bugs (~200+ cascading failures) from zoom_array and aplt.Output removal. Priority 2: Source Code Bugs (60 failures) including UltraNest removal, interpolator IndexError, grid_search TypeError. Priority 3: Environment Issues (6, non-blocking).