Overview
The 2026-08-19 hygiene refs scan found 18 folder-list defects in workspace/HowTo prose. Adjudication against the repos the prose actually names reduced this to 12 real defects (4 dead-reference lines + 8 undocumented README folder entries) across 5 repos; 6 findings are scanner sibling-repo false positives (targets exist in autolens_workspace) and need no edit. Prose-only — no code path, output, or public API changes.
Plan
- Fix the two
autoCTI_workspace/output casing references in autocti_workspace modeling start_here scripts.
- Re-point
howtolens/dataset/cluster/simple to dataset/cluster/simple (×2) in HowToLens simulator/cluster.py, matching sibling simulator prose.
- Add the 8 missing README folder-list entries (autofit, autogalaxy ×5, HowToGalaxy, HowToLens), each sourced from the target folder's own README or script docstrings — never inferred from the folder name.
- Leave the 6 adjudicated false positives untouched (valid cross-repo references into
autolens_workspace).
- Regenerate notebook twins only where the repo's own AGENTS.md requires it; verify with a hygiene refs re-scan.
Detailed implementation plan
Affected Repositories
- autogalaxy_workspace (primary)
- autocti_workspace
- autofit_workspace
- HowToGalaxy
- HowToLens
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./autocti_workspace |
main |
clean |
| ./autofit_workspace |
main |
clean |
| ./autogalaxy_workspace |
main |
clean |
| ./HowToGalaxy |
main |
clean |
| ./HowToLens |
main |
clean |
No worktree claims or conflicts (worktree_check_conflict exit 0). One unregistered stray local branch in autogalaxy_workspace (feature/stored-sample-reconstruction-guard) — pre-existing, not a conflict.
Suggested branch: feature/folder-list-ref-drift-sweep
Worktree root: ~/Code/PyAutoLabs-wt/folder-list-ref-drift-sweep/
Work Classification: Workspace
Implementation Steps
- autocti_workspace —
scripts/dataset_1d/modeling/start_here.py:363 and scripts/imaging_ci/modeling/start_here.py:387: change `autoCTI_workspace/output` → `autocti_workspace/output` (the lowercase form used everywhere else in the repo's prose). AGENTS.md says notebook regeneration is release-time — script-only PR.
- HowToLens —
scripts/simulator/cluster.py:77 and :528: change `howtolens/dataset/cluster/simple` → `dataset/cluster/simple` (script writes Path("dataset", "cluster", "simple"); siblings group.py/interferometer.py/weak_lensing.py use the bare repo-relative form).
- README folder-list entries (source each description from the folder's own README/docstring):
- autofit_workspace
scripts/README.md: add cookbooks/
- autogalaxy_workspace
scripts/guides/results/README.md: add aggregator/, workflow/
- autogalaxy_workspace
scripts/imaging/data_preparation/README.md: add gui/, manual/
- autogalaxy_workspace
scripts/imaging/features/README.md: add point_source/
- HowToGalaxy
scripts/README.md: add simulators/
- HowToLens
scripts/README.md: add simulator/
- Do NOT edit (adjudicated false positives, correct as written):
- HowToLens
tutorial_3_scaling_relation.py:575 imaging/features/scaling_relation — exists in autolens_workspace/scripts/imaging/features/scaling_relation/
- HowToLens
tutorial_6_weak_lensing.py:412-415 weak/{start_here,fit,modeling,simulator,likelihood_function}.py — all exist under autolens_workspace/scripts/weak/ (same adjudication as the 2026-08-06 hygiene pass)
- Notebook twins: before each repo's PR, read that repo's AGENTS.md "Notebooks vs Scripts" section; where regeneration-with-PR is required, run PyAutoHands
generate.py from inside the workspace and commit only the touched scripts' twins.
- Witness: re-run
PyAutoBrain/bin/pyauto-brain hygiene refs — the 12 real findings clear, no new ones; the 6 sibling-repo false positives remain until the scanner learns cross-repo resolution. .py diffs must touch only triple-quoted docstring prose.
Key Files
autocti_workspace/scripts/dataset_1d/modeling/start_here.py — casing fix
autocti_workspace/scripts/imaging_ci/modeling/start_here.py — casing fix
HowToLens/scripts/simulator/cluster.py — dataset-path re-point ×2
autofit_workspace/scripts/README.md, autogalaxy_workspace/scripts/guides/results/README.md, autogalaxy_workspace/scripts/imaging/data_preparation/README.md, autogalaxy_workspace/scripts/imaging/features/README.md, HowToGalaxy/scripts/README.md, HowToLens/scripts/README.md — missing folder entries
Original Prompt
Click to expand starting prompt
Fix folder-list drift in workspace/HowTo prose (hygiene refs sweep)
Type: refactor
Target: workspaces
Repos:
- autocti_workspace
- autofit_workspace
- autogalaxy_workspace
- HowToGalaxy
- HowToLens
Difficulty: easy
Autonomy: safe
Priority: low
Status: formalised
The 2026-08-19 hygiene refs scan found 18 folder-list defects (10 dead
references, 8 undocumented folders) in 11 files across 5 repos. Prose-only:
no code path, output, or public API changes.
Dead references — adjudicated 2026-08-19 (each -> finding judged against the
repo the surrounding sentence names, per the known sibling-repo false-positive
mode of the scanner):
REAL (fix):
- @autocti_workspace
scripts/dataset_1d/modeling/start_here.py:363 and
scripts/imaging_ci/modeling/start_here.py:387: autoCTI_workspace/output
-> autocti_workspace/output (casing drift; the lowercase form is the one
used everywhere else in the repo's prose).
- @HowToLens
scripts/simulator/cluster.py:77 and :528:
howtolens/dataset/cluster/simple -> dataset/cluster/simple (the script
writes to Path("dataset", "cluster", "simple"); sibling simulators
group.py/interferometer.py/weak_lensing.py all use the bare
repo-relative form).
FALSE POSITIVES (no edit — correct as written, targets exist in
autolens_workspace which the prose names explicitly):
- @HowToLens
tutorial_3_scaling_relation.py:575 imaging/features/scaling_relation
(exists: autolens_workspace/scripts/imaging/features/scaling_relation/).
- @HowToLens
tutorial_6_weak_lensing.py:412-415 weak/{start_here,fit,modeling,simulator,likelihood_function}.py
(all exist under autolens_workspace/scripts/weak/; same adjudication as the
2026-08-06 hygiene pass).
Undocumented folders (!! = folder exists, its README folder list never names
it; the fix is a new entry describing it, sourced from that folder's own README
or a script docstring — never inferred from the folder name):
- @autofit_workspace
scripts/README.md !! cookbooks/
- @autogalaxy_workspace
scripts/guides/results/README.md !! aggregator/, workflow/
- @autogalaxy_workspace
scripts/imaging/data_preparation/README.md !! gui/, manual/
- @autogalaxy_workspace
scripts/imaging/features/README.md !! point_source/
- @howtogalaxy
scripts/README.md !! simulators/
- @HowToLens
scripts/README.md !! simulator/
Behaviour-preservation invariant: .py edits touch only module-level
triple-quoted docstring prose (and README.md files); regenerated notebooks
must show prose-cell diffs only. Witness: re-run
PyAutoBrain/bin/pyauto-brain hygiene refs — the 12 real findings clear and no
new ones appear (the 6 sibling-repo false positives above will still be
reported by the scanner until it learns cross-repo resolution); smoke legs for
the touched scripts stay green. Notebook-regen convention is per-workspace —
check each repo's own AGENTS.md before opening its PR.
Overview
The 2026-08-19
hygiene refsscan found 18 folder-list defects in workspace/HowTo prose. Adjudication against the repos the prose actually names reduced this to 12 real defects (4 dead-reference lines + 8 undocumented README folder entries) across 5 repos; 6 findings are scanner sibling-repo false positives (targets exist inautolens_workspace) and need no edit. Prose-only — no code path, output, or public API changes.Plan
autoCTI_workspace/outputcasing references in autocti_workspace modelingstart_herescripts.howtolens/dataset/cluster/simpletodataset/cluster/simple(×2) in HowToLenssimulator/cluster.py, matching sibling simulator prose.autolens_workspace).Detailed implementation plan
Affected Repositories
Branch Survey
No worktree claims or conflicts (
worktree_check_conflictexit 0). One unregistered stray local branch in autogalaxy_workspace (feature/stored-sample-reconstruction-guard) — pre-existing, not a conflict.Suggested branch:
feature/folder-list-ref-drift-sweepWorktree root:
~/Code/PyAutoLabs-wt/folder-list-ref-drift-sweep/Work Classification: Workspace
Implementation Steps
scripts/dataset_1d/modeling/start_here.py:363andscripts/imaging_ci/modeling/start_here.py:387: change`autoCTI_workspace/output`→`autocti_workspace/output`(the lowercase form used everywhere else in the repo's prose). AGENTS.md says notebook regeneration is release-time — script-only PR.scripts/simulator/cluster.py:77and:528: change`howtolens/dataset/cluster/simple`→`dataset/cluster/simple`(script writesPath("dataset", "cluster", "simple"); siblingsgroup.py/interferometer.py/weak_lensing.pyuse the bare repo-relative form).scripts/README.md: addcookbooks/scripts/guides/results/README.md: addaggregator/,workflow/scripts/imaging/data_preparation/README.md: addgui/,manual/scripts/imaging/features/README.md: addpoint_source/scripts/README.md: addsimulators/scripts/README.md: addsimulator/tutorial_3_scaling_relation.py:575imaging/features/scaling_relation— exists inautolens_workspace/scripts/imaging/features/scaling_relation/tutorial_6_weak_lensing.py:412-415weak/{start_here,fit,modeling,simulator,likelihood_function}.py— all exist underautolens_workspace/scripts/weak/(same adjudication as the 2026-08-06 hygiene pass)generate.pyfrom inside the workspace and commit only the touched scripts' twins.PyAutoBrain/bin/pyauto-brain hygiene refs— the 12 real findings clear, no new ones; the 6 sibling-repo false positives remain until the scanner learns cross-repo resolution..pydiffs must touch only triple-quoted docstring prose.Key Files
autocti_workspace/scripts/dataset_1d/modeling/start_here.py— casing fixautocti_workspace/scripts/imaging_ci/modeling/start_here.py— casing fixHowToLens/scripts/simulator/cluster.py— dataset-path re-point ×2autofit_workspace/scripts/README.md,autogalaxy_workspace/scripts/guides/results/README.md,autogalaxy_workspace/scripts/imaging/data_preparation/README.md,autogalaxy_workspace/scripts/imaging/features/README.md,HowToGalaxy/scripts/README.md,HowToLens/scripts/README.md— missing folder entriesOriginal Prompt
Click to expand starting prompt
Fix folder-list drift in workspace/HowTo prose (hygiene refs sweep)
Type: refactor
Target: workspaces
Repos:
Difficulty: easy
Autonomy: safe
Priority: low
Status: formalised
The 2026-08-19
hygiene refsscan found 18 folder-list defects (10 deadreferences, 8 undocumented folders) in 11 files across 5 repos. Prose-only:
no code path, output, or public API changes.
Dead references — adjudicated 2026-08-19 (each
->finding judged against therepo the surrounding sentence names, per the known sibling-repo false-positive
mode of the scanner):
REAL (fix):
scripts/dataset_1d/modeling/start_here.py:363andscripts/imaging_ci/modeling/start_here.py:387:autoCTI_workspace/output->
autocti_workspace/output(casing drift; the lowercase form is the oneused everywhere else in the repo's prose).
scripts/simulator/cluster.py:77and:528:howtolens/dataset/cluster/simple->dataset/cluster/simple(the scriptwrites to
Path("dataset", "cluster", "simple"); sibling simulatorsgroup.py/interferometer.py/weak_lensing.pyall use the barerepo-relative form).
FALSE POSITIVES (no edit — correct as written, targets exist in
autolens_workspace which the prose names explicitly):
tutorial_3_scaling_relation.py:575imaging/features/scaling_relation(exists:
autolens_workspace/scripts/imaging/features/scaling_relation/).tutorial_6_weak_lensing.py:412-415weak/{start_here,fit,modeling,simulator,likelihood_function}.py(all exist under
autolens_workspace/scripts/weak/; same adjudication as the2026-08-06 hygiene pass).
Undocumented folders (
!!= folder exists, its README folder list never namesit; the fix is a new entry describing it, sourced from that folder's own README
or a script docstring — never inferred from the folder name):
scripts/README.md!!cookbooks/scripts/guides/results/README.md!!aggregator/,workflow/scripts/imaging/data_preparation/README.md!!gui/,manual/scripts/imaging/features/README.md!!point_source/scripts/README.md!!simulators/scripts/README.md!!simulator/Behaviour-preservation invariant:
.pyedits touch only module-leveltriple-quoted docstring prose (and
README.mdfiles); regenerated notebooksmust show prose-cell diffs only. Witness: re-run
PyAutoBrain/bin/pyauto-brain hygiene refs— the 12 real findings clear and nonew ones appear (the 6 sibling-repo false positives above will still be
reported by the scanner until it learns cross-repo resolution); smoke legs for
the touched scripts stay green. Notebook-regen convention is per-workspace —
check each repo's own AGENTS.md before opening its PR.