Overview
autogalaxy_workspace_test is currently very sparse — only scripts/aggregator/ exists, and there
is no GitHub Actions CI. This epic tracks nine discrete sub-tasks that together bring it up to the
coverage autolens_workspace_test already provides: a smoke-test CI, model_composition/,
jax_likelihood_functions/{imaging,interferometer,multi}/, jax_grad/{imaging,interferometer,multi}/,
and a minimal imaging/ suite. Each sub-task has a prompt file in
admin_jammy/prompt/autogalaxy/ and ships as its own PR.
Sub-tasks
Key cross-cutting risk
Tasks 3–9 depend on pytree registration on PyAutoGalaxy's analysis classes. Today,
autogalaxy/imaging/model/analysis.py and autogalaxy/interferometer/model/analysis.py have
no _register_fit_imaging_pytrees / equivalent — autolens has these, autogalaxy does not.
The JAX sub-tasks will need library PRs on PyAutoGalaxy before their workspace PRs can land.
Each sub-prompt flags this as a spawn-off.
Exclusions across all sub-tasks: no *_dspl.py ports (double-source-plane is lens-specific).
Original prompt
Click to expand starting prompt
The autogalaxy_workspace_test is very light compared to autolens_workspacd_test in terms of its script
and it does not have a .github actions continuous integration. Therefore, plan the following work as a series
of prompts in this folder, run them one after another as seaprate agent tasks:
- Set up contiuous integration server on autogalaxy_workspace_test
- Set up folder `scripts/model_composition` and set up autogalaxy version of existing scripts.
- Set up folder `scripts/jax_likelihood_functions/imaging` and set up autogalaxy versions of all examples (dont do dspl). This will likely require some spawn-off tasks which do pytree registration so make sure this prompt looks at our recent pytree work).
- Do same for `scripts/jax_likelihood_functions/interferometer`.
- Do same for `scripts/jax_likelihood_functions/multi`.
- Set up folder `scripts/jax_grad/imaging` and set up autogalaxy versions of all examples (dont do dspl). This will likely require some spawn-off tasks which do pytree registration so make sure this prompt looks at our recent pytree work).
- Do same for `scripts/jax_grad/interferometer`.
- Do same for `scripts/jax_grad/multi`.
- Set up a `scripts/imaging` folder like autolens_workspace_test's, but only include model_fit.py, modeling_visualization_jit.py, visualization.py, visualization_jax.py
Overview
autogalaxy_workspace_test is currently very sparse — only
scripts/aggregator/exists, and thereis no GitHub Actions CI. This epic tracks nine discrete sub-tasks that together bring it up to the
coverage autolens_workspace_test already provides: a smoke-test CI,
model_composition/,jax_likelihood_functions/{imaging,interferometer,multi}/,jax_grad/{imaging,interferometer,multi}/,and a minimal
imaging/suite. Each sub-task has a prompt file inadmin_jammy/prompt/autogalaxy/and ships as its own PR.Sub-tasks
admin_jammy/prompt/autogalaxy/autogalaxy_workspace_test_ci.mdscripts/model_composition/—autogalaxy_workspace_test_model_composition.md(shipped via PR feat: scripts/model_composition/multi_galaxy_mge.py port (task 2/9) #27)scripts/jax_likelihood_functions/imaging/—autogalaxy_workspace_test_jax_likelihood_imaging.md(includes PyAutoGalaxy pytree registration scaffold)scripts/jax_likelihood_functions/interferometer/—autogalaxy_workspace_test_jax_likelihood_interferometer.md(shipped via PR feat: jax_likelihood_functions/interferometer/ port #17)scripts/jax_likelihood_functions/multi/—autogalaxy_workspace_test_jax_likelihood_multi.md(shipped via PR feat: jax_likelihood_functions/multi/ port #19)scripts/jax_grad/imaging/—autogalaxy_workspace_test_jax_grad_imaging.md(shipped via PR feat: scripts/jax_grad/imaging/ — lp.py + mge.py port (task 6/9) #29)scripts/jax_grad/interferometer/—autogalaxy_workspace_test_jax_grad_interferometer.md(shipped via PR feat: scripts/jax_grad/interferometer/ — lp.py + mge.py from scratch (task 7/9) #31)scripts/jax_grad/multi/—autogalaxy_workspace_test_jax_grad_multi.md(shipped via PR feat: scripts/jax_grad/multi/ — lp.py + mge.py from scratch (task 8/9, epic-final) #33)scripts/imaging/(model_fit + 3 visualization scripts) —autogalaxy_workspace_test_imaging.md(shipped via PR feat: scripts/imaging/ — model_fit + visualization + JIT visualizer scripts #11)Key cross-cutting risk
Tasks 3–9 depend on pytree registration on PyAutoGalaxy's analysis classes. Today,
autogalaxy/imaging/model/analysis.pyandautogalaxy/interferometer/model/analysis.pyhaveno
_register_fit_imaging_pytrees/ equivalent — autolens has these, autogalaxy does not.The JAX sub-tasks will need library PRs on PyAutoGalaxy before their workspace PRs can land.
Each sub-prompt flags this as a spawn-off.
Exclusions across all sub-tasks: no
*_dspl.pyports (double-source-plane is lens-specific).Original prompt
Click to expand starting prompt
The autogalaxy_workspace_test is very light compared to autolens_workspacd_test in terms of its script
and it does not have a .github actions continuous integration. Therefore, plan the following work as a series
of prompts in this folder, run them one after another as seaprate agent tasks: