Overview
Completes PyAutoMind feature/cluster/11_small_datasets_cluster.md (final filed item of the cluster home straight). PYAUTO_SMALL_DATASETS support exists in the libraries (PointSolver short-circuit; PyAutoArray 15×15 grid/mask caps + should_simulate delete-and-regenerate) but never reaches the cluster scripts: PyAutoBuild env_vars.yaml has no cluster entries, the scripts use hand-rolled dataset guards instead of al.util.dataset.should_simulate, and cluster/start_here.py + cluster/modeling.py are parked in no_run.yaml ("test mode breaks it"; control-verified >500 s even on main).
Success criterion: un-park both cluster scripts from no_run.yaml with a timed CI-green fast-mode run.
Autonomy: supervised --auto ("continue --auto" 2026-07-09; heart-ack carried).
Plan
- Diagnose: time
cluster/start_here.py / modeling.py solo under PYAUTO_TEST_MODE=2 PYAUTO_SMALL_DATASETS=1 PYAUTO_FAST_PLOTS=1; identify what stays slow (suspects: simulator auto-regeneration incl. PointSolver JIT compile + full-res imaging leg; per-plane visualization).
- Fix the small-mode path: ensure the simulator honours small-mode end to end (small imaging grid or skipped imaging leg; solver short-circuit already exists), tracing full call paths (the known decorator-mutation footgun).
- Canonical auto-sim (user direction): migrate the cluster scripts' hand-rolled existence checks to
al.util.dataset.should_simulate (mirroring imaging and the in-flight weak twin, PyAutoLens#581); lenstool/data.py keeps download caching but gates the 96 MB mosaic leg off under small-mode.
- Wire CI: add cluster entries to PyAutoBuild
config/build/env_vars.yaml (overrides in yaml, never os.environ mutation); remove the two no_run.yaml lines; evidence run.
- Smoke-set promotion of the lenstool scripts only if genuinely fast (small curated subset rule).
Affected Repositories
- autolens_workspace (primary; parallel to weak-strong-lensing + the frozen point-pairing-policies guide claim — scripts/cluster/ disjoint from both; navigator catalogue regen will need a rebase by whichever of the three open branches merges last)
- PyAutoBuild (env_vars.yaml + no_run.yaml; unclaimed)
- PyAutoArray / PyAutoLens only if a small-mode gap requires it (none expected)
Branch: feature/cluster-small-datasets · Worktree: ~/Code/PyAutoLabs-wt/cluster-small-datasets/
Original Prompt
Click to expand
$(cat PyAutoMind/feature/cluster/11_small_datasets_cluster.md)
Overview
Completes PyAutoMind
feature/cluster/11_small_datasets_cluster.md(final filed item of the cluster home straight). PYAUTO_SMALL_DATASETS support exists in the libraries (PointSolver short-circuit; PyAutoArray 15×15 grid/mask caps + should_simulate delete-and-regenerate) but never reaches the cluster scripts: PyAutoBuildenv_vars.yamlhas no cluster entries, the scripts use hand-rolled dataset guards instead ofal.util.dataset.should_simulate, andcluster/start_here.py+cluster/modeling.pyare parked inno_run.yaml("test mode breaks it"; control-verified >500 s even on main).Success criterion: un-park both cluster scripts from
no_run.yamlwith a timed CI-green fast-mode run.Autonomy: supervised
--auto("continue --auto" 2026-07-09; heart-ack carried).Plan
cluster/start_here.py/modeling.pysolo underPYAUTO_TEST_MODE=2 PYAUTO_SMALL_DATASETS=1 PYAUTO_FAST_PLOTS=1; identify what stays slow (suspects: simulator auto-regeneration incl. PointSolver JIT compile + full-res imaging leg; per-plane visualization).al.util.dataset.should_simulate(mirroring imaging and the in-flight weak twin, PyAutoLens#581);lenstool/data.pykeeps download caching but gates the 96 MB mosaic leg off under small-mode.config/build/env_vars.yaml(overrides in yaml, never os.environ mutation); remove the twono_run.yamllines; evidence run.Affected Repositories
Branch:
feature/cluster-small-datasets· Worktree:~/Code/PyAutoLabs-wt/cluster-small-datasets/Original Prompt
Click to expand
$(cat PyAutoMind/feature/cluster/11_small_datasets_cluster.md)