diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml index fd7847f..4977fad 100644 --- a/.github/workflows/docs-build.yml +++ b/.github/workflows/docs-build.yml @@ -36,11 +36,11 @@ jobs: run: | install=package case "${{ inputs.package }}" in - autoconf|autonerves) repo=PyAutoConf; deps="" ;; - autofit) repo=PyAutoFit; deps="PyAutoConf" ;; - autoarray) repo=PyAutoArray; deps="PyAutoConf" ;; - autogalaxy) repo=PyAutoGalaxy; deps="PyAutoConf PyAutoFit PyAutoArray" ;; - autolens) repo=PyAutoLens; deps="PyAutoConf PyAutoFit PyAutoArray PyAutoGalaxy" ;; + autoconf|autonerves) repo=PyAutoNerves; deps="" ;; + autofit) repo=PyAutoFit; deps="PyAutoNerves" ;; + autoarray) repo=PyAutoArray; deps="PyAutoNerves" ;; + autogalaxy) repo=PyAutoGalaxy; deps="PyAutoNerves PyAutoFit PyAutoArray" ;; + autolens) repo=PyAutoLens; deps="PyAutoNerves PyAutoFit PyAutoArray PyAutoGalaxy" ;; # Docs-only repos: no pip package — install docs/requirements.txt. pyautoscientist) repo=PyAutoBrain; deps=""; install=requirements ;; *) echo "::error::unknown package '${{ inputs.package }}'"; exit 1 ;; diff --git a/.github/workflows/lib-tests.yml b/.github/workflows/lib-tests.yml index 3af6240..022370e 100644 --- a/.github/workflows/lib-tests.yml +++ b/.github/workflows/lib-tests.yml @@ -38,12 +38,12 @@ jobs: id: map run: | case "${{ inputs.package }}" in - autoconf|autonerves) repo=PyAutoConf; deps="" ;; - autofit) repo=PyAutoFit; deps="PyAutoConf" ;; - autoarray) repo=PyAutoArray; deps="PyAutoConf" ;; - autogalaxy) repo=PyAutoGalaxy; deps="PyAutoConf PyAutoFit PyAutoArray" ;; - autolens) repo=PyAutoLens; deps="PyAutoConf PyAutoFit PyAutoArray PyAutoGalaxy" ;; - autocti) repo=PyAutoCTI; deps="PyAutoConf PyAutoFit PyAutoArray" ;; + autoconf|autonerves) repo=PyAutoNerves; deps="" ;; + autofit) repo=PyAutoFit; deps="PyAutoNerves" ;; + autoarray) repo=PyAutoArray; deps="PyAutoNerves" ;; + autogalaxy) repo=PyAutoGalaxy; deps="PyAutoNerves PyAutoFit PyAutoArray" ;; + autolens) repo=PyAutoLens; deps="PyAutoNerves PyAutoFit PyAutoArray PyAutoGalaxy" ;; + autocti) repo=PyAutoCTI; deps="PyAutoNerves PyAutoFit PyAutoArray" ;; *) echo "::error::unknown package '${{ inputs.package }}'"; exit 1 ;; esac echo "repo=$repo" >> "$GITHUB_OUTPUT" diff --git a/.github/workflows/smoke-tests.yml b/.github/workflows/smoke-tests.yml index 82d16cf..ec85259 100644 --- a/.github/workflows/smoke-tests.yml +++ b/.github/workflows/smoke-tests.yml @@ -6,7 +6,7 @@ name: Smoke Tests (reusable) # jobs: # smoke: # uses: PyAutoLabs/PyAutoHeart/.github/workflows/smoke-tests.yml@main -# with: { chain: "PyAutoConf PyAutoFit PyAutoArray PyAutoGalaxy PyAutoLens" } +# with: { chain: "PyAutoNerves PyAutoFit PyAutoArray PyAutoGalaxy PyAutoLens" } # secrets: inherit # # The workflow owns the ceremony (dependency-chain checkout at the matching @@ -24,7 +24,7 @@ on: workflow_call: inputs: chain: - description: "Space-separated dependency libraries in install order, e.g. 'PyAutoConf PyAutoFit'" + description: "Space-separated dependency libraries in install order, e.g. 'PyAutoNerves PyAutoFit'" required: true type: string python-versions: diff --git a/.github/workflows/url-check.yml b/.github/workflows/url-check.yml index 74014d2..1393396 100644 --- a/.github/workflows/url-check.yml +++ b/.github/workflows/url-check.yml @@ -22,7 +22,7 @@ permissions: env: REPOS: >- HowToFit HowToGalaxy HowToLens - PyAutoConf PyAutoFit PyAutoArray PyAutoGalaxy PyAutoLens + PyAutoNerves PyAutoFit PyAutoArray PyAutoGalaxy PyAutoLens autofit_workspace autogalaxy_workspace autolens_workspace euclid_strong_lens_modeling_pipeline diff --git a/.github/workflows/workspace-validation.yml b/.github/workflows/workspace-validation.yml index 762b4b7..ee4eefd 100644 --- a/.github/workflows/workspace-validation.yml +++ b/.github/workflows/workspace-validation.yml @@ -224,7 +224,7 @@ jobs: if: needs.find_scripts.outputs.mode == 'smoke' run: | set -e - for lib in PyAutoConf PyAutoArray PyAutoFit PyAutoGalaxy PyAutoLens; do + for lib in PyAutoNerves PyAutoArray PyAutoFit PyAutoGalaxy PyAutoLens; do git clone --depth 1 "https://github.com/PyAutoLabs/$lib" "libs/$lib" done - name: Set up Python ${{ matrix.python-version }} @@ -290,7 +290,7 @@ jobs: if: needs.find_scripts.outputs.mode == 'smoke' run: | LIBS="$(pwd)/libs" - export PYTHONPATH="$LIBS/PyAutoConf:$LIBS/PyAutoArray:$LIBS/PyAutoFit:$LIBS/PyAutoGalaxy:$LIBS/PyAutoLens:$(pwd)/PyAutoHands:$PYTHONPATH" + export PYTHONPATH="$LIBS/PyAutoNerves:$LIBS/PyAutoArray:$LIBS/PyAutoFit:$LIBS/PyAutoGalaxy:$LIBS/PyAutoLens:$(pwd)/PyAutoHands:$PYTHONPATH" pushd workspace python3 "$(pwd)/../PyAutoHands/autobuild/run_python.py" \ "${{ matrix.project.name }}" "scripts/${{ matrix.project.directory }}" \ @@ -380,7 +380,7 @@ jobs: if: steps.gate.outputs.run == 'true' run: | set -e - for lib in PyAutoConf PyAutoArray PyAutoFit PyAutoGalaxy PyAutoLens; do + for lib in PyAutoNerves PyAutoArray PyAutoFit PyAutoGalaxy PyAutoLens; do git clone --depth 1 "https://github.com/PyAutoLabs/$lib" "libs/$lib" done - name: Download generated notebooks @@ -406,7 +406,7 @@ jobs: if: steps.gate.outputs.run == 'true' run: | LIBS="$(pwd)/libs" - export PYTHONPATH="$LIBS/PyAutoConf:$LIBS/PyAutoArray:$LIBS/PyAutoFit:$LIBS/PyAutoGalaxy:$LIBS/PyAutoLens:$(pwd)/PyAutoHands:$PYTHONPATH" + export PYTHONPATH="$LIBS/PyAutoNerves:$LIBS/PyAutoArray:$LIBS/PyAutoFit:$LIBS/PyAutoGalaxy:$LIBS/PyAutoLens:$(pwd)/PyAutoHands:$PYTHONPATH" pushd workspace python3 "$(pwd)/../PyAutoHands/autobuild/run.py" \ "${{ matrix.project.name }}" "notebooks/${{ matrix.project.directory }}" \ diff --git a/config/repos.yaml b/config/repos.yaml index 00f454b..4828fa7 100644 --- a/config/repos.yaml +++ b/config/repos.yaml @@ -10,7 +10,7 @@ repos: libraries: - - name: PyAutoConf + - name: PyAutoNerves owner: PyAutoLabs - name: PyAutoFit owner: PyAutoLabs diff --git a/config/url_fixups.yaml b/config/url_fixups.yaml index e2291e2..a63bc89 100644 --- a/config/url_fixups.yaml +++ b/config/url_fixups.yaml @@ -14,9 +14,9 @@ rewrites: - pattern: (github\.com|githubusercontent\.com)/Jammy2211/(PyAutoArray|PyAutoLens|PyAutoGalaxy) replacement: \1/PyAutoLabs/\2 description: Jammy2211/ → PyAutoLabs/ -- pattern: (github\.com|githubusercontent\.com)/(?:Jammy2211|rhayes777)/(PyAutoFit|PyAutoConf) +- pattern: (github\.com|githubusercontent\.com)/(?:Jammy2211|rhayes777)/(PyAutoFit|PyAutoNerves) replacement: \1/PyAutoLabs/\2 - description: Jammy2211|rhayes777/{PyAutoFit,PyAutoConf} → PyAutoLabs/... + description: Jammy2211|rhayes777/{PyAutoFit,PyAutoNerves} → PyAutoLabs/... - pattern: (github\.com|githubusercontent\.com)/rhayes777/PyAutoGalaxy replacement: \1/PyAutoLabs/PyAutoGalaxy description: rhayes777/PyAutoGalaxy → PyAutoLabs/PyAutoGalaxy diff --git a/docs/release_validation.md b/docs/release_validation.md index a7d72b1..63d0793 100644 --- a/docs/release_validation.md +++ b/docs/release_validation.md @@ -73,7 +73,7 @@ unset `PYAUTO_SMALL_DATASETS` for full-resolution FITS scripts, keep JAX on for overrides remain per-script. The full library env-var surface (canonical entry: -`PyAutoConf/autoconf/test_mode.py`) is 13 `PYAUTO_*` vars, not the 4 smoke +`PyAutoNerves/autoconf/test_mode.py`) is 13 `PYAUTO_*` vars, not the 4 smoke defaults: ``` diff --git a/heart/checks/unit_test_timing.py b/heart/checks/unit_test_timing.py index db18381..15c7eca 100644 --- a/heart/checks/unit_test_timing.py +++ b/heart/checks/unit_test_timing.py @@ -43,7 +43,7 @@ # Each library's suite is discovered via its own pytest config (testpaths), so we # just invoke pytest from the repo root. Import-name maps to repo dir name. -DEFAULT_REPOS = ["PyAutoConf", "PyAutoFit", "PyAutoArray", "PyAutoGalaxy", "PyAutoLens"] +DEFAULT_REPOS = ["PyAutoNerves", "PyAutoFit", "PyAutoArray", "PyAutoGalaxy", "PyAutoLens"] # A runner maps a repo checkout dir to {test_nodeid: call_seconds} for the # slowest tests, or None when the suite could not be run. Injected in tests. diff --git a/heart/checks/url_check.sh b/heart/checks/url_check.sh index fd14d41..ae14df2 100755 --- a/heart/checks/url_check.sh +++ b/heart/checks/url_check.sh @@ -41,8 +41,8 @@ ENTRIES=( # --- libraries moved Jammy2211|rhayes777 → PyAutoLabs --- 'github\.com/Jammy2211/(PyAutoArray|PyAutoLens|PyAutoGalaxy)|||Jammy2211/ (use PyAutoLabs/)' 'githubusercontent\.com/Jammy2211/(PyAutoArray|PyAutoLens|PyAutoGalaxy)|||Jammy2211/ in raw URL (use PyAutoLabs/)' - 'github\.com/Jammy2211/(PyAutoFit|PyAutoConf)|||Jammy2211/(PyAutoFit|PyAutoConf) (use PyAutoLabs/...)' - 'github\.com/rhayes777/(PyAutoFit|PyAutoConf|PyAutoGalaxy|PyAutoBuild)|||rhayes777/ (use PyAutoLabs/)' + 'github\.com/Jammy2211/(PyAutoFit|PyAutoNerves)|||Jammy2211/(PyAutoFit|PyAutoNerves) (use PyAutoLabs/...)' + 'github\.com/rhayes777/(PyAutoFit|PyAutoNerves|PyAutoGalaxy|PyAutoBuild)|||rhayes777/ (use PyAutoLabs/)' # --- workspace /tree/release/ — same fate as /blob/release/ --- 'github\.com/PyAutoLabs/(autolens_workspace|autogalaxy_workspace|autofit_workspace)/tree/release/|||workspace /tree/release/ branch removed (use /tree/main/ or a tag)' diff --git a/heart/checks/url_sweep.sh b/heart/checks/url_sweep.sh index ee4cee2..602f992 100755 --- a/heart/checks/url_sweep.sh +++ b/heart/checks/url_sweep.sh @@ -22,7 +22,7 @@ CHECK_DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")" # The repos that previously ran url_check.yml on every PR. Centralised here. URL_CHECK_REPOS=( HowToFit HowToGalaxy HowToLens - PyAutoConf PyAutoFit PyAutoArray PyAutoGalaxy PyAutoLens + PyAutoNerves PyAutoFit PyAutoArray PyAutoGalaxy PyAutoLens autofit_workspace autogalaxy_workspace autolens_workspace euclid_strong_lens_modeling_pipeline ) diff --git a/heart/checks/verify_install.sh b/heart/checks/verify_install.sh index a9fce15..f88e9b8 100755 --- a/heart/checks/verify_install.sh +++ b/heart/checks/verify_install.sh @@ -33,7 +33,7 @@ set -uo pipefail # NB: no -e — checks must continue past expected failures. # Unset PYTHONPATH so checks aren't shadowed by user-side editable installs. -# When the calling shell exports PYTHONPATH=/path/to/PyAutoConf:/path/to/... +# When the calling shell exports PYTHONPATH=/path/to/PyAutoNerves:/path/to/... # (a common setup when developing the libs), throwaway venvs created here # will still resolve `import autolens` etc. from those local source dirs # rather than from the just-installed PyPI artefacts. That defeats the diff --git a/heart/validate.py b/heart/validate.py index 43d69ee..b1bccad 100644 --- a/heart/validate.py +++ b/heart/validate.py @@ -38,7 +38,7 @@ "testpypi_version": "2026.6.30.1.dev64501", "profile": "release", # env profile the integration tier ran under "commit_shas": { # per-repo HEAD the rehearsal was built from - "PyAutoConf": "abc123...", "PyAutoFit": "...", "PyAutoArray": "...", + "PyAutoNerves": "abc123...", "PyAutoFit": "...", "PyAutoArray": "...", "PyAutoGalaxy": "...", "PyAutoLens": "..." }, "stages": { # per-stage status (pass|fail|skip) diff --git a/skills/cli_noise_clean/SKILL.md b/skills/cli_noise_clean/SKILL.md index 643f862..d22ff16 100644 --- a/skills/cli_noise_clean/SKILL.md +++ b/skills/cli_noise_clean/SKILL.md @@ -37,7 +37,7 @@ PYAUTO_DISABLE_JAX=0 # JAX ON so we catch JAX-specific noise ### 2. Pytest noise audit -For each library repo (PyAutoConf, PyAutoFit, PyAutoArray, PyAutoGalaxy, PyAutoLens): +For each library repo (PyAutoNerves, PyAutoFit, PyAutoArray, PyAutoGalaxy, PyAutoLens): ```bash cd diff --git a/skills/dep_audit/SKILL.md b/skills/dep_audit/SKILL.md index c40a44b..c27e8e5 100644 --- a/skills/dep_audit/SKILL.md +++ b/skills/dep_audit/SKILL.md @@ -20,7 +20,7 @@ In Claude, invoke the same skill as `/dep_audit`. ### 1. Collect current constraints -For each library repo (PyAutoConf, PyAutoFit, PyAutoArray, PyAutoGalaxy, PyAutoLens), read `pyproject.toml` and extract: +For each library repo (PyAutoNerves, PyAutoFit, PyAutoArray, PyAutoGalaxy, PyAutoLens), read `pyproject.toml` and extract: - Every entry in `dependencies` - Every entry in `[project.optional-dependencies]` sections @@ -95,9 +95,9 @@ Python: >=3.12 | Package | Owner Repo | Constraint | Installed | Latest | Status | Tier | |---------|-----------|------------|-----------|--------|--------|------| -| numpy | PyAutoConf | >=1.24,<3 | 2.4.4 | 2.4.4 | Current | — | +| numpy | PyAutoNerves | >=1.24,<3 | 2.4.4 | 2.4.4 | Current | — | | scipy | PyAutoFit | <=1.17.1 | 1.14.0 | 1.17.1 | Cap stale | 1 | -| jax | PyAutoConf | >=0.4.35,<0.10 | 0.4.38 | 0.9.2 | Cap stale | 2 | +| jax | PyAutoNerves | >=0.4.35,<0.10 | 0.4.38 | 0.9.2 | Cap stale | 2 | ... Tier 1 — Safe cap bumps: packages @@ -125,9 +125,9 @@ This table defines which repo "owns" each constraint (i.e., where the version sp | Package | Owner | Inherited By | |---------|-------|-------------| -| numpy | PyAutoConf | all | -| jax, jaxlib | PyAutoConf | all | -| jaxnnls | PyAutoConf | all | +| numpy | PyAutoNerves | all | +| jax, jaxlib | PyAutoNerves | all | +| jaxnnls | PyAutoNerves | all | | scipy | PyAutoFit, PyAutoArray | Galaxy, Lens | | matplotlib | PyAutoFit (uncapped), PyAutoArray (floored) | Galaxy, Lens | | astropy | PyAutoArray, PyAutoGalaxy | Lens | diff --git a/skills/health_sweep/reference.md b/skills/health_sweep/reference.md index 025c254..792c5eb 100644 --- a/skills/health_sweep/reference.md +++ b/skills/health_sweep/reference.md @@ -16,7 +16,7 @@ Quick "is everything still green?" sweep across the PyAuto stack. Refreshes loca ## Scope **Libraries (run `pytest`):** -- PyAutoConf +- PyAutoNerves - PyAutoArray - PyAutoFit - PyAutoGalaxy @@ -95,7 +95,7 @@ Single table, one row per repo: ``` Repo | Branch | Sync | Tests ---------------------------|--------|------------------|--------------------------- -PyAutoConf | main | synced | ✓ unit (412/412) +PyAutoNerves | main | synced | ✓ unit (412/412) PyAutoArray | main | already up to date | ✓ unit (1240/1240) PyAutoFit | main | dirty — skipped | ✗ unit (3 failed) PyAutoGalaxy | main | synced | ✓ unit (980/980) diff --git a/skills/pyauto-status/reference.md b/skills/pyauto-status/reference.md index 9d14e0d..23770b4 100755 --- a/skills/pyauto-status/reference.md +++ b/skills/pyauto-status/reference.md @@ -28,7 +28,7 @@ Read all three registry files (schemas in `PyAutoMind/README.md`): ### 2. Live-scan repos and worktrees -Scan each canonical checkout (PyAutoConf, PyAutoFit, PyAutoArray, PyAutoGalaxy, +Scan each canonical checkout (PyAutoNerves, PyAutoFit, PyAutoArray, PyAutoGalaxy, PyAutoLens, autofit_workspace, autogalaxy_workspace, autolens_workspace, autolens_workspace_test, euclid_strong_lens_modeling_pipeline, HowToLens): diff --git a/skills/smoke_test/reference.md b/skills/smoke_test/reference.md index 443fcfe..51f30b4 100644 --- a/skills/smoke_test/reference.md +++ b/skills/smoke_test/reference.md @@ -120,10 +120,10 @@ for ws in autofit_workspace autogalaxy_workspace autolens_workspace \ autolens_workspace_test euclid_strong_lens_modeling_pipeline HowToLens; do [ -d "$WORK_DIR/$ws" ] || git clone "https://github.com/PyAutoLabs/$ws.git" "$WORK_DIR/$ws" done -for lib in PyAutoConf PyAutoFit PyAutoArray PyAutoGalaxy PyAutoLens; do +for lib in PyAutoNerves PyAutoFit PyAutoArray PyAutoGalaxy PyAutoLens; do [ -d "$WORK_DIR/$lib" ] || git clone "https://github.com/PyAutoLabs/$lib.git" "$WORK_DIR/$lib" done -export PYTHONPATH="$WORK_DIR/PyAutoConf:$WORK_DIR/PyAutoFit:$WORK_DIR/PyAutoArray:$WORK_DIR/PyAutoGalaxy:$WORK_DIR/PyAutoLens:$PYTHONPATH" +export PYTHONPATH="$WORK_DIR/PyAutoNerves:$WORK_DIR/PyAutoFit:$WORK_DIR/PyAutoArray:$WORK_DIR/PyAutoGalaxy:$WORK_DIR/PyAutoLens:$PYTHONPATH" export NUMBA_CACHE_DIR=/tmp/numba_cache MPLCONFIGDIR=/tmp/matplotlib ``` diff --git a/tests/test_dashboard.py b/tests/test_dashboard.py index e3d21d4..2966577 100644 --- a/tests/test_dashboard.py +++ b/tests/test_dashboard.py @@ -16,7 +16,7 @@ from heart import dashboard -LIBS = ["PyAutoConf", "PyAutoFit", "PyAutoArray", "PyAutoGalaxy", "PyAutoLens"] +LIBS = ["PyAutoNerves", "PyAutoFit", "PyAutoArray", "PyAutoGalaxy", "PyAutoLens"] TS = "2026-06-01T00:00:00+00:00" diff --git a/tests/test_manifest_drift.py b/tests/test_manifest_drift.py index 7e51481..0000a35 100644 --- a/tests/test_manifest_drift.py +++ b/tests/test_manifest_drift.py @@ -18,7 +18,7 @@ check PyAutoHeart/config/repos.yaml: OK check ensure_workspace_labels.sh: 2 mismatch(es) ✗ ensure_workspace_labels targets 'rhayes777/PyAutoFit', manifest says 'PyAutoLabs/PyAutoFit' - ✗ ensure_workspace_labels targets 'rhayes777/PyAutoConf', manifest says 'PyAutoLabs/PyAutoConf' + ✗ ensure_workspace_labels targets 'rhayes777/PyAutoNerves', manifest says 'PyAutoLabs/PyAutoNerves' check local checkout origins: 1 mismatch(es) ✗ 'PyAutoFit': origin is 'rhayes777/PyAutoFit', manifest says 'PyAutoLabs/PyAutoFit' """ diff --git a/tests/test_readiness.py b/tests/test_readiness.py index 8fce537..c62297b 100644 --- a/tests/test_readiness.py +++ b/tests/test_readiness.py @@ -9,7 +9,7 @@ from heart import readiness -LIBS = ["PyAutoConf", "PyAutoFit", "PyAutoArray", "PyAutoGalaxy", "PyAutoLens"] +LIBS = ["PyAutoNerves", "PyAutoFit", "PyAutoArray", "PyAutoGalaxy", "PyAutoLens"] # Deterministic 40-char main HEAD sha per library; the baseline validation # report's commit_shas match these, so the release-validation gate stays GREEN. @@ -565,10 +565,10 @@ def test_red_dominates_yellow(): def test_missing_library_is_stale_unknown(): snap = make_snapshot() - del snap["repos"]["PyAutoConf"] + del snap["repos"]["PyAutoNerves"] v = compute(snap) assert v["verdict"] == "stale" - assert any("PyAutoConf" in r and "unknown" in r for r in v["stale_reasons"]) + assert any("PyAutoNerves" in r and "unknown" in r for r in v["stale_reasons"]) def test_empty_snapshot_not_green_no_crash(): diff --git a/tests/test_validate.py b/tests/test_validate.py index 8b33366..c5ae066 100644 --- a/tests/test_validate.py +++ b/tests/test_validate.py @@ -26,7 +26,7 @@ def _write(path, payload): } SHAS = { - "PyAutoConf": "1" * 40, + "PyAutoNerves": "1" * 40, "PyAutoFit": "2" * 40, "PyAutoArray": "3" * 40, "PyAutoGalaxy": "4" * 40, @@ -194,7 +194,7 @@ def test_ingest_explicit_overrides(tmp_path): ) assert report["profile"] == "release" assert report["testpypi_version"] == "9.9.9" - assert report["commit_shas"]["PyAutoConf"] == "1" * 40 + assert report["commit_shas"]["PyAutoNerves"] == "1" * 40 def test_ingest_explicit_file_path_not_dir(tmp_path):