Overview
Per-repo slice 1/3 of howto_validation_needs_simulator_stage (Build#155 Phase 2, fork (b)). Goal: every HowToLens tutorial runs under PYAUTO_SMALL_DATASETS=1 so smoke/CI stays fast — moving off the howtolens/ unset:[PYAUTO_SMALL_DATASETS] workaround.
Evidence (2026-07-21)
Ran all 34 HowToLens tutorials with SMALL_DATASETS=1 kept on: 30 PASS, zero size mismatches. Blockers are only: tutorial_0_visualization + tutorial_7_fitting (missing should_simulate guard → FileNotFound), tutorial_5_borders (mask-overlap edge case), tutorial_10 (already SLOW-parked, perf). dataset/ is gitignored (nothing committed); simulators honor the cap.
Plan
- Add
al.util.dataset.should_simulate(str(dataset_path)) guards for every currently-unguarded distinct dataset load (tutorial_0; tutorial_7 2nd load; audit multi-load files ch2 t6, ch3 t3, ch4 t3/t5/t6 — a same-path reload needs no extra guard).
- Migrate existing raw
if not dataset_path.exists(): → should_simulate (so the flag re-simulates instead of loading stale full-res data).
- Remove the
howtolens/ (and guides/ if applicable) unset:[PYAUTO_SMALL_DATASETS] override in config/build/env_vars.yaml.
- Look at
tutorial_5_borders mask-overlap under 16×16 (may need a small tutorial-side fix).
- Verify:
rm -rf dataset/ then run_all.py howtolens (SMALL_DATASETS on) → all pass first-time. Regenerate notebooks + navigator. Restore any churned dataset/*.json before committing.
Only edit scripts/, never notebooks/ (regenerated). Do NOT restore committed datasets (#126). HowToLens sims live in scripts/simulator/ (singular).
Prompt: PyAutoMind/active/howto_should_simulate_howtolens.md.
Overview
Per-repo slice 1/3 of
howto_validation_needs_simulator_stage(Build#155 Phase 2, fork (b)). Goal: every HowToLens tutorial runs underPYAUTO_SMALL_DATASETS=1so smoke/CI stays fast — moving off thehowtolens/unset:[PYAUTO_SMALL_DATASETS]workaround.Evidence (2026-07-21)
Ran all 34 HowToLens tutorials with
SMALL_DATASETS=1kept on: 30 PASS, zero size mismatches. Blockers are only:tutorial_0_visualization+tutorial_7_fitting(missingshould_simulateguard → FileNotFound),tutorial_5_borders(mask-overlap edge case),tutorial_10(already SLOW-parked, perf).dataset/is gitignored (nothing committed); simulators honor the cap.Plan
al.util.dataset.should_simulate(str(dataset_path))guards for every currently-unguarded distinct dataset load (tutorial_0; tutorial_7 2nd load; audit multi-load files ch2 t6, ch3 t3, ch4 t3/t5/t6 — a same-path reload needs no extra guard).if not dataset_path.exists():→should_simulate(so the flag re-simulates instead of loading stale full-res data).howtolens/(andguides/if applicable)unset:[PYAUTO_SMALL_DATASETS]override inconfig/build/env_vars.yaml.tutorial_5_bordersmask-overlap under 16×16 (may need a small tutorial-side fix).rm -rf dataset/thenrun_all.py howtolens(SMALL_DATASETS on) → all pass first-time. Regenerate notebooks + navigator. Restore any churneddataset/*.jsonbefore committing.Only edit
scripts/, nevernotebooks/(regenerated). Do NOT restore committed datasets (#126). HowToLens sims live inscripts/simulator/(singular).Prompt:
PyAutoMind/active/howto_should_simulate_howtolens.md.