diff --git a/.claude/hooks/validate_pyauto_code.py b/.claude/hooks/validate_pyauto_code.py index ad93f45..fd97782 100644 --- a/.claude/hooks/validate_pyauto_code.py +++ b/.claude/hooks/validate_pyauto_code.py @@ -45,7 +45,7 @@ # Mirrors ALIAS_TO_MODULE in autoassistant/audit_skill_apis.py. _ALIASES = ( "aplt", - "autoconf", + "autonerves", "autofit", "af", ) diff --git a/.github/workflows/wiki-currency.yml b/.github/workflows/wiki-currency.yml index ae8dcf6..f3ad19b 100644 --- a/.github/workflows/wiki-currency.yml +++ b/.github/workflows/wiki-currency.yml @@ -69,7 +69,7 @@ jobs: python -m pip install --upgrade pip VER="${{ inputs.stack_version }}" if [ -n "$VER" ]; then - echo "Installing autofit==$VER (pulls the pinned autoconf)." + echo "Installing autofit==$VER (pulls the pinned autonerves)." pip install "autofit==$VER" else echo "Installing the latest released autofit." @@ -85,7 +85,7 @@ jobs: - name: Clone cited source trees (citation ground truth) run: | mkdir -p sources - for repo in PyAutoConf PyAutoFit; do + for repo in PyAutoNerves PyAutoFit; do git clone --quiet --depth 1 "https://github.com/PyAutoLabs/$repo" "sources/$repo" done git clone --quiet --depth 1 --filter=blob:none --sparse \ diff --git a/activate.sh b/activate.sh index e848ed5..e3aeb34 100644 --- a/activate.sh +++ b/activate.sh @@ -18,7 +18,7 @@ elif [ -n "${PYAUTO_HPC_BASE:-}" ] && [ -f "$PYAUTO_HPC_BASE/PyAuto/bin/activate BASE="$PYAUTO_HPC_BASE" source "$BASE/PyAuto/bin/activate" export PYTHONPATH=$BASE:\ -$BASE/PyAutoConf:\ +$BASE/PyAutoNerves:\ $BASE/PyAutoFit else echo "No local .venv found (set PYAUTO_HPC_BASE for a shared/HPC PyAuto checkout)." >&2 @@ -30,5 +30,5 @@ fi # # SRC=~/Code/PyAutoLabs # export PYTHONPATH=$SRC:\ -# $SRC/PyAutoConf:\ +# $SRC/PyAutoNerves:\ # $SRC/PyAutoFit diff --git a/autoassistant/audit_skill_apis.py b/autoassistant/audit_skill_apis.py index 53a354f..2b070dc 100644 --- a/autoassistant/audit_skill_apis.py +++ b/autoassistant/audit_skill_apis.py @@ -42,7 +42,7 @@ try: import yaml -except ImportError: # pragma: no cover - yaml ships with the stack (autoconf dep) +except ImportError: # pragma: no cover - yaml ships with the stack (autonerves dep) yaml = None # --------------------------------------------------------------------------- @@ -59,12 +59,12 @@ # `__version__`; `autofit.plot` is hashed too (it is where the plot API lives) # but inherits the autofit version. BASELINE_MODULES: tuple[str, ...] = ( - "autoconf", + "autonerves", "autofit", "autofit.plot", ) VERSIONED_MODULES: tuple[str, ...] = ( - "autoconf", + "autonerves", "autofit", ) @@ -79,7 +79,7 @@ ALIAS_TO_MODULE: dict[str, str] = { "af": "autofit", "aplt": "autofit.plot", - "autoconf": "autoconf", + "autonerves": "autonerves", "autofit": "autofit", } @@ -376,7 +376,7 @@ def _cross_module_candidates(leaf: str) -> list[str]: if leaf in _cross_cache: return _cross_cache[leaf] hits: list[str] = [] - for mod_name in ("autoconf", "autofit"): + for mod_name in ("autonerves", "autofit"): root = _module_cache.get(mod_name) if root is None: try: @@ -582,7 +582,7 @@ def render_report( # --------------------------------------------------------------------------- def gather_versions() -> dict[str, str]: out: dict[str, str] = {} - for name in ("autoconf", "autofit"): + for name in ("autonerves", "autofit"): try: mod = importlib.import_module(name) except Exception as e: # noqa: BLE001 @@ -695,7 +695,7 @@ def render_installation_check(check: InstallationCheck) -> str: lines.append(f" install type: {check.install_kind}") if check.missing: lines.append(f" missing from this interpreter: {', '.join(check.missing)}") - # Group identical errors: with e.g. a workspace-version mismatch, autoconf + # Group identical errors: with e.g. a workspace-version mismatch, autonerves # and autofit fail with the same multi-paragraph message — print it once, # naming every module it applies to. grouped: dict[str, list[str]] = {} @@ -890,7 +890,7 @@ def check_version(root: Path) -> int: # `main`-pinned pages that predate the discipline. # --------------------------------------------------------------------------- PROJECT_IMPORT: dict[str, str] = { - "PyAutoConf": "autoconf", + "PyAutoNerves": "autonerves", "PyAutoFit": "autofit", } _SHA_RE = re.compile(r"[0-9a-f]{7,40}\Z") diff --git a/autoassistant/benchmark.py b/autoassistant/benchmark.py index d6cd002..34a5c83 100644 --- a/autoassistant/benchmark.py +++ b/autoassistant/benchmark.py @@ -18,7 +18,7 @@ RUNS_DIRNAME = "runs" BENCHMARKS_DIRNAME = "benchmarks" -STACK_PACKAGES = ("autofit", "autoconf") +STACK_PACKAGES = ("autofit", "autonerves") FRONTMATTER = re.compile(r"\A---\n(.*?)\n---\n", re.DOTALL) RUBRIC_ROW = re.compile(r"^\|\s*(M\d+|J\d+)\s*\|\s*(.+?)\s*\|\s*(\d+)\s*\|\s*$") diff --git a/autoassistant/mcp/tools.py b/autoassistant/mcp/tools.py index 2ca9181..41c47e7 100644 --- a/autoassistant/mcp/tools.py +++ b/autoassistant/mcp/tools.py @@ -17,7 +17,7 @@ import sys from pathlib import Path -from autoconf.dictable import to_dict +from autonerves.dictable import to_dict import autofit as af diff --git a/autoassistant/refresh_api_docs.py b/autoassistant/refresh_api_docs.py index 104e7ef..1b74127 100644 --- a/autoassistant/refresh_api_docs.py +++ b/autoassistant/refresh_api_docs.py @@ -21,7 +21,7 @@ MODULES = ( - ("autoconf", "autoconf"), + ("autonerves", "autonerves"), ("autofit", "autofit"), ) diff --git a/autoassistant/tests/test_api_gate.py b/autoassistant/tests/test_api_gate.py index f8e67c7..de8d09c 100644 --- a/autoassistant/tests/test_api_gate.py +++ b/autoassistant/tests/test_api_gate.py @@ -30,7 +30,7 @@ GOOD = "import autofit.plot as aplt; aplt.corner_cornerpy(samples=samples)" GOOD_SUBMODULE = "import autofit.jax.pytrees as pytrees" -GOOD_AUTOCONF_SUBMODULE = "import autoconf.dictable" +GOOD_AUTOCONF_SUBMODULE = "import autonerves.dictable" STALE_MODEL = "import autofit as af; af.PriorModel(SomeClass)" STALE_NEST = "from autofit.non_linear.nest.multi_nest import MultiNest" @@ -91,7 +91,7 @@ def test_validator_passes_current_submodule_import(): assert _run_validator("--code", GOOD_SUBMODULE).returncode == 0 -def test_validator_passes_autoconf_submodule_import(): +def test_validator_passes_autonerves_submodule_import(): assert _run_validator("--code", GOOD_AUTOCONF_SUBMODULE).returncode == 0 @@ -275,14 +275,14 @@ def test_render_installation_check_groups_identical_errors(): check = mod.InstallationCheck( status="import_failed", python="py", prefix="env", versions={}, locations={}, missing=[], - errors={name: "Boom: identical wall" for name in ("autoconf", "autofit")}, + errors={name: "Boom: identical wall" for name in ("autonerves", "autofit")}, install_kind="unknown", cache_defaults={}, ) text = mod.render_installation_check(check) assert text.count("Boom: identical wall") == 1 - assert "autoconf, autofit import failed" in text + assert "autonerves, autofit import failed" in text if __name__ == "__main__": diff --git a/autoassistant/tests/test_install_preflight.py b/autoassistant/tests/test_install_preflight.py index 4611ed1..84457ab 100644 --- a/autoassistant/tests/test_install_preflight.py +++ b/autoassistant/tests/test_install_preflight.py @@ -51,7 +51,7 @@ def test_install_preflight_distinguishes_absent_stack(): def test_install_preflight_distinguishes_broken_import(tmp_path): - for package in ("autoconf", "autofit"): + for package in ("autonerves", "autofit"): package_path = tmp_path / package package_path.mkdir() body = ( diff --git a/autoassistant/tests/test_mcp_tools.py b/autoassistant/tests/test_mcp_tools.py index 75cad2b..f64b7ba 100644 --- a/autoassistant/tests/test_mcp_tools.py +++ b/autoassistant/tests/test_mcp_tools.py @@ -15,7 +15,7 @@ from PIL import Image import autofit as af -from autoconf import conf +from autonerves import conf from autoassistant.mcp import tools diff --git a/hpc/template.py b/hpc/template.py index 88f4105..62ae0d6 100644 --- a/hpc/template.py +++ b/hpc/template.py @@ -51,11 +51,11 @@ Anchor config and output to the project root (the directory holding this script's parent), so the script behaves identically from a local shell and from a SLURM batch -working directory (`PyAutoConf:autoconf/conf.py`). +working directory (`PyAutoNerves:autonerves/conf.py`). """ PROJECT_PATH = Path(__file__).resolve().parents[1] -from autoconf import conf +from autonerves import conf conf.instance.push( new_path=str(PROJECT_PATH / "config"), diff --git a/skills/_bootstrap_skill.md b/skills/_bootstrap_skill.md index 5d4f37a..b9817b3 100644 --- a/skills/_bootstrap_skill.md +++ b/skills/_bootstrap_skill.md @@ -47,7 +47,7 @@ touch. Common patterns: - Model composition, priors, searches, samples, aggregator, graphical models → `PyAutoFit`. -- Configuration option → `PyAutoConf` + the config you're touching. +- Configuration option → `PyAutoNerves` + the config you're touching. - Construction idioms and worked examples → `autofit_workspace` (read-only reference). If the new skill needs a repo not in `sources.yaml`, add it there first (with a `name`, diff --git a/skills/af_adapt_to_domain.md b/skills/af_adapt_to_domain.md index 253cb81..8b5373d 100644 --- a/skills/af_adapt_to_domain.md +++ b/skills/af_adapt_to_domain.md @@ -73,7 +73,7 @@ later. Run [`af_compose_model`](./af_compose_model.md) for their standard model(s). If a parametrisation is truly standard for them, offer to write its priors into `config/priors/` as project defaults (see -[[../wiki/core/stack/autoconf]]) and to serialise the composed model to JSON — both make +[[../wiki/core/stack/autonerves]]) and to serialise the composed model to JSON — both make "the usual model" a one-liner in every future script. ## Combine — proving and closing the loop diff --git a/skills/af_audit_skill_apis.md b/skills/af_audit_skill_apis.md index 323160a..9f7179c 100644 --- a/skills/af_audit_skill_apis.md +++ b/skills/af_audit_skill_apis.md @@ -42,8 +42,8 @@ one with the PyAuto\* stack — source the project's `activate.sh` first. ```bash source activate.sh -python -c "import autoconf, autofit; \ -print({m.__name__: getattr(m, '__version__', '?') for m in [autoconf, autofit]})" +python -c "import autonerves, autofit; \ +print({m.__name__: getattr(m, '__version__', '?') for m in [autonerves, autofit]})" ``` If those imports fail, stop and route the user to @@ -226,7 +226,7 @@ A complete audit may surface ten or more misses. Don't try to fix all of them in push. Ask the user how they want to slice the work: - *"Fix the skill that triggered this audit first, then sweep the rest?"* -- *"Group fixes by library — the autoconf drift in one pass, the PyAutoFit drift in +- *"Group fixes by library — the autonerves drift in one pass, the PyAutoFit drift in another?"* - *"One file per commit, or batch?"* @@ -323,7 +323,7 @@ complete. ## Agent procedural checklist 1. Confirm scope (skills / wiki / scripts / all) and whether to apply fixes now. -2. `source activate.sh`; verify autoconf + autofit import. +2. `source activate.sh`; verify autonerves + autofit import. 3. `python autoassistant/audit_skill_apis.py --check-version` — is the installed stack still on the pinned baseline? If it drifted, that's likely *why* you're here. 4. `python autoassistant/audit_skill_apis.py --scope `. diff --git a/skills/af_configure_search.md b/skills/af_configure_search.md index 4700854..ef64bea 100644 --- a/skills/af_configure_search.md +++ b/skills/af_configure_search.md @@ -102,7 +102,7 @@ telling the user before they wonder why a second run finishes instantly. Per-sampler defaults live in `config/non_linear/` — a project can retune a sampler globally there instead of repeating kwargs in every script -(`PyAutoConf:autoconf/conf.py`). +(`PyAutoNerves:autonerves/conf.py`). ## Combine diff --git a/skills/af_refresh_api_docs.md b/skills/af_refresh_api_docs.md index 4acf3fd..38cf016 100644 --- a/skills/af_refresh_api_docs.md +++ b/skills/af_refresh_api_docs.md @@ -36,8 +36,8 @@ Start from an environment where the PyAuto* stack imports cleanly: ```bash source activate.sh -python -c "import autoconf, autofit; \ -print({m.__name__: getattr(m, '__version__', '?') for m in [autoconf, autofit]})" +python -c "import autonerves, autofit; \ +print({m.__name__: getattr(m, '__version__', '?') for m in [autonerves, autofit]})" ``` If those imports fail, stop and route the user to @@ -152,7 +152,7 @@ Then commit on the cadence they chose. ## Agent procedural checklist 1. Confirm scope, reference point, and whether this is report-only or fix-and-commit. -2. `source activate.sh`; verify autoconf + autofit import. +2. `source activate.sh`; verify autonerves + autofit import. 3. Run `python autoassistant/refresh_api_docs.py --scope ` to do preflight and launch the audit. 4. Read the audit report and fix symbol drift first. 5. For wiki pages in scope, diff each page's pinned sources against the target repo HEAD and rewrite only changed sections. diff --git a/skills/af_setup_environment.md b/skills/af_setup_environment.md index b3e7217..9757396 100644 --- a/skills/af_setup_environment.md +++ b/skills/af_setup_environment.md @@ -5,7 +5,7 @@ description: Detect, install, and configure a Python environment for the PyAutoF # Setting up an environment for the PyAuto\* stack -This skill installs the libraries the workspace targets — PyAutoConf and PyAutoFit — +This skill installs the libraries the workspace targets — PyAutoNerves and PyAutoFit — and prepares the sandbox so the rest of the skills will run. The user picks one of two install modes only if the active environment is not already usable: pip (fastest path to "import autofit works") or editable-clone (source-level access, slower but lets you read @@ -57,7 +57,7 @@ For background on what each library does, point at `wiki/core/stack/overview.md` ## Branch — Pip install -The simplest path. PyAutoFit declares autoconf as a transitive dep, so a single +The simplest path. PyAutoFit declares autonerves as a transitive dep, so a single `pip install` pulls everything in. ```bash @@ -79,7 +79,7 @@ protocol SDK (assistant-environment only — never a library requirement). Verify: ```bash -python -c "import autofit, autoconf; print(autofit.__version__)" +python -c "import autofit, autonerves; print(autofit.__version__)" ``` If that prints a version (no traceback), the install is good. @@ -96,7 +96,7 @@ mkdir -p sources && cd sources # Order matters — install from the bottom of the dependency chain up. # URLs come from ../sources.yaml. -git clone https://github.com/PyAutoLabs/PyAutoConf.git +git clone https://github.com/PyAutoLabs/PyAutoNerves.git git clone https://github.com/PyAutoLabs/PyAutoFit.git cd .. @@ -105,7 +105,7 @@ python3.11 -m venv .venv source .venv/bin/activate pip install --upgrade pip -for repo in PyAutoConf PyAutoFit; do +for repo in PyAutoNerves PyAutoFit; do pip install -e "sources/$repo" done ``` @@ -117,7 +117,7 @@ than hand-editing this skill. Verify the same way as for pip: ```bash -python -c "import autofit, autoconf; print(autofit.__version__)" +python -c "import autofit, autonerves; print(autofit.__version__)" ``` ## Sandbox / restricted-filesystem environments @@ -139,10 +139,10 @@ real inference. Save this to `scripts/verify_environment.py` and run it: ```python -import autoconf +import autonerves import autofit as af -print("autoconf :", autoconf.__version__) +print("autonerves :", autonerves.__version__) print("autofit :", af.__version__) # A minimal model composition — proves the inference stack is wired up. diff --git a/skills/af_update_wiki.md b/skills/af_update_wiki.md index decfd35..288ee41 100644 --- a/skills/af_update_wiki.md +++ b/skills/af_update_wiki.md @@ -18,7 +18,7 @@ dumps go in the libraries' own docs/ folders — that's not what this wiki is fo Before starting, confirm with the user: -- Which source repos to update against — both (PyAutoConf + PyAutoFit), or one? +- Which source repos to update against — both (PyAutoNerves + PyAutoFit), or one? - Whether to update against `main` of each repo, or a tagged release. - Whether to commit changes incrementally per-page or in one batch at the end. diff --git a/skills/start-new-project.md b/skills/start-new-project.md index e42cb12..7150aab 100644 --- a/skills/start-new-project.md +++ b/skills/start-new-project.md @@ -95,7 +95,7 @@ reproducible-science subset; generate the thin assistant layer; refer back for e else. **Copy from the assistant into the project** (the science needs these to run): -- `config/` (PyAutoConf YAML — search defaults, priors, output policy) +- `config/` (PyAutoNerves YAML — search defaults, priors, output policy) - `activate.sh` (sourced locally and by HPC batch scripts) - `scripts/` (the chosen analysis scripts, or empty) - datasets (Step 3) into `data//...` diff --git a/sources.yaml b/sources.yaml index d8a86b9..9299f1b 100644 --- a/sources.yaml +++ b/sources.yaml @@ -9,10 +9,10 @@ # the reference branch. projects: - - name: PyAutoConf - import: autoconf + - name: PyAutoNerves + import: autonerves role: config # YAML config loading, prior resolution - git: https://github.com/PyAutoLabs/PyAutoConf + git: https://github.com/PyAutoLabs/PyAutoNerves - name: PyAutoFit import: autofit @@ -37,5 +37,5 @@ projects: # Dependency chain (top-to-bottom). Skills target the top; lower layers # surface in the wiki when the user needs to understand them. dependency_chain: - - PyAutoConf + - PyAutoNerves - PyAutoFit diff --git a/wiki/core/README.md b/wiki/core/README.md index f779683..f05dc6e 100644 --- a/wiki/core/README.md +++ b/wiki/core/README.md @@ -11,7 +11,7 @@ the user's domain papers and a per-clone journal respectively (see - [`index.md`](./index.md) — top-level map; the entry point for an agent or human reader. -- `stack/` — one page per source library (`autoconf`, `autofit`), plus an overview of +- `stack/` — one page per source library (`autonerves`, `autofit`), plus an overview of how they fit together. - `concepts/` — statistics + framework explanations: priors, model composition, searches, samples, graphical models, evidence. diff --git a/wiki/core/api_audit_baseline.json b/wiki/core/api_audit_baseline.json index c5cb9f0..60559d5 100644 --- a/wiki/core/api_audit_baseline.json +++ b/wiki/core/api_audit_baseline.json @@ -1,18 +1,18 @@ { "_comment": "API baseline for autofit_assistant - see autoassistant/audit_skill_apis.py and skills/af_audit_skill_apis.md. Regenerate with --write-baseline.", - "generated": "2026-07-15", + "generated": "2026-07-19", "versions": { - "autoconf": "2026.7.15.1", - "autofit": "2026.7.15.1" + "autonerves": "2026.7.19.1", + "autofit": "2026.7.19.1" }, "api_surface": { - "autoconf": { - "hash": "0626ae4028a736ba3c4d5217c05d87ce1b984b46b0f4b0f00a1044b61f79d040", - "n_symbols": 31 + "autonerves": { + "hash": "7bd5c3b0830f6a87158e90563cd2b65d3484482df75c125376506c160ce1074e", + "n_symbols": 32 }, "autofit": { - "hash": "141cb9b8a13b9074957c5570086b761e033aa7993609a55a3bcd21cc77ea3d64", - "n_symbols": 128 + "hash": "1d9f01f2162cfd268d225f4e1caad80ab0c8d874036a401eba93fcffdee8a896", + "n_symbols": 147 }, "autofit.plot": { "hash": "1022e867680f8013127c6143dc9ac3a0d063c4574b95945b46130edda318d4b8", diff --git a/wiki/core/concepts/model_composition_and_priors.md b/wiki/core/concepts/model_composition_and_priors.md index 009828a..5cb58f1 100644 --- a/wiki/core/concepts/model_composition_and_priors.md +++ b/wiki/core/concepts/model_composition_and_priors.md @@ -6,7 +6,7 @@ sources: - autofit/mapper/ pinned_commit: 4592990b14cacab243cde9c17789d463ff4a674f last_updated: 2026-07-10 -content_sha256: 25b10f67608b965f4e3c814d2af9f1ed0a8591919abc4abdd54023210329a5d6 +content_sha256: 17c0db29d642cd841aad4a4f91026be19cbdef490d0afee521140ef26590a9d8 --- # Model composition and priors @@ -34,7 +34,7 @@ Rules of thumb: reasoning in the project journal; never rely on defaults for a production analysis. - Priors can also live in `config/priors/*.yaml`, keyed by class — the right home for a *project's standard* parametrisation, so scripts stay clean and the choice is - centralised (`PyAutoConf:autoconf/`). + centralised (`PyAutoNerves:autonerves/`). ## Customization diff --git a/wiki/core/index.md b/wiki/core/index.md index 8a01b5d..7ac78cb 100644 --- a/wiki/core/index.md +++ b/wiki/core/index.md @@ -6,9 +6,9 @@ committed API baseline is `api_audit_baseline.json`. ## The stack -- [stack/overview.md](./stack/overview.md) — how `autoconf` and `autofit` fit together. +- [stack/overview.md](./stack/overview.md) — how `autonerves` and `autofit` fit together. - [stack/autofit.md](./stack/autofit.md) — the inference engine, sub-system by sub-system. -- [stack/autoconf.md](./stack/autoconf.md) — configuration and prior resolution. +- [stack/autonerves.md](./stack/autonerves.md) — configuration and prior resolution. ## Concepts (the statistics the assistant uses on your behalf) diff --git a/wiki/core/operations/installation.md b/wiki/core/operations/installation.md index 5a1f321..1a3b134 100644 --- a/wiki/core/operations/installation.md +++ b/wiki/core/operations/installation.md @@ -6,7 +6,7 @@ sources: - pyproject.toml pinned_commit: 4592990b14cacab243cde9c17789d463ff4a674f last_updated: 2026-07-10 -content_sha256: 20af1b79664d3bfc1a6f9fe46c5f1038a7bf5e932cbecd6ba4bdb7498a3ad789 +content_sha256: 07e6c8ae383127cf837bb2b5007e078ec541477d31dd49f93ac07cbe83a56b8f --- # Installation @@ -17,14 +17,14 @@ The short version — full guided procedure in the `af_setup_environment` skill: python3.11 -m venv .venv source .venv/bin/activate pip install --upgrade pip -pip install autofit # pulls autoconf transitively +pip install autofit # pulls autonerves transitively python -c "import autofit; print(autofit.__version__)" ``` - **Python**: ≥ 3.9 declared; 3.11 recommended (what the tooling targets). - **JAX extra**: `pip install "autofit[jax]"` when the likelihood is JAX-differentiable and gradient-based search (`af.BlackJAXNUTS`) is wanted. -- **Editable clones** (to read/modify library source): clone `PyAutoConf` then +- **Editable clones** (to read/modify library source): clone `PyAutoNerves` then `PyAutoFit` (URLs in `sources.yaml`), `pip install -e` each in that order. - **Your own dependencies** install alongside in the same venv — the assistant never reshapes your code to fit the environment. diff --git a/wiki/core/operations/sandbox.md b/wiki/core/operations/sandbox.md index 81ead26..d000dd2 100644 --- a/wiki/core/operations/sandbox.md +++ b/wiki/core/operations/sandbox.md @@ -1,9 +1,9 @@ --- title: Sandbox and environment variables sources: - - project: PyAutoConf + - project: PyAutoNerves paths: - - autoconf/ + - autonerves/ pinned_commit: 89c4714449797b0c049e8a95d16d499c863f4811 last_updated: 2026-07-10 content_sha256: 68b1f5e3b5b36fbb2b8fa030ba41f0d1de8df8d8fb830fc0b729c5c8a0a644f1 diff --git a/wiki/core/stack/autoconf.md b/wiki/core/stack/autonerves.md similarity index 67% rename from wiki/core/stack/autoconf.md rename to wiki/core/stack/autonerves.md index 166be84..cafbb6d 100644 --- a/wiki/core/stack/autoconf.md +++ b/wiki/core/stack/autonerves.md @@ -1,32 +1,32 @@ --- -title: PyAutoConf (autoconf) +title: PyAutoNerves (autonerves) sources: - - project: PyAutoConf + - project: PyAutoNerves paths: - - autoconf/ + - autonerves/ pinned_commit: 89c4714449797b0c049e8a95d16d499c863f4811 last_updated: 2026-07-10 -content_sha256: 0696bbee076d6e484e290c345ec017479c7a69477a387a300f790a4eda9afa63 +content_sha256: e4eb6576a6ba6399d37707342188663758a0d224ae3c2a20bfd0952641a47c71 --- -# PyAutoConf (`autoconf`) +# PyAutoNerves (`autonerves`) The configuration layer under the whole PyAuto family. For an autofit user it matters in three places: -1. **Config trees.** The workspace's `config/` directory is an autoconf config tree: +1. **Config trees.** The workspace's `config/` directory is an autonerves config tree: `general.yaml`, `logging.yaml`, `output.yaml`, `non_linear/*.yaml` (per-search defaults), `priors/*.yaml`, `visualize/*.yaml`. Values resolve **workspace-first**: a key present in the project's `config/` overrides the library default — which is how a project retunes a sampler or an output policy once, globally - (`PyAutoConf:autoconf/conf.py`). + (`PyAutoNerves:autonerves/conf.py`). 2. **Default priors by class.** `config/priors/.yaml` (or module-level files) supply priors for model classes so scripts need not repeat them — the right home - for a project's standard parametrisation. Note: autoconf lowercases YAML dict + for a project's standard parametrisation. Note: autonerves lowercases YAML dict keys on load — keep config keys snake_case-lowercase. -3. **Serialisation.** The dictable machinery (`autoconf.dictable`) underlies model +3. **Serialisation.** The dictable machinery (`autonerves.dictable`) underlies model JSON round-tripping ([[../concepts/model_composition_and_priors]] "Serialisation"). -Users rarely import `autoconf` directly; they feel it through `config/` behaviour. +Users rarely import `autonerves` directly; they feel it through `config/` behaviour. When a config value seems ignored, check resolution order (is a workspace file shadowing the library default?) before suspecting the library. diff --git a/wiki/core/stack/overview.md b/wiki/core/stack/overview.md index d6c8c38..cf19931 100644 --- a/wiki/core/stack/overview.md +++ b/wiki/core/stack/overview.md @@ -5,12 +5,12 @@ sources: paths: - autofit/__init__.py pinned_commit: 4592990b14cacab243cde9c17789d463ff4a674f - - project: PyAutoConf + - project: PyAutoNerves paths: - - autoconf/__init__.py + - autonerves/__init__.py pinned_commit: 89c4714449797b0c049e8a95d16d499c863f4811 last_updated: 2026-07-10 -content_sha256: 37c8d4947e08d3285aace1874b93fd42a7617f9e564135128f3c536a25112cdd +content_sha256: 0d5cfe36dcf548f81a00ddf0c3d2e7727cd48dd2e0ce85a59fae2cf5420c8057 --- # The stack @@ -18,7 +18,7 @@ content_sha256: 37c8d4947e08d3285aace1874b93fd42a7617f9e564135128f3c536a25112cdd Two libraries, one dependency edge: ``` -PyAutoConf (autoconf) — configuration: YAML config trees, prior resolution +PyAutoNerves (autonerves) — configuration: YAML config trees, prior resolution ▲ PyAutoFit (autofit) — the inference engine: models, priors, searches, samples, aggregator, graphical models @@ -28,7 +28,7 @@ PyAutoFit (autofit) — the inference engine: models, priors, searches, become models ([[../concepts/model_composition_and_priors]]), their likelihood becomes an `Analysis`, and PyAutoFit supplies everything either side of that seam. -- What each library is: [[autofit]] · [[autoconf]]. +- What each library is: [[autofit]] · [[autonerves]]. - Domain layers (PyAutoGalaxy, PyAutoLens, …) are separate PyAutoLabs projects built on this same engine; this assistant deliberately targets the engine itself.