Skip to content

feat: PYAUTO_SMALL_DATASETS + canonical auto-sim for the cluster path (un-park cluster smoke) #249

Description

@Jammy2211

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

  1. 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).
  2. 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).
  3. 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.
  4. 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.
  5. 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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions