Overview
The five ellipse example scripts under autogalaxy_workspace/scripts/ellipse/ (simulator, fit, modeling, multipoles, database) were parked on 2026-04-24 in config/build/no_run.yaml pending a JAX refactor of the ellipse code. That refactor has now landed in PyAutoGalaxy via three merged PRs (#408 ellipse-xp, #410 fit-ellipse-jax, #412 analysis-ellipse-jax, all completed 2026-05-14). This task verifies the scripts pass under PYAUTO_TEST_MODE=2, fixes any remaining API drift, and removes the NEEDS_FIX markers.
Plan
- Try each of the five ellipse example scripts under
PYAUTO_TEST_MODE=2 first — some may simply pass now thanks to the stronger sampler bypass and the refactor.
- For scripts that still fail, investigate and fix the underlying bug (most likely candidate is
modeling.py with a KeyError on ellipses.0.centre_0 kwargs after API drift, and the previous multipoles.py timeout).
- Remove each script's entry from
autogalaxy_workspace/config/build/no_run.yaml once it passes.
- If
ellipse/database passes, also remove the fallback entry from PyAutoBuild/autobuild/config/no_run.yaml (autogalaxy section) so the mega-run no longer skips it.
- Re-run the workspace mega-run via
run_all_scripts.sh and confirm no NEEDS_FIX 2026-04-24 banner remains for any ellipse entry.
Detailed implementation plan
Affected Repositories
- autogalaxy_workspace (primary)
- PyAutoBuild (secondary — one-line removal in
config/no_run.yaml, only if ellipse/database passes)
Work Classification
Workspace
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./autogalaxy_workspace |
main |
dirty in dataset/imaging/* and dataset/interferometer/* — looks like leftover simulator regen artifacts (FITS/JSON/PNG), unrelated to this task. Will be sidestepped by working in a worktree off origin/main. |
| ./PyAutoBuild |
main |
clean |
Suggested branch: feature/unpark-ellipse-scripts
Worktree root: ~/Code/PyAutoLabs-wt/unpark-ellipse-scripts/ (created later by /start_workspace)
Implementation Steps
- Worktree both repos to
feature/unpark-ellipse-scripts off origin/main under ~/Code/PyAutoLabs-wt/unpark-ellipse-scripts/.
- For each of the five ellipse scripts, run from the worktreed workspace:
cd ~/Code/PyAutoLabs-wt/unpark-ellipse-scripts/autogalaxy_workspace
PYAUTO_TEST_MODE=2 python scripts/ellipse/<name>.py
in this order: simulator.py, fit.py, modeling.py, multipoles.py, database.py.
- For any script that still fails, diagnose and fix. Known candidates flagged in the original prompt:
modeling.py: KeyError on ellipses.0.centre_0 kwargs — likely model-component path drift after the JAX refactor; check Model composition vs. the post-refactor Ellipse class layout.
modeling.py and multipoles.py: timed out under TEST_MODE=1 in the mega-run — TEST_MODE=2 bypasses the sampler more aggressively and may resolve this.
- As each script passes, remove its
- ellipse/<name> # NEEDS_FIX 2026-04-24 … line from autogalaxy_workspace/config/build/no_run.yaml.
- If
ellipse/database passes, also remove the line - ellipse/database # Ellipse model needs refactor and JAX support from the autogalaxy: section of PyAutoBuild/autobuild/config/no_run.yaml.
- Re-run the mega-run via
autogalaxy_workspace/run_all_scripts.sh (or the relevant /smoke_test invocation) and confirm:
- No ellipse entry shows a
NEEDS_FIX banner.
- All five ellipse scripts complete cleanly.
- Ship via
/ship_workspace with cross-reference comment back to this issue.
Key Files
autogalaxy_workspace/config/build/no_run.yaml — remove 5 ellipse/* lines
autogalaxy_workspace/scripts/ellipse/{simulator,fit,modeling,multipoles,database}.py — fix any remaining API drift / xp call-site bugs
PyAutoBuild/autobuild/config/no_run.yaml — possibly remove - ellipse/database line in autogalaxy: section
Original Prompt
Click to expand starting prompt
-
All ellipse example scripts under autogalaxy_workspace/scripts/ellipse/ are currently in
autogalaxy_workspace/config/build/no_run.yaml with a NEEDS_FIX 2026-04-24 marker.
The five entries are:
ellipse/simulator
ellipse/fit
ellipse/modeling
ellipse/multipoles
ellipse/database
They were parked because the ellipse model needs a refactor and JAX support (tracked separately in
PyAutoPrompt/autogalaxy/ellipse_fitting_jax.md). In particular, ellipse/modeling and
ellipse/multipoles time out under PYAUTO_TEST_MODE=1 in the mega-run, and
ellipse/modeling additionally raises a KeyError on ellipses.0.centre_0 kwargs after API drift.
When the JAX refactor lands:
- Try running each ellipse script with
PYAUTO_TEST_MODE=2 first — some may just need the
stronger sampler bypass.
- Remove the five
ellipse/* lines from autogalaxy_workspace/config/build/no_run.yaml.
- If the refactor also unlocks aggregator-style usage, the
ellipse/database entry in
PyAutoBuild/autobuild/config/no_run.yaml (the fallback list) can be removed too.
- Re-run the mega-run (
run_all_script_fix_failures skill in autogalaxy_workspace) to confirm
every ellipse script passes.
Overview
The five ellipse example scripts under
autogalaxy_workspace/scripts/ellipse/(simulator,fit,modeling,multipoles,database) were parked on 2026-04-24 inconfig/build/no_run.yamlpending a JAX refactor of the ellipse code. That refactor has now landed in PyAutoGalaxy via three merged PRs (#408ellipse-xp, #410fit-ellipse-jax, #412analysis-ellipse-jax, all completed 2026-05-14). This task verifies the scripts pass underPYAUTO_TEST_MODE=2, fixes any remaining API drift, and removes theNEEDS_FIXmarkers.Plan
PYAUTO_TEST_MODE=2first — some may simply pass now thanks to the stronger sampler bypass and the refactor.modeling.pywith aKeyErroronellipses.0.centre_0kwargs after API drift, and the previousmultipoles.pytimeout).autogalaxy_workspace/config/build/no_run.yamlonce it passes.ellipse/databasepasses, also remove the fallback entry fromPyAutoBuild/autobuild/config/no_run.yaml(autogalaxy section) so the mega-run no longer skips it.run_all_scripts.shand confirm noNEEDS_FIX 2026-04-24banner remains for any ellipse entry.Detailed implementation plan
Affected Repositories
config/no_run.yaml, only ifellipse/databasepasses)Work Classification
Workspace
Branch Survey
dataset/imaging/*anddataset/interferometer/*— looks like leftover simulator regen artifacts (FITS/JSON/PNG), unrelated to this task. Will be sidestepped by working in a worktree offorigin/main.Suggested branch:
feature/unpark-ellipse-scriptsWorktree root:
~/Code/PyAutoLabs-wt/unpark-ellipse-scripts/(created later by/start_workspace)Implementation Steps
feature/unpark-ellipse-scriptsofforigin/mainunder~/Code/PyAutoLabs-wt/unpark-ellipse-scripts/.simulator.py,fit.py,modeling.py,multipoles.py,database.py.modeling.py:KeyErroronellipses.0.centre_0kwargs — likely model-component path drift after the JAX refactor; checkModelcomposition vs. the post-refactorEllipseclass layout.modeling.pyandmultipoles.py: timed out underTEST_MODE=1in the mega-run —TEST_MODE=2bypasses the sampler more aggressively and may resolve this.- ellipse/<name> # NEEDS_FIX 2026-04-24 …line fromautogalaxy_workspace/config/build/no_run.yaml.ellipse/databasepasses, also remove the line- ellipse/database # Ellipse model needs refactor and JAX supportfrom theautogalaxy:section ofPyAutoBuild/autobuild/config/no_run.yaml.autogalaxy_workspace/run_all_scripts.sh(or the relevant/smoke_testinvocation) and confirm:NEEDS_FIXbanner./ship_workspacewith cross-reference comment back to this issue.Key Files
autogalaxy_workspace/config/build/no_run.yaml— remove 5ellipse/*linesautogalaxy_workspace/scripts/ellipse/{simulator,fit,modeling,multipoles,database}.py— fix any remaining API drift / xp call-site bugsPyAutoBuild/autobuild/config/no_run.yaml— possibly remove- ellipse/databaseline inautogalaxy:sectionOriginal Prompt
Click to expand starting prompt
All ellipse example scripts under
autogalaxy_workspace/scripts/ellipse/are currently inautogalaxy_workspace/config/build/no_run.yamlwith aNEEDS_FIX 2026-04-24marker.The five entries are:
ellipse/simulatorellipse/fitellipse/modelingellipse/multipolesellipse/databaseThey were parked because the ellipse model needs a refactor and JAX support (tracked separately in
PyAutoPrompt/autogalaxy/ellipse_fitting_jax.md). In particular,ellipse/modelingandellipse/multipolestime out underPYAUTO_TEST_MODE=1in the mega-run, andellipse/modelingadditionally raises aKeyErroronellipses.0.centre_0kwargs after API drift.When the JAX refactor lands:
PYAUTO_TEST_MODE=2first — some may just need thestronger sampler bypass.
ellipse/*lines fromautogalaxy_workspace/config/build/no_run.yaml.ellipse/databaseentry inPyAutoBuild/autobuild/config/no_run.yaml(the fallback list) can be removed too.run_all_script_fix_failuresskill inautogalaxy_workspace) to confirmevery ellipse script passes.