Overview
PyAutoHeart's verify_install Check F (Colab-simulation) driver FAILs even though the real new-user install path (Checks A/C/D) is green, so the whole verify_install_release job reports FAIL. Surfaced by the 2026-07-13 release-validation Stage-3 run (workspace-validation run_id=29266305445, TestPyPI 2026.7.13.1.dev65501). This is a harness gap, not a library defect — the core install path is healthy.
Two distinct problems, both isolated to heart/checks/verify_install.sh's check_f():
-
Stale dataset load (primary). The generated F_driver.py loads dataset/imaging/simple/{data,noise_map,psf}.fits — a path the current imaging/start_here.py no longer uses (and which isn't bundled) → FileNotFoundError. The driver comment says it runs "one real cell from the imaging start_here", but start_here.py now loads the bundled cosmos_web_ring JWST dataset (pixel_scales=0.06) — which is exactly why Check A (which runs start_here.py) passes. cosmos_web_ring is one of the few example datasets that ship committed with the workspace, so it's present after the setup_colab clone.
-
Mixed dev/released stack (secondary). Check F's pip install "$PIP_INSTALL_TARGET" jax installs autolens at the pinned dev version but lets autoarray/autoconf/autofit/autogalaxy resolve to the latest final on PyPI (2026.7.9.1) — because dev versions are pre-releases pip won't pick for a floor-only dependency. So Check F isn't exercising a coherent dev stack like A/C/D do.
Plan
- F_driver dataset: change the
from_fits cell to load cosmos_web_ring (data.fits/noise_map.fits/psf.fits, pixel_scales=0.06), mirroring the current start_here.py cell. No simulator needed — the dataset is bundled. Keep the dataset/ existence assertion.
- Coherent stack: in
check_f(), when $TARGET_VERSION is set, pin all five PyAuto packages (autolens autoarray autoconf autofit autogalaxy) to it in the emulated-Colab pip install, so the deps come from the same dev wheels as A/C/D. (The later verbatim pip install autoconf --no-deps inside the driver then finds the pinned dev autoconf already satisfied → no-op, so it can't silently pull a released autoconf.) When unpinned (released mode), behaviour is unchanged.
- Leave Checks A/C/D untouched (green). Final PASS confirmation requires a TestPyPI rehearsal re-run (network + a fresh five-package dev upload) — out of band for the code change.
Detailed implementation plan
Work Classification
Library (harness only — PyAutoHeart). No workspace/library-source change.
Affected Repositories
- PyAutoLabs/PyAutoHeart (
heart/checks/verify_install.sh, check_f() only)
Branch Survey
| Repository |
Current Branch |
Dirty? |
| ./PyAutoHeart |
main |
clean |
Suggested branch: feature/verify-install-check-f-fix
Worktree root: ~/Code/PyAutoLabs-wt/verify-install-check-f-fix/
Implementation Steps
heart/checks/verify_install.sh check_f() — build an F-specific install list that pins all five PyAuto packages to $TARGET_VERSION when set (else keep $PIP_INSTALL_TARGET), then pip install "${PIP_INDEX_ARGS[@]}" "${f_targets[@]}" jax.
- Same function's
F_driver.py heredoc — swap the simple paths for cosmos_web_ring at pixel_scales=0.06; update the print/assertion text.
- Verify:
bash -n the script + python -m py_compile the extracted driver; confirm the cosmos_web_ring fits are bundled in autolens_workspace.
Verification limits
Check F needs live network + a fresh TestPyPI dev upload of all five packages to run end-to-end; that confirmation belongs to the next release-validation rehearsal. The code change is verified by shell/Python syntax + path/logic review here.
Autonomy
--auto, effective level supervised (bug work-type cap). Plan written here; run parks at ship sign-off. Merge/close remain human.
Original Prompt
Click to expand starting prompt
verify_install Check F: assumes a bundled dataset (no auto-simulate) and resolves a mixed dev/released stack
Type: bug
Target: health_fixes
Repos:
- PyAutoHeart
Difficulty: small
Autonomy: supervised
Priority: normal
Status: formalised
PyAutoHeart's verify_install Check F driver fails on a missing dataset, so the whole
verify_install_release job reports FAIL even though the real new-user install path is
healthy. Surfaced by the 2026-07-13 release-validation Stage-3 run (workspace-validation
run_id=29266305445, TestPyPI 2026.7.13.1.dev65501). Check status was:
A PASS pip install + start_here.py + welcome.py
C PASS conda(python=3.12) + start_here + welcome
D PASS autolens[optional]==2026.7.13.1.dev65501 resolved + imports
F FAIL driver rc=1
Two distinct problems in Check F only:
-
Missing auto-simulate (primary). F_driver.py:36 calls
Imaging.from_fits('dataset/imaging/simple/data.fits') from its CWD, but never simulates
that dataset first, so it crashes FileNotFoundError: dataset/imaging/simple/data.fits.
Datasets are meant to be auto-simulated at run time, never bundled/committed (only a few
select example .fits ship with a workspace) — this gap was exposed by the 2026-07-13
release dataset -f leak fix (PyAutoBuild#150) that stopped force-adding dataset/.
Check A's start_here.py passes because it simulates its own dataset; Check F must do the
same (run the matching simulator, or simulate to the exact folder it then loads) instead
of assuming a bundled file. This is a HARNESS gap, not a library defect.
-
Mixed dev/released stack (secondary). Check F's env resolved
autolens 2026.7.13.1.dev65501 (the rehearsal dev wheel) but its dependencies came from
released PyPI — autoarray/autoconf/autofit/autogalaxy 2026.7.9.1 — so Check F is not
even exercising a coherent dev stack. Pin all five PyAuto packages to the TestPyPI dev
version (or install with the TestPyPI index for the whole family) so Check F tests the
same wheels as Checks A/C/D.
Fix both in the Check-F driver, then re-run verify_install against a TestPyPI rehearsal
version to confirm F PASS. Keep the core new-user path (A/C/D) untouched — it is green.
Diagnosis note
The prompt's primary framing was "auto-simulate the simple dataset". Investigation shows the current start_here.py loads the bundled cosmos_web_ring (not a simulated simple), which is why Check A passes — so the faithful fix is to load cosmos_web_ring, no simulator required.
Overview
PyAutoHeart's
verify_installCheck F (Colab-simulation) driver FAILs even though the real new-user install path (Checks A/C/D) is green, so the wholeverify_install_releasejob reports FAIL. Surfaced by the 2026-07-13 release-validation Stage-3 run (workspace-validationrun_id=29266305445, TestPyPI2026.7.13.1.dev65501). This is a harness gap, not a library defect — the core install path is healthy.Two distinct problems, both isolated to
heart/checks/verify_install.sh'scheck_f():Stale dataset load (primary). The generated
F_driver.pyloadsdataset/imaging/simple/{data,noise_map,psf}.fits— a path the currentimaging/start_here.pyno longer uses (and which isn't bundled) →FileNotFoundError. The driver comment says it runs "one real cell from the imaging start_here", butstart_here.pynow loads the bundledcosmos_web_ringJWST dataset (pixel_scales=0.06) — which is exactly why Check A (which runsstart_here.py) passes.cosmos_web_ringis one of the few example datasets that ship committed with the workspace, so it's present after thesetup_colabclone.Mixed dev/released stack (secondary). Check F's
pip install "$PIP_INSTALL_TARGET" jaxinstallsautolensat the pinned dev version but letsautoarray/autoconf/autofit/autogalaxyresolve to the latest final on PyPI (2026.7.9.1) — because dev versions are pre-releases pip won't pick for a floor-only dependency. So Check F isn't exercising a coherent dev stack like A/C/D do.Plan
from_fitscell to loadcosmos_web_ring(data.fits/noise_map.fits/psf.fits,pixel_scales=0.06), mirroring the currentstart_here.pycell. No simulator needed — the dataset is bundled. Keep thedataset/existence assertion.check_f(), when$TARGET_VERSIONis set, pin all five PyAuto packages (autolens autoarray autoconf autofit autogalaxy) to it in the emulated-Colabpip install, so the deps come from the same dev wheels as A/C/D. (The later verbatimpip install autoconf --no-depsinside the driver then finds the pinned dev autoconf already satisfied → no-op, so it can't silently pull a released autoconf.) When unpinned (released mode), behaviour is unchanged.Detailed implementation plan
Work Classification
Library (harness only — PyAutoHeart). No workspace/library-source change.
Affected Repositories
heart/checks/verify_install.sh,check_f()only)Branch Survey
Suggested branch:
feature/verify-install-check-f-fixWorktree root:
~/Code/PyAutoLabs-wt/verify-install-check-f-fix/Implementation Steps
heart/checks/verify_install.shcheck_f()— build an F-specific install list that pins all five PyAuto packages to$TARGET_VERSIONwhen set (else keep$PIP_INSTALL_TARGET), thenpip install "${PIP_INDEX_ARGS[@]}" "${f_targets[@]}" jax.F_driver.pyheredoc — swap thesimplepaths forcosmos_web_ringatpixel_scales=0.06; update the print/assertion text.bash -nthe script +python -m py_compilethe extracted driver; confirm thecosmos_web_ringfits are bundled in autolens_workspace.Verification limits
Check F needs live network + a fresh TestPyPI dev upload of all five packages to run end-to-end; that confirmation belongs to the next release-validation rehearsal. The code change is verified by shell/Python syntax + path/logic review here.
Autonomy
--auto, effective level supervised (bug work-type cap). Plan written here; run parks at ship sign-off. Merge/close remain human.Original Prompt
Click to expand starting prompt
verify_install Check F: assumes a bundled dataset (no auto-simulate) and resolves a mixed dev/released stack
Type: bug
Target: health_fixes
Repos:
Difficulty: small
Autonomy: supervised
Priority: normal
Status: formalised
PyAutoHeart's
verify_installCheck F driver fails on a missing dataset, so the wholeverify_install_releasejob reports FAIL even though the real new-user install path ishealthy. Surfaced by the 2026-07-13 release-validation Stage-3 run (workspace-validation
run_id=29266305445, TestPyPI2026.7.13.1.dev65501). Check status was:Two distinct problems in Check F only:
Missing auto-simulate (primary).
F_driver.py:36callsImaging.from_fits('dataset/imaging/simple/data.fits')from its CWD, but never simulatesthat dataset first, so it crashes
FileNotFoundError: dataset/imaging/simple/data.fits.Datasets are meant to be auto-simulated at run time, never bundled/committed (only a few
select example
.fitsship with a workspace) — this gap was exposed by the 2026-07-13release dataset
-fleak fix (PyAutoBuild#150) that stopped force-addingdataset/.Check A's
start_here.pypasses because it simulates its own dataset; Check F must do thesame (run the matching simulator, or simulate to the exact folder it then loads) instead
of assuming a bundled file. This is a HARNESS gap, not a library defect.
Mixed dev/released stack (secondary). Check F's env resolved
autolens 2026.7.13.1.dev65501(the rehearsal dev wheel) but its dependencies came fromreleased PyPI —
autoarray/autoconf/autofit/autogalaxy 2026.7.9.1— so Check F is noteven exercising a coherent dev stack. Pin all five PyAuto packages to the TestPyPI dev
version (or install with the TestPyPI index for the whole family) so Check F tests the
same wheels as Checks A/C/D.
Fix both in the Check-F driver, then re-run
verify_installagainst a TestPyPI rehearsalversion to confirm F PASS. Keep the core new-user path (A/C/D) untouched — it is green.
Diagnosis note
The prompt's primary framing was "auto-simulate the
simpledataset". Investigation shows the currentstart_here.pyloads the bundledcosmos_web_ring(not a simulatedsimple), which is why Check A passes — so the faithful fix is to loadcosmos_web_ring, no simulator required.