Skip to content

fix: persist isolated local smoke environments - #142

Merged
Jammy2211 merged 1 commit into
mainfrom
fix/persist-smoke-environments
Aug 10, 2026
Merged

fix: persist isolated local smoke environments#142
Jammy2211 merged 1 commit into
mainfrom
fix/persist-smoke-environments

Conversation

@Jammy2211

Copy link
Copy Markdown
Contributor

Closes #141

What changed

  • add pyauto-heart smoke as the local smoke environment and execution entry point
  • create one locked, cached Python environment per workspace from its checked-in CI smoke_install.sh
  • invalidate environments when Python, the installer, or dependency-library pyproject.toml metadata changes
  • replace ambient PYTHONPATH/PYAUTO_* state with the selected local source chain and Heart-owned writable caches
  • preflight pip check, local-source imports, interpreter ownership, and Jupyter kernel ownership before science scripts begin
  • retain the previous complete environment as a rollback backup until a fixed-path rebuild passes (virtualenv entry points are not relocatable)
  • update the smoke skill so future agents use this command rather than installing missing packages into their active shell

Root cause

The library metadata and CI already declared and installed dill, numba, and nufftax. The local smoke skill, introduced in late June, still trusted the ambient Python environment while the NUFFT default and dependency pins evolved through July and August. A minimal task venv therefore failed locally even though CI's install contract was complete.

Validation

  • 351 passed in the complete PyAutoHeart test suite on Python 3.12
  • Bash syntax and git diff --check pass
  • real autogalaxy_workspace --prepare-only build from its CI installer passes with dill 0.4.1, numba 0.66.0, and nufftax 0.6.1
  • immediate repeat reuses the validated cache in 3.8 seconds
  • regression tests cover metadata invalidation, ambient-environment stripping, installer ownership, optional-extra derivation, fixed-path venv execution, rollback after failed rebuild, absolute/relative Jupyter kernels, safe cache removal, and prepared-interpreter runner dispatch

@Jammy2211
Jammy2211 marked this pull request as ready for review August 10, 2026 22:54
@Jammy2211
Jammy2211 merged commit 3e053d7 into main Aug 10, 2026
2 checks passed
@Jammy2211
Jammy2211 deleted the fix/persist-smoke-environments branch August 10, 2026 22:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix: persist isolated smoke-test environments

1 participant