Repository navigation
Description
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_arrayin PyAutoArray to handle plain numpy arrays that have a.maskattribute 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.OutputAPI to useplot_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
Guardself.instances[0]against empty list — raise informative error or return early -
PyAutoFit —
autofit/non_linear/grid/grid_search/result.py:306
Handle Nonelog_evidencevalues in the list comprehension (skip or replace with NaN) -
autolens_workspace / autogalaxy_workspace simulator scripts
Replaceaplt.plot_array(array=X, output=aplt.Output(path=P, format=F))
Withaplt.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.pyand related - Fix graphical model tutorial dataset paths
- Remove/comment UltraNest references in
Key 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 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).
Activity
Jammy2211 commentedon Apr 12, 2026
Library PRs Created — 2026-04-12
PRs
Status
Workspace changes needed. Next: /start_workspace
API Changes
zoom_array— no public API changeGridSearchResult.log_evidences()now handles None values;interpolator.__getitem__gives clear error on empty instancesJammy2211 commentedon Apr 12, 2026
All PRs Created — 2026-04-12
Library PRs
Build & Workspace PRs
Summary
Root causes identified:
zoom_arraycrashed on plain numpy arrays → ~200 cascading simulator failuresPYAUTO_WORKSPACE_SMALL_DATASETSin PyAutoBuild didn't match library'sPYAUTO_SMALL_DATASETSNext
Merge all 5 PRs, then re-trigger the release build.
Jammy2211 commentedon Apr 12, 2026
Shipped — 2026-04-12
PRs
Summary
All 5 PRs merged. Release build re-triggered (run 24312783694, skip_release=true) to verify fixes pass. Root causes: zoom_array crash on plain numpy arrays (~200 cascading failures), mismatched env var name in PyAutoBuild, missing SMALL_DATASETS overrides for tutorial/guide scripts, and removed search packages not in no_run.yaml.
Session Notes
should_simulatepattern, which would let SMALL_DATASETS work everywhere.Jammy2211 commentedon May 28, 2026
Shipped via #270. Closing.