Overview
config/grids.yaml supplies a radial_minimum: mapping that no code has read since 2025-10-15. The consumer was removed in PyAutoGalaxy 82622f74 "remove grid relocate radial" (2025-04-03) and 025ac7ac "remove relocate_to_radial_minimum" (2025-10-15), and the library default configs (autoarray/config/, autogalaxy/config/) already ship no grids.yaml. Only 10 downstream copies survive, plus three references pointing at them. This issue deletes all of it.
Verified by grep before filing:
radial_minimum → zero .py hits across PyAutoArray, PyAutoGalaxy, PyAutoLens, PyAutoCTI, PyAutoNerves.
radial_minimum → zero hits anywhere under the installed venv (~/venv/PyAuto/lib/python3.12/site-packages).
- No code reads a
"grids" config section — the only "grids" hits are dataset.grids attribute lookups in autoarray/dataset/plot/imaging_plots.py.
Two of the surviving copies are themselves proof nobody reads them: autocti_assistant/config/grids.yaml has the key misspelled radiac_minimum (a clone sed-substitution artifact) with no observable effect, and PyAutoCTI/test_autocti/config/grids.yaml still lists EllipticalSersic / SphericalNFW class names retired years ago plus a dead interpolate: section for mock classes. Per the standing delete the trap, don't document it rule, these are removed rather than corrected.
This was already spot-confirmed once in PyAutoMind/complete/2026/05/external-potential-priors-and-jit.md ("grids.yaml entry skipped — grep confirmed no library code reads radial_minimum … the workspace copies are vestigial") but the files were left in place.
Plan
- Delete the 10 orphan
config/grids.yaml files across the workspaces, HowTo tutorials, assistants, the Euclid pipeline, and the PyAutoCTI test config.
- Drop the stale
grids.yaml bullet from the two library config/README.md files, which document a file their own directory no longer contains.
- Drop the
autocti_assistant/PENDING.md TODO asking a future contributor to curate the now-deleted file.
- Verify the PyAutoCTI suite stays green (its conftest points
conf.instance at the affected config dir), a workspace script still loads, and a final grep sweep returns nothing.
- Land as 3 PRs grouped by repo family — all pure deletions, no ordering dependency between them.
Detailed implementation plan
Work Classification
Both — 12 repos: 9 workspace/tutorial/assistant/pipeline repos, the PyAutoCTI test config, and 2 library README.md files. No source code changes in any repo.
Worktree root
~/Code/PyAutoLabs-wt/defunct-grids-yaml-removal/
Affected Repositories
autolens_workspace (primary)
autogalaxy_workspace
autolens_workspace_test
autogalaxy_workspace_test
HowToLens
HowToGalaxy
autolens_assistant
autocti_assistant
euclid_strong_lens_modeling_pipeline
PyAutoCTI
PyAutoArray
PyAutoGalaxy
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./autolens_workspace |
main |
clean |
| ./autogalaxy_workspace |
main |
clean |
| ./autolens_workspace_test |
main |
clean |
| ./autogalaxy_workspace_test |
main |
clean |
| ./HowToLens |
main |
clean |
| ./HowToGalaxy |
main |
clean |
| ./autolens_assistant |
main |
clean |
| ./autocti_assistant |
main |
clean |
| ./euclid_strong_lens_modeling_pipeline |
main |
1 dirty (test_report.md, unrelated) |
| ./PyAutoCTI |
main |
clean |
| ./PyAutoArray |
main |
clean |
| ./PyAutoGalaxy |
main |
clean |
Suggested branch: feature/defunct-grids-yaml-removal
Implementation Steps
- PR 1 — PyAutoCTI. Delete
test_autocti/config/grids.yaml. Run the PyAutoCTI test suite; that config directory is what the test conftest points conf.instance at, so this is the one deletion with a real (if unlikely) failure mode.
- PR 2 — PyAutoArray + PyAutoGalaxy. Remove the
- \grids.yaml`: Customize default behaviour of grids when used for calculations.bullet atautoarray/config/README.md:11andautogalaxy/config/README.md:11`. Docs-only; no config file is being deleted in these repos because neither ships one any more.
- PR 3 — the 8 downstream repos. Delete
config/grids.yaml from autolens_workspace, autogalaxy_workspace, autolens_workspace_test, autogalaxy_workspace_test, HowToLens, HowToGalaxy, autolens_assistant, autocti_assistant, and euclid_strong_lens_modeling_pipeline (9 files), and remove the review \config/grids.yaml`TODO atautocti_assistant/PENDING.md:303`.
- Verify.
PYAUTO_SKIP_WORKSPACE_VERSION_CHECK=1 load of an affected workspace script; PyAutoCTI suite green; final grep -rn "grids.yaml\|radial_minimum\|radiac_minimum" across the workspace returns nothing outside .git/ and the PyAutoMind historical records.
Key Files
<repo>/config/grids.yaml × 9 — the orphan copies (autolens_workspace, autogalaxy_workspace, autolens_workspace_test, autogalaxy_workspace_test, HowToLens, HowToGalaxy, autolens_assistant, autocti_assistant, euclid_strong_lens_modeling_pipeline)
PyAutoCTI/test_autocti/config/grids.yaml — the 10th, and the most stale
PyAutoArray/autoarray/config/README.md:11 — documents a file the directory does not contain
PyAutoGalaxy/autogalaxy/config/README.md:11 — same
autocti_assistant/PENDING.md:303 — TODO to curate the deleted file
Out of scope
- Other config drift. The sibling prompt
draft/maintenance/workspaces/config_key_mirror_drift.md covers keys the workspace configs are missing; this issue only removes an orphan file.
- Reinstating
radial_minimum behaviour. If profiles need a radial floor again, that is a library feature, not a config restore.
Recorded decisions
(a) Brain Feature Agent verdict overridden — human approval 2026-07-23. pyauto-brain feature returned too-large (score 32) with split-into-phases into four phases (design / core_api / workspace_examples / docs), plus risk notes about library↔workspace API coordination and "scientific/architectural ambiguity". The score is repo-count-driven; this task is 13 pure file deletions with no API surface, no design decision, and no scientific content, so the phase split and the API-change-summary handoff do not apply. Override approved by the user.
(b) Heart RED commit/push/PR-open block overridden — direct human authorization 2026-07-23. Heart is RED (score 0) with the reason 33 stale parked script(s), which is unrelated to this diff. This is not the AUTONOMY.md corrective-PR exception — this diff repairs no RED reason. It is a contemporaneous, task-specific human authorization to commit, push and open PRs while Heart is RED. It does not extend to any other task or to merging, and release stays blocked until the RED reason is cleared on its own terms.
(c) Concurrent claim — approved 2026-07-23. worktree_check_conflict reports 8 of these repos claimed by the parked task rename-autobuild-to-autohands (parked at its ship gate on Heart RED, nothing committed) and PyAutoCTI claimed by testmode-env-drift (PRs open awaiting merge). File-level overlap was checked in both worktrees and is zero — neither task touches config/grids.yaml, config/README.md, or PENDING.md. Running concurrently was approved, following the precedent of blackjax-smc-gradient-kernel running alongside a parked claim on disjoint files.
Original Prompt
Click to expand starting prompt
# Delete the defunct grids.yaml config across every workspace
Type: maintenance
Target: workspaces
Repos:
- autolens_workspace
- autogalaxy_workspace
- autolens_workspace_test
- autogalaxy_workspace_test
- HowToLens
- HowToGalaxy
- autolens_assistant
- autocti_assistant
- euclid_strong_lens_modeling_pipeline
- PyAutoCTI
- PyAutoArray
- PyAutoGalaxy
Difficulty: small
Autonomy: supervised
Priority: normal
Status: formalised
## Original request (verbatim)
> Is [grids.yaml](../autogalaxy_workspace/config/grids.yaml) throughout all
> workspaces defunct? and howto etc defunct?
>
> — and, on confirming it is: "yes go" (delete the files, the two library
> `config/README.md` lines, and the `autocti_assistant/PENDING.md` TODO).
## Why
`config/grids.yaml` supplies a `radial_minimum:` mapping that no code has read
since PyAutoGalaxy `025ac7ac` "remove relocate_to_radial_minimum"
(2025-10-15), which followed `82622f74` "remove grid relocate radial"
(2025-04-03). Verified by grep:
- `radial_minimum` appears in **zero** `.py` files across PyAutoArray,
PyAutoGalaxy, PyAutoLens, PyAutoCTI, PyAutoNerves.
- `radial_minimum` appears in **zero** files under the installed venv
(`~/venv/PyAuto/lib/python3.12/site-packages`).
- Nothing reads a `"grids"` config section (the only `"grids"` hits are
`dataset.grids` attribute lookups in `autoarray/dataset/plot/imaging_plots.py`).
- The library default configs (`PyAutoArray/autoarray/config/`,
`PyAutoGalaxy/autogalaxy/config/`) already ship **no** `grids.yaml` — only
the downstream copies survive.
This was already spot-confirmed once in
`PyAutoMind/complete/2026/05/external-potential-priors-and-jit.md`
("grids.yaml entry skipped — grep confirmed no library code reads
`radial_minimum` … the workspace copies are vestigial"), but the files were
left in place. Two of them prove nobody reads them:
- `autocti_assistant/config/grids.yaml` has the key misspelled
`radiac_minimum` (a clone sed-substitution artifact) with no effect.
- `PyAutoCTI/test_autocti/config/grids.yaml` still lists `EllipticalSersic` /
`SphericalNFW` class names retired years ago, plus a dead `interpolate:`
section for mock classes.
Per the standing "delete the trap, don't document it" rule, the right move is
removal, not fixing the typo or refreshing the class names.
## Scope
Delete (10 files):
- `autolens_workspace/config/grids.yaml`
- `autogalaxy_workspace/config/grids.yaml`
- `autolens_workspace_test/config/grids.yaml`
- `autogalaxy_workspace_test/config/grids.yaml`
- `HowToLens/config/grids.yaml`
- `HowToGalaxy/config/grids.yaml`
- `autolens_assistant/config/grids.yaml`
- `autocti_assistant/config/grids.yaml`
- `euclid_strong_lens_modeling_pipeline/config/grids.yaml`
- `PyAutoCTI/test_autocti/config/grids.yaml`
Also remove the stale references that point at a file which will no longer
exist (and, for the two library READMEs, already does not exist in the
directory they document):
- `PyAutoArray/autoarray/config/README.md:11` — the `grids.yaml` bullet
- `PyAutoGalaxy/autogalaxy/config/README.md:11` — the `grids.yaml` bullet
- `autocti_assistant/PENDING.md:303` — the "review `config/grids.yaml`" TODO
Then re-grep the whole workspace for `grids.yaml` / `radial_minimum` /
`radiac_minimum` and confirm zero hits remain outside `.git/` and the Mind
historical records.
## Out of scope
- Any *other* config-file drift. The sibling prompt
`draft/maintenance/workspaces/config_key_mirror_drift.md` covers keys the
workspace configs are *missing*; this one only removes an orphan file.
- Reinstating `radial_minimum` behaviour. If profiles need a radial floor
again that is a library feature, not a config restore.
## Verify
- `PYAUTO_SKIP_WORKSPACE_VERSION_CHECK=1` load of an affected workspace script
(e.g. an `autolens_workspace` start_here) still runs — no missing-config error.
- PyAutoCTI test suite green after `test_autocti/config/grids.yaml` is deleted
(that config dir is the one the test conftest points `conf.instance` at).
- Grep sweep clean, as above.
Overview
config/grids.yamlsupplies aradial_minimum:mapping that no code has read since 2025-10-15. The consumer was removed in PyAutoGalaxy82622f74"remove grid relocate radial" (2025-04-03) and025ac7ac"remove relocate_to_radial_minimum" (2025-10-15), and the library default configs (autoarray/config/,autogalaxy/config/) already ship nogrids.yaml. Only 10 downstream copies survive, plus three references pointing at them. This issue deletes all of it.Verified by grep before filing:
radial_minimum→ zero.pyhits across PyAutoArray, PyAutoGalaxy, PyAutoLens, PyAutoCTI, PyAutoNerves.radial_minimum→ zero hits anywhere under the installed venv (~/venv/PyAuto/lib/python3.12/site-packages)."grids"config section — the only"grids"hits aredataset.gridsattribute lookups inautoarray/dataset/plot/imaging_plots.py.Two of the surviving copies are themselves proof nobody reads them:
autocti_assistant/config/grids.yamlhas the key misspelledradiac_minimum(a clone sed-substitution artifact) with no observable effect, andPyAutoCTI/test_autocti/config/grids.yamlstill listsEllipticalSersic/SphericalNFWclass names retired years ago plus a deadinterpolate:section for mock classes. Per the standing delete the trap, don't document it rule, these are removed rather than corrected.This was already spot-confirmed once in
PyAutoMind/complete/2026/05/external-potential-priors-and-jit.md("grids.yaml entry skipped — grep confirmed no library code readsradial_minimum… the workspace copies are vestigial") but the files were left in place.Plan
config/grids.yamlfiles across the workspaces, HowTo tutorials, assistants, the Euclid pipeline, and the PyAutoCTI test config.grids.yamlbullet from the two libraryconfig/README.mdfiles, which document a file their own directory no longer contains.autocti_assistant/PENDING.mdTODO asking a future contributor to curate the now-deleted file.conf.instanceat the affected config dir), a workspace script still loads, and a final grep sweep returns nothing.Detailed implementation plan
Work Classification
Both — 12 repos: 9 workspace/tutorial/assistant/pipeline repos, the PyAutoCTI test config, and 2 library
README.mdfiles. No source code changes in any repo.Worktree root
~/Code/PyAutoLabs-wt/defunct-grids-yaml-removal/Affected Repositories
autolens_workspace(primary)autogalaxy_workspaceautolens_workspace_testautogalaxy_workspace_testHowToLensHowToGalaxyautolens_assistantautocti_assistanteuclid_strong_lens_modeling_pipelinePyAutoCTIPyAutoArrayPyAutoGalaxyBranch Survey
test_report.md, unrelated)Suggested branch:
feature/defunct-grids-yaml-removalImplementation Steps
test_autocti/config/grids.yaml. Run the PyAutoCTI test suite; that config directory is what the test conftest pointsconf.instanceat, so this is the one deletion with a real (if unlikely) failure mode.- \grids.yaml`: Customize default behaviour of grids when used for calculations.bullet atautoarray/config/README.md:11andautogalaxy/config/README.md:11`. Docs-only; no config file is being deleted in these repos because neither ships one any more.config/grids.yamlfromautolens_workspace,autogalaxy_workspace,autolens_workspace_test,autogalaxy_workspace_test,HowToLens,HowToGalaxy,autolens_assistant,autocti_assistant, andeuclid_strong_lens_modeling_pipeline(9 files), and remove thereview \config/grids.yaml`TODO atautocti_assistant/PENDING.md:303`.PYAUTO_SKIP_WORKSPACE_VERSION_CHECK=1load of an affected workspace script; PyAutoCTI suite green; finalgrep -rn "grids.yaml\|radial_minimum\|radiac_minimum"across the workspace returns nothing outside.git/and the PyAutoMind historical records.Key Files
<repo>/config/grids.yaml× 9 — the orphan copies (autolens_workspace,autogalaxy_workspace,autolens_workspace_test,autogalaxy_workspace_test,HowToLens,HowToGalaxy,autolens_assistant,autocti_assistant,euclid_strong_lens_modeling_pipeline)PyAutoCTI/test_autocti/config/grids.yaml— the 10th, and the most stalePyAutoArray/autoarray/config/README.md:11— documents a file the directory does not containPyAutoGalaxy/autogalaxy/config/README.md:11— sameautocti_assistant/PENDING.md:303— TODO to curate the deleted fileOut of scope
draft/maintenance/workspaces/config_key_mirror_drift.mdcovers keys the workspace configs are missing; this issue only removes an orphan file.radial_minimumbehaviour. If profiles need a radial floor again, that is a library feature, not a config restore.Recorded decisions
(a) Brain Feature Agent verdict overridden — human approval 2026-07-23.
pyauto-brain featurereturnedtoo-large (score 32)withsplit-into-phasesinto four phases (design / core_api / workspace_examples / docs), plus risk notes about library↔workspace API coordination and "scientific/architectural ambiguity". The score is repo-count-driven; this task is 13 pure file deletions with no API surface, no design decision, and no scientific content, so the phase split and the API-change-summary handoff do not apply. Override approved by the user.(b) Heart RED commit/push/PR-open block overridden — direct human authorization 2026-07-23. Heart is RED (score 0) with the reason
33 stale parked script(s), which is unrelated to this diff. This is not theAUTONOMY.mdcorrective-PR exception — this diff repairs no RED reason. It is a contemporaneous, task-specific human authorization to commit, push and open PRs while Heart is RED. It does not extend to any other task or to merging, and release stays blocked until the RED reason is cleared on its own terms.(c) Concurrent claim — approved 2026-07-23.
worktree_check_conflictreports 8 of these repos claimed by the parked taskrename-autobuild-to-autohands(parked at its ship gate on Heart RED, nothing committed) andPyAutoCTIclaimed bytestmode-env-drift(PRs open awaiting merge). File-level overlap was checked in both worktrees and is zero — neither task touchesconfig/grids.yaml,config/README.md, orPENDING.md. Running concurrently was approved, following the precedent ofblackjax-smc-gradient-kernelrunning alongside a parked claim on disjoint files.Original Prompt
Click to expand starting prompt