From 57228a43ba293813c73505ee7c0cbea842950fa8 Mon Sep 17 00:00:00 2001 From: Claude Date: Sun, 19 Jul 2026 12:39:34 +0000 Subject: [PATCH] chore: rename current-facing PyAutoConf -> PyAutoNerves refs Update the Nerves repo name in the morning-status workflow, root AGENTS routing, repos_sync generator, and the pyautoscientist research doc. Historical/append-only records (complete/, draft/, autonomy_log.md) intentionally keep the old name as a point-in-time fact. Co-Authored-By: Claude Opus 4.8 Claude-Session: https://claude.ai/code/session_013ciVftxvYpefh59wSkR7jN --- .github/workflows/morning_status.yml | 2 +- AGENTS.md | 2 +- .../pyautoscientist_phase3_research.md | 10 ++-- scripts/repos_sync.py | 48 +++++++++---------- 4 files changed, 31 insertions(+), 31 deletions(-) diff --git a/.github/workflows/morning_status.yml b/.github/workflows/morning_status.yml index 004f1ca3..550c54df 100644 --- a/.github/workflows/morning_status.yml +++ b/.github/workflows/morning_status.yml @@ -25,7 +25,7 @@ jobs: runs-on: ubuntu-latest env: REPOS: >- - PyAutoLabs/PyAutoConf + PyAutoLabs/PyAutoNerves PyAutoLabs/PyAutoFit PyAutoLabs/PyAutoArray PyAutoLabs/PyAutoGalaxy diff --git a/AGENTS.md b/AGENTS.md index bd7d1381..cca34859 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -7,7 +7,7 @@ this repository. **PyAutoMind is the Mind of the PyAuto organism and the starting point of the PyAuto workflow.** It holds the organism's ideas, intent, goals, priorities and -workflow state. Every task that ends up as a PR in PyAutoConf, PyAutoFit, +workflow state. Every task that ends up as a PR in PyAutoNerves, PyAutoFit, PyAutoArray, PyAutoGalaxy, PyAutoLens, or any of the `*_workspace*` repos begins as a markdown file here. diff --git a/docs/pyautobrain/pyautoscientist_phase3_research.md b/docs/pyautobrain/pyautoscientist_phase3_research.md index 504261d9..293ee9f0 100644 --- a/docs/pyautobrain/pyautoscientist_phase3_research.md +++ b/docs/pyautobrain/pyautoscientist_phase3_research.md @@ -5,7 +5,7 @@ Research note, 2026-07-10. Companion to `pyautoscientist_generalisation_assessme discussion: the maintainer's vision is **more rigid** than the shipped docs' category contract — a literal `PyAutoProject` / `autoproject_workspace` / `autoproject_workspace_test` / `autoproject_assistant` family a new scientist -adopts wholesale, with PyAutoConf promoted to the organism's "nervous system". +adopts wholesale, with PyAutoNerves promoted to the organism's "nervous system". Constraints unchanged: no duplicated code, no impact on the live setup, and the live organs stay the single fast-moving upstream adopters tag along with. @@ -26,7 +26,7 @@ a satellite must follow: | Config layering (packaged defaults ← workspace override) | the `autoconf` package at runtime | a `config/` directory in the documented shape | **The one gap:** `smoke_tests.yml` is a fat per-workspace copy (hard-coded -checkout chain of PyAutoConf → … → the library) in every workspace and HowTo — +checkout chain of PyAutoNerves → … → the library) in every workspace and HowTo — ~10 near-identical files in the live setup. Generalising it into a reusable workflow parameterised by the dependency chain is a Phase 3 work item that pays the live setup directly (one definition instead of ten) *and* is the @@ -113,9 +113,9 @@ one generator maintains every fresh-slate artifact against the live source of truth. Drift check: a CI job re-runs spawn and fails on diff — the repos_sync pattern, again. -## 4. PyAutoConf → PyAutoNerves: promote the role now, defer the rename +## 4. PyAutoNerves → PyAutoNerves: promote the role now, defer the rename -PyAutoConf genuinely is the nervous system — the runtime layer connecting +PyAutoNerves genuinely is the nervous system — the runtime layer connecting workspace conventions to libraries (layered config with workspace override, version handshake, test_mode, jax_wrapper, notebook/Colab setup). The adopter-facing framing "your project gets `autoproject/config/` + @@ -126,7 +126,7 @@ But the literal rename decomposes into three moves with very different costs: 1. **Promote the role** — body map `role:` text, an RTD "Nerves" page beside the organ pages, template family wired through it. Zero risk. **Do now.** -2. **Rename the repo** (PyAutoConf → PyAutoNerves, keep package `autoconf`) +2. **Rename the repo** (PyAutoNerves → PyAutoNerves, keep package `autoconf`) — GitHub redirects help, but the name is hard-coded in every fat `smoke_tests.yml` checkout, docs-build.yml's dep chains, Heart config, pre_build, repos.yaml + all generated blocks, and the firewall allowlist. diff --git a/scripts/repos_sync.py b/scripts/repos_sync.py index 652c3fb8..36136914 100644 --- a/scripts/repos_sync.py +++ b/scripts/repos_sync.py @@ -194,7 +194,7 @@ def system_map(categories, repos): def public_organs(repos): """The front-door organ set: every `category: organ` row (manifest order) - plus any repo flagged `front_door: true` (e.g. Nerves/PyAutoConf — a + plus any repo flagged `front_door: true` (e.g. Nerves/PyAutoNerves — a library that is part of the organism's public self-presentation without being a category:organ). This is a *superset* of the internal organism map (`system_map`, strict category:organ per PyAutoBrain/ORGANISM.md); the two @@ -518,18 +518,18 @@ def write_claude_md_pointers(root, repos): "PyAutoBrain/agents/_common.sh": {"PyAutoLabs"}, "PyAutoBrain/agents/conductors/bug/_bug.py": {"PyAutoArray"}, "PyAutoBrain/agents/conductors/bug/bug.sh": {"PyAutoLabs"}, - "PyAutoBrain/agents/conductors/health/health.sh": {"PyAutoConf"}, + "PyAutoBrain/agents/conductors/health/health.sh": {"PyAutoNerves"}, "PyAutoBrain/agents/conductors/hygiene/_hygiene_config.py": {"PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, - "PyAutoBrain/agents/conductors/hygiene/hygiene.sh": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, + "PyAutoBrain/agents/conductors/hygiene/hygiene.sh": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, "PyAutoBrain/agents/conductors/clone/_clone.py": {"HowToFit", "PyAutoFit", "PyAutoLabs", "PyAutoLens", "autofit_assistant", "autofit_workspace", "autolens_assistant"}, "PyAutoBrain/agents/conductors/clone/clone.sh": {"HowToFit", "PyAutoFit", "autofit_workspace", "autolens_assistant"}, "PyAutoBrain/agents/conductors/community/_community.py": {"Jammy2211", "PyAutoLabs"}, - "PyAutoBrain/agents/conductors/intake/_intake.py": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autolens_workspace"}, + "PyAutoBrain/agents/conductors/intake/_intake.py": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autolens_workspace"}, "PyAutoBrain/agents/conductors/profiling/_profiling.py": {"PyAutoLabs", "autolens_profiling"}, "PyAutoBrain/agents/conductors/profiling/profiling.sh": {"autolens_profiling"}, "PyAutoBrain/agents/conductors/release/nightly.sh": {"PyAutoLabs", "PyAutoLens"}, - "PyAutoBrain/agents/conductors/release/rehearse.sh": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens"}, - "PyAutoBrain/agents/conductors/release/validate.sh": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens"}, + "PyAutoBrain/agents/conductors/release/rehearse.sh": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens"}, + "PyAutoBrain/agents/conductors/release/validate.sh": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens"}, "PyAutoBrain/agents/conductors/workspace/_workspace.py": {"HowToFit", "HowToGalaxy", "HowToLens", "PyAutoLabs", "PyAutoReduce", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, "PyAutoBrain/agents/faculties/memory/_memory.py": {"autolens_assistant"}, "PyAutoBrain/agents/faculties/memory/memory.sh": {"autolens_assistant"}, @@ -541,13 +541,13 @@ def write_claude_md_pointers(root, repos): "PyAutoBrain/docs/conf.py": {"PyAutoScientist"}, "PyAutoBrain/bin/check_skill_line_counts.sh": {"admin_jammy", "autolens_profiling"}, "PyAutoBrain/bin/clean_slate.sh": {"PyAutoLabs"}, - "PyAutoBrain/bin/ensure_workspace_labels.sh": {"HowToFit", "HowToGalaxy", "HowToLens", "Jammy2211", "PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "PyAutoCTI", "autocti_workspace", "autocti_workspace_test", "autofit_workspace", "autofit_workspace_test", "autogalaxy_workspace", "autogalaxy_workspace_test", "autolens_workspace", "autolens_workspace_test", "euclid_strong_lens_modeling_pipeline"}, + "PyAutoBrain/bin/ensure_workspace_labels.sh": {"HowToFit", "HowToGalaxy", "HowToLens", "Jammy2211", "PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "PyAutoCTI", "autocti_workspace", "autocti_workspace_test", "autofit_workspace", "autofit_workspace_test", "autogalaxy_workspace", "autogalaxy_workspace_test", "autolens_workspace", "autolens_workspace_test", "euclid_strong_lens_modeling_pipeline"}, "PyAutoBrain/bin/install.sh": {"PyAutoFit", "PyAutoLabs", "admin_jammy", "autolens_profiling"}, "PyAutoBrain/bin/overnight_status.sh": {"PyAutoLabs", "autolens_assistant"}, "PyAutoBrain/bin/pull_all_main.sh": {"PyAutoLabs"}, - "PyAutoBrain/bin/version_drift.sh": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, - "PyAutoBrain/bin/worktree.sh": {"PyAutoArray", "PyAutoCTI", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "admin_jammy", "autolens_workspace"}, - "PyAutoBrain/tests/test_activity_gate.py": {"HowToFit", "HowToLens", "PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoLens", "autolens_workspace"}, + "PyAutoBrain/bin/version_drift.sh": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, + "PyAutoBrain/bin/worktree.sh": {"PyAutoArray", "PyAutoCTI", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "admin_jammy", "autolens_workspace"}, + "PyAutoBrain/tests/test_activity_gate.py": {"HowToFit", "HowToLens", "PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoLens", "autolens_workspace"}, "PyAutoBrain/tests/test_clone_conductor.py": {"autofit_assistant", "autolens_assistant"}, "PyAutoBrain/tests/test_community_conductor.py": {"Jammy2211", "PyAutoFit", "PyAutoLabs", "PyAutoLens", "admin_jammy"}, "PyAutoBrain/tests/test_mind_commit_guard.py": {"/home/jammy", "PyAutoFit", "PyAutoLabs"}, @@ -555,19 +555,19 @@ def write_claude_md_pointers(root, repos): "PyAutoBrain/tests/test_review_inplace.py": {"PyAutoArray", "PyAutoLabs"}, "PyAutoBrain/tests/test_skill_install.py": {"PyAutoLabs"}, "PyAutoBrain/tests/test_workspace_conductor.py": {"HowToGalaxy", "HowToLens", "autolens_workspace"}, - "PyAutoHands/autobuild/aggregate_results.py": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, - "PyAutoHands/autobuild/build_util.py": {"PyAutoConf"}, + "PyAutoHands/autobuild/aggregate_results.py": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, + "PyAutoHands/autobuild/build_util.py": {"PyAutoNerves"}, "PyAutoHands/autobuild/bump_colab_urls.sh": {"HowToFit", "HowToGalaxy", "HowToLens", "PyAutoLabs", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, "PyAutoHands/autobuild/clone_seed.py": {"autofit_assistant"}, "PyAutoHands/autobuild/create_analysis_issue.py": {"PyAutoLabs"}, "PyAutoHands/autobuild/generate_autofit.py": {"autofit_workspace"}, "PyAutoHands/autobuild/generate_markdown.py": {"HowToFit", "HowToGalaxy", "HowToLens", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens"}, - "PyAutoHands/autobuild/generate_release_notes.py": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "PyAutoScientist"}, - "PyAutoHands/autobuild/navigator.py": {"HowToFit", "HowToGalaxy", "HowToLens", "PyAutoCTI", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens"}, + "PyAutoHands/autobuild/generate_release_notes.py": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "PyAutoScientist"}, + "PyAutoHands/autobuild/navigator.py": {"HowToFit", "HowToGalaxy", "HowToLens", "PyAutoCTI", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens"}, "PyAutoHands/autobuild/repro_command.py": {"PyAutoLabs", "autogalaxy_workspace_test"}, "PyAutoHands/autobuild/run_all.py": {"HowToLens", "PyAutoLabs", "autolens_workspace", "euclid_strong_lens_modeling_pipeline"}, "PyAutoHands/autobuild/slack_release_notes.py": {"PyAutoArray", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens"}, - "PyAutoHands/autobuild/tag_and_merge.sh": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens"}, + "PyAutoHands/autobuild/tag_and_merge.sh": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens"}, "PyAutoHands/pre_build.sh": {"HowToFit", "HowToGalaxy", "HowToLens", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "admin_jammy", "autofit_workspace", "autofit_workspace_developer", "autofit_workspace_test", "autogalaxy_workspace", "autogalaxy_workspace_test", "autolens_assistant", "autolens_workspace", "autolens_workspace_developer", "autolens_workspace_test", "euclid_strong_lens_modeling_pipeline"}, "PyAutoHands/tests/test_bump_colab_urls.py": {"Jammy2211", "PyAutoFit", "PyAutoLabs", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, "PyAutoHands/tests/test_generate_markdown.py": {"PyAutoArray", "autolens_workspace"}, @@ -582,11 +582,11 @@ def write_claude_md_pointers(root, repos): "PyAutoHeart/heart/checks/profiling_drift.py": {"PyAutoLabs", "autolens_profiling", "autolens_workspace_test"}, "PyAutoHeart/heart/checks/script_timing.py": {"PyAutoLabs"}, "PyAutoHeart/heart/checks/test_run.py": {"PyAutoLabs"}, - "PyAutoHeart/heart/checks/unit_test_timing.py": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens"}, - "PyAutoHeart/heart/checks/url_check.sh": {"HowToFit", "HowToGalaxy", "HowToLens", "Jammy2211", "PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, + "PyAutoHeart/heart/checks/unit_test_timing.py": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens"}, + "PyAutoHeart/heart/checks/url_check.sh": {"HowToFit", "HowToGalaxy", "HowToLens", "Jammy2211", "PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLabs", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, "PyAutoHeart/heart/checks/url_check_live.py": {"PyAutoLabs", "PyAutoLens", "admin_jammy"}, - "PyAutoHeart/heart/checks/url_sweep.sh": {"HowToFit", "HowToGalaxy", "HowToLens", "PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace", "euclid_strong_lens_modeling_pipeline"}, - "PyAutoHeart/heart/checks/verify_install.sh": {"PyAutoConf", "PyAutoLabs", "PyAutoLens", "autolens_workspace"}, + "PyAutoHeart/heart/checks/url_sweep.sh": {"HowToFit", "HowToGalaxy", "HowToLens", "PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace", "euclid_strong_lens_modeling_pipeline"}, + "PyAutoHeart/heart/checks/verify_install.sh": {"PyAutoNerves", "PyAutoLabs", "PyAutoLens", "autolens_workspace"}, "PyAutoHeart/heart/checks/version_skew.py": {"PyAutoLabs"}, "PyAutoHeart/heart/checks/workspace_testmode_timing.py": {"PyAutoLabs", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, "PyAutoHeart/heart/checks/worktree_drift.sh": {"PyAutoLabs"}, @@ -596,21 +596,21 @@ def write_claude_md_pointers(root, repos): "PyAutoHeart/heart/shell/heart_prompt.sh": {"PyAutoLabs"}, "PyAutoHeart/heart/state.py": {"PyAutoFit"}, "PyAutoHeart/heart/tick.sh": {"autolens_profiling"}, - "PyAutoHeart/heart/validate.py": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autolens_workspace", "autolens_workspace_test"}, + "PyAutoHeart/heart/validate.py": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autolens_workspace", "autolens_workspace_test"}, "PyAutoHeart/scripts/health_audit.sh": {"PyAutoLabs"}, "PyAutoHeart/scripts/health_release.sh": {"PyAutoLabs"}, "PyAutoHeart/scripts/health_sync.sh": {"PyAutoLabs", "admin_jammy"}, "PyAutoHeart/tests/test_ci_status.py": {"PyAutoFit", "PyAutoLens", "autolens_workspace"}, - "PyAutoHeart/tests/test_dashboard.py": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autolens_workspace"}, - "PyAutoHeart/tests/test_manifest_drift.py": {"PyAutoConf", "PyAutoFit", "PyAutoLabs"}, + "PyAutoHeart/tests/test_dashboard.py": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autolens_workspace"}, + "PyAutoHeart/tests/test_manifest_drift.py": {"PyAutoNerves", "PyAutoFit", "PyAutoLabs"}, "PyAutoHeart/tests/test_noise.py": {"HowToFit", "autolens_workspace_test"}, - "PyAutoHeart/tests/test_readiness.py": {"HowToLens", "PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autogalaxy_workspace", "autolens_workspace", "autolens_workspace_test"}, + "PyAutoHeart/tests/test_readiness.py": {"HowToLens", "PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autogalaxy_workspace", "autolens_workspace", "autolens_workspace_test"}, "PyAutoHeart/tests/test_repo_config.py": {"PyAutoCTI", "autocti_workspace", "autocti_workspace_test"}, "PyAutoHeart/tests/test_state.py": {"PyAutoArray", "PyAutoFit"}, "PyAutoHeart/tests/test_test_run.py": {"autofit_workspace", "autolens_workspace"}, "PyAutoHeart/tests/test_unit_test_timing.py": {"PyAutoFit"}, "PyAutoHeart/tests/test_url_check.py": {"HowToFit", "HowToGalaxy", "HowToLens", "Jammy2211", "PyAutoFit", "PyAutoLabs", "autofit_workspace", "autogalaxy_workspace", "autolens_workspace"}, - "PyAutoHeart/tests/test_validate.py": {"PyAutoArray", "PyAutoConf", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autolens_workspace", "autolens_workspace_test"}, + "PyAutoHeart/tests/test_validate.py": {"PyAutoArray", "PyAutoNerves", "PyAutoFit", "PyAutoGalaxy", "PyAutoLens", "autolens_workspace", "autolens_workspace_test"}, "PyAutoHeart/tests/test_verify_install_script.py": {"Jammy2211", "PyAutoLabs", "autolens_workspace"}, "PyAutoHeart/tests/test_version_skew.py": {"HowToFit", "PyAutoFit", "PyAutoLens", "autofit_workspace", "autolens_assistant", "autolens_workspace", "autolens_workspace_test"}, "PyAutoHeart/tests/test_workspace_testmode_timing.py": {"autolens_workspace"},