From 1f4a9f7603388bccfc8028a1f492fe0d84f0250b Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Wed, 8 Jul 2026 18:06:42 +0100 Subject: [PATCH] fix: canonical PyAutoLabs org URLs, cross-harness code-gate self-enforcement, tooling parity MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase D of the deep audit (#35). The stale-org sweep: 40 URLs across skills, wiki/core stack pages, README and llms-adjacent docs still pointed at github.com/Jammy2211|rhayes777 for repos that live in the PyAutoLabs org per the sources.yaml/repos.yaml body map — all rewritten (PyAutoLogo untouched; it has not moved). Worst instance: al_setup_environment's editable-clone recipe cloned five repos from the old owners while instructing 'resolve URLs from sources.yaml'; the recipe now matches the registry and notes the redirect. AGENTS.md: the code gate was described as ambient, but the PreToolUse hook only exists on hook-capable harnesses (Claude Code) — Codex/ Gemini/OpenCode/Copilot sessions got no enforcement and no instruction. The invariant now tells non-hook harnesses to self-enforce via audit_skill_apis --code/--file before executing generated PyAuto* code. (Plot-API claim re-verified: MatPlot2D/Output genuinely gone; llms.txt and .gemini wiring checked current.) refresh_api_docs.py --scope gains 'scripts' for parity with the audit's scopes. literature.py and hpc/ reviewed, no changes. Co-Authored-By: Claude Fable 5 --- AGENTS.md | 6 +++++- autoassistant/refresh_api_docs.py | 4 ++-- skills/al_adaptive_pixelization.md | 2 +- skills/al_aggregator_bulk_analysis.md | 2 +- skills/al_build_imaging_model.md | 2 +- skills/al_build_interferometer_model.md | 2 +- skills/al_chain_searches.md | 2 +- skills/al_cluster_csv_api.md | 2 +- skills/al_configure_search.md | 2 +- skills/al_custom_analysis.md | 2 +- skills/al_custom_profile.md | 2 +- skills/al_datacube_modeling.md | 2 +- skills/al_debug_fit_failure.md | 2 +- skills/al_group_lensing.md | 2 +- skills/al_hierarchical_inference.md | 2 +- skills/al_inspect_source_reconstruction.md | 4 ++-- skills/al_load_results.md | 2 +- skills/al_mge_decomposition.md | 2 +- skills/al_multi_dataset.md | 2 +- skills/al_plot_fit_residuals.md | 2 +- skills/al_plot_tracer.md | 2 +- skills/al_point_source.md | 2 +- skills/al_prepare_imaging_data.md | 2 +- skills/al_run_search.md | 2 +- skills/al_run_slam_pipeline.md | 2 +- skills/al_sensitivity_mapping.md | 2 +- skills/al_setup_environment.md | 12 +++++++----- skills/al_simulate_dataset.md | 2 +- skills/al_subhalo_detect.md | 2 +- skills/al_time_delay_cosmography.md | 2 +- skills/al_weak_lensing.md | 2 +- wiki/core/concepts/inversions_and_pixelizations.md | 2 +- wiki/core/operations/installation.md | 10 +++++----- wiki/core/stack/autoarray.md | 2 +- wiki/core/stack/autoconf.md | 2 +- wiki/core/stack/autofit.md | 2 +- wiki/core/stack/autogalaxy.md | 2 +- wiki/core/stack/autolens.md | 2 +- 38 files changed, 54 insertions(+), 48 deletions(-) diff --git a/AGENTS.md b/AGENTS.md index dc6038a..93624f8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -36,7 +36,11 @@ deliberate refactor). Two are NEVER overridden: the real-data gate and never-rew bundled-dataset masks, exemptions: [`skills/al_prepare_imaging_data.md`](./skills/al_prepare_imaging_data.md). Simulated data is exempt. - **Code gate.** A PreToolUse hook validates PyAuto* symbols against the installed library and blocks ones written from memory. If blocked, don't guess — grep `skills/` or introspect - `dir()`, then re-run. (Manual run + bypass: [`skills/al_audit_skill_apis.md`](./skills/al_audit_skill_apis.md).) + `dir()`, then re-run. The hook fires only on harnesses with hook support (Claude Code); + **on any other harness (Codex, Gemini, OpenCode, Copilot, chat) self-enforce it**: run + `python autoassistant/audit_skill_apis.py --code ""` (or `--file `) on + generated PyAuto* code before executing it. (Manual run + bypass: + [`skills/al_audit_skill_apis.md`](./skills/al_audit_skill_apis.md).) - **Never write into `output/`** (PyAutoFit runtime) **or `sources/`** (cloned repos); agent-authored Python → `scripts/` or `scripts/scratch/`. - **`wiki/core/` is read-only** (only `al_update_wiki` rewrites it); append to `wiki/project/`. diff --git a/autoassistant/refresh_api_docs.py b/autoassistant/refresh_api_docs.py index 54dbdf6..001ac2b 100644 --- a/autoassistant/refresh_api_docs.py +++ b/autoassistant/refresh_api_docs.py @@ -50,9 +50,9 @@ def main() -> int: parser = argparse.ArgumentParser() parser.add_argument( "--scope", - choices=("skills", "wiki", "all"), + choices=("skills", "wiki", "scripts", "all"), default="all", - help="Which maintenance surface to audit.", + help="Which maintenance surface to audit (matches audit_skill_apis.py --scope).", ) args = parser.parse_args() diff --git a/skills/al_adaptive_pixelization.md b/skills/al_adaptive_pixelization.md index 29976d6..dc4835f 100644 --- a/skills/al_adaptive_pixelization.md +++ b/skills/al_adaptive_pixelization.md @@ -60,7 +60,7 @@ image as the adapt source. pedagogical adaptive-pixelisation walkthrough. - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): pixelisation feature section. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/pixelization/adaptive.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/features/pixelization/adaptive.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/pixelization/adaptive.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/features/pixelization/adaptive.py): the canonical adaptive setup. See also [`wiki/core/concepts/inversions_and_pixelizations.md`](../wiki/core/concepts/inversions_and_pixelizations.md) diff --git a/skills/al_aggregator_bulk_analysis.md b/skills/al_aggregator_bulk_analysis.md index ec147c8..b7c701c 100644 --- a/skills/al_aggregator_bulk_analysis.md +++ b/skills/al_aggregator_bulk_analysis.md @@ -70,7 +70,7 @@ stacks (model image, residuals, source map) and PNG sets per fit. lensing physics). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): results / aggregator section. -- **Experienced PyAutoLens user** — [workspace/lens: guides/results/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/results/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/results/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/results/start_here.py): the entry point — sub-folders cover aggregator, database, workflow outputs. diff --git a/skills/al_build_imaging_model.md b/skills/al_build_imaging_model.md index 786146f..5c366c7 100644 --- a/skills/al_build_imaging_model.md +++ b/skills/al_build_imaging_model.md @@ -162,6 +162,6 @@ Natural next steps: - **General reference** — [RTD: Model cookbook](https://pyautolens.readthedocs.io/en/latest/general/model_cookbook.html): systematic reference for building lens models with `Model` and `Collection` — two-component to multi-galaxy, prior customisation, parameter pairing, MGE. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/modeling/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/modeling/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/modeling/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/modeling/start_here.py): the canonical imaging-modeling script — light-profile choice (Sersic vs. MGE), non-linear-search configuration, JAX/GPU fitting. diff --git a/skills/al_build_interferometer_model.md b/skills/al_build_interferometer_model.md index 3914c15..755628f 100644 --- a/skills/al_build_interferometer_model.md +++ b/skills/al_build_interferometer_model.md @@ -103,6 +103,6 @@ for a complete example. - **General reference** — [RTD: Features overview](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): tour of advanced features including interferometry, where the visibility-plane fit fits alongside MGE / pixelization / multi-wavelength capabilities. -- **Experienced PyAutoLens user** — [workspace/lens: interferometer/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/interferometer/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: interferometer/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/interferometer/start_here.py): canonical strong-lens fit of radio/mm interferometer data — NUFFT-based forward model, scaling to millions of visibilities. diff --git a/skills/al_chain_searches.md b/skills/al_chain_searches.md index 244ca48..614bac8 100644 --- a/skills/al_chain_searches.md +++ b/skills/al_chain_searches.md @@ -144,5 +144,5 @@ doesn't match your problem. - **General reference** — [RTD: Model cookbook](https://pyautolens.readthedocs.io/en/latest/general/model_cookbook.html): systematic reference for inheriting and adjusting priors between models, the mechanical core of chaining. -- **Experienced PyAutoLens user** — [workspace/lens: guides/modeling/slam_start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/modeling/slam_start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/modeling/slam_start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/modeling/slam_start_here.py): SLaM is the canonical multi-phase chain; this script overviews it stage-by-stage. diff --git a/skills/al_cluster_csv_api.md b/skills/al_cluster_csv_api.md index ebc2656..84a5f7a 100644 --- a/skills/al_cluster_csv_api.md +++ b/skills/al_cluster_csv_api.md @@ -67,7 +67,7 @@ fit. lensing is research-grade). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): cluster lensing in the feature tour. -- **Experienced PyAutoLens user** — [workspace/lens: cluster/csv_api.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/cluster/csv_api.py): +- **Experienced PyAutoLens user** — [workspace/lens: cluster/csv_api.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/cluster/csv_api.py): the canonical CSV schema + round-trip demo. See also [`wiki/core/api/csv_api.md`](../wiki/core/api/csv_api.md) for the diff --git a/skills/al_configure_search.md b/skills/al_configure_search.md index 642fc8e..423d331 100644 --- a/skills/al_configure_search.md +++ b/skills/al_configure_search.md @@ -135,6 +135,6 @@ See [`al_load_results`](./al_load_results.md) for the inverse — loading what - **General reference** — [RTD: Features overview](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): tour of advanced capabilities; search configuration interacts directly with most of them (especially pixelization, MGE, point-source). -- **Experienced PyAutoLens user** — [workspace/lens: guides/modeling/slam_start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/modeling/slam_start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/modeling/slam_start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/modeling/slam_start_here.py): the SLaM pipeline pre-configures sensible searches per stage — a reference for *which* knobs matter at *which* phase. diff --git a/skills/al_custom_analysis.md b/skills/al_custom_analysis.md index 8750513..8ebd6fc 100644 --- a/skills/al_custom_analysis.md +++ b/skills/al_custom_analysis.md @@ -91,7 +91,7 @@ external prior on a derived quantity). Source: - **Student / new to lensing** — _ (advanced PyAutoFit topic). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): analysis customisation in the feature tour. -- **Experienced PyAutoLens user** — [workspace/lens: guides/advanced/custom_analysis.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/advanced/custom_analysis.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/advanced/custom_analysis.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/advanced/custom_analysis.py): the canonical custom-analysis walkthrough. See also [`wiki/core/api/analysis_objects.md`](../wiki/core/api/analysis_objects.md) diff --git a/skills/al_custom_profile.md b/skills/al_custom_profile.md index 5cc3320..2448729 100644 --- a/skills/al_custom_profile.md +++ b/skills/al_custom_profile.md @@ -182,6 +182,6 @@ For mass profiles, also sanity-check `convergence_2d_from` against a known case - **General reference** — [RTD: Model cookbook](https://pyautolens.readthedocs.io/en/latest/general/model_cookbook.html): systematic model-composition reference; covers using non-standard profiles inside `Model` and `Collection`. -- **Experienced PyAutoLens user** — [workspace/lens: guides/profiles/light.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/profiles/light.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/profiles/light.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/profiles/light.py): catalog of the built-in light profiles in `al.lp.*` — the patterns your subclass should match. diff --git a/skills/al_datacube_modeling.md b/skills/al_datacube_modeling.md index 1a153cf..009f923 100644 --- a/skills/al_datacube_modeling.md +++ b/skills/al_datacube_modeling.md @@ -57,7 +57,7 @@ intensities — useful for line-emission morphology. - **Student / new to lensing** — _ (specialist workflow). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): interferometer / datacube feature section. -- **Experienced PyAutoLens user** — [workspace/lens: interferometer/features/datacube/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/interferometer/features/datacube/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: interferometer/features/datacube/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/interferometer/features/datacube/start_here.py): the canonical datacube walkthrough. See also [`wiki/core/api/datacube.md`](../wiki/core/api/datacube.md) for diff --git a/skills/al_debug_fit_failure.md b/skills/al_debug_fit_failure.md index 907ecd6..86770b8 100644 --- a/skills/al_debug_fit_failure.md +++ b/skills/al_debug_fit_failure.md @@ -116,6 +116,6 @@ inputs — [`al_run_search`](./al_run_search.md) — and re-loading the new resu - **General reference** — [RTD: Demagnified solutions](https://pyautolens.readthedocs.io/en/latest/general/demagnified_solutions.html): how unphysical demagnified-source reconstructions arise in pixelised fits, and how `PositionsLH` penalties prevent them. -- **Experienced PyAutoLens user** — [workspace/lens: guides/tracer.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/tracer.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/tracer.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/tracer.py): inspecting an inferred model via `Tracer` — the patterns this skill uses to pull apart a failed fit. diff --git a/skills/al_group_lensing.md b/skills/al_group_lensing.md index 52d4ea4..e810588 100644 --- a/skills/al_group_lensing.md +++ b/skills/al_group_lensing.md @@ -61,7 +61,7 @@ the scaling relation. Composed in one model. lensing is an advanced topic). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): group lensing in the feature tour. -- **Experienced PyAutoLens user** — [workspace/lens: group/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/group/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: group/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/group/start_here.py): the canonical group fit — extra galaxies, scaling relations, group SLaM. diff --git a/skills/al_hierarchical_inference.md b/skills/al_hierarchical_inference.md index e062645..1100120 100644 --- a/skills/al_hierarchical_inference.md +++ b/skills/al_hierarchical_inference.md @@ -55,7 +55,7 @@ Workspace path: `autolens_workspace:scripts/guides/modeling/advanced/hierarchica - **Student / new to lensing** — _ (advanced PyAutoFit topic). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): graphical models in the feature tour. -- **Experienced PyAutoLens user** — [workspace/lens: guides/modeling/advanced/hierarchical.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/modeling/advanced/hierarchical.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/modeling/advanced/hierarchical.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/modeling/advanced/hierarchical.py): canonical hierarchical setup; sibling files cover graphical models and expectation propagation. diff --git a/skills/al_inspect_source_reconstruction.md b/skills/al_inspect_source_reconstruction.md index 55fa6df..5a82bc6 100644 --- a/skills/al_inspect_source_reconstruction.md +++ b/skills/al_inspect_source_reconstruction.md @@ -48,7 +48,7 @@ function-style plot API is documented in > ⚠️ **Known regression in `2026.5.21.1`.** `Delaunay` and `KNNBarycentric` > currently crash inside `FitImaging` (`'NoneType' object has no attribute > 'array'`). Use `al.mesh.RectangularUniform` for now; tracking: -> . +> . ## Branch — source-plane reconstruction @@ -147,6 +147,6 @@ appear. - **General reference** — [RTD: Features overview](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): the pixelization feature sits here alongside MGE / interferometry / shapelets — links into deeper docs. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/pixelization/modeling.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/features/pixelization/modeling.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/pixelization/modeling.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/features/pixelization/modeling.py): rectangular-mesh + constant-regularization pixelization model — production pattern for extended-arc sources. diff --git a/skills/al_load_results.md b/skills/al_load_results.md index 958b2b8..aee649a 100644 --- a/skills/al_load_results.md +++ b/skills/al_load_results.md @@ -193,6 +193,6 @@ Sub-paths vary for interferometer / multi-wavelength fits. - **General reference** — [RTD: Likelihood function](https://pyautolens.readthedocs.io/en/latest/general/likelihood_function.html): how PyAutoLens computes likelihoods — useful when interpreting a loaded `samples.csv` or `model.results`. -- **Experienced PyAutoLens user** — [workspace/lens: guides/results/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/results/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/results/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/results/start_here.py): loading single fits from JSON/CSV and the aggregator pattern for hundreds of fits at once. diff --git a/skills/al_mge_decomposition.md b/skills/al_mge_decomposition.md index 0062c75..a1f2b2c 100644 --- a/skills/al_mge_decomposition.md +++ b/skills/al_mge_decomposition.md @@ -70,7 +70,7 @@ useful for stellar-dynamics-style decompositions. HowToLens has its own chapter for). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): MGE in the feature tour. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/multi_gaussian_expansion/modeling.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/features/multi_gaussian_expansion/modeling.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/multi_gaussian_expansion/modeling.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/features/multi_gaussian_expansion/modeling.py): the canonical MGE modeling script; sibling files cover SLaM, fit, likelihood. diff --git a/skills/al_multi_dataset.md b/skills/al_multi_dataset.md index ce15ba4..4d26b91 100644 --- a/skills/al_multi_dataset.md +++ b/skills/al_multi_dataset.md @@ -132,7 +132,7 @@ set the wavelength-varying parameter from a shared relation (e.g. a linear - **Student / new to lensing** — _ (no direct HowToLens chapter). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): multi-dataset section. -- **Experienced PyAutoLens user** — [workspace/lens: multi/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/multi/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: multi/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/multi/start_here.py): the canonical multi-dataset walkthrough; features/ folder has per-scenario examples. diff --git a/skills/al_plot_fit_residuals.md b/skills/al_plot_fit_residuals.md index a1903f2..3dfecbf 100644 --- a/skills/al_plot_fit_residuals.md +++ b/skills/al_plot_fit_residuals.md @@ -140,5 +140,5 @@ what each residual pattern usually means physically. Common cases: - **General reference** — [RTD: Likelihood function](https://pyautolens.readthedocs.io/en/latest/general/likelihood_function.html): how PyAutoLens computes the likelihood the residuals contribute to — useful for interpreting structured residuals statistically. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/results/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/results/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/results/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/results/start_here.py): production-quality fit inspection — residuals, chi-squared, FITS exports. diff --git a/skills/al_plot_tracer.md b/skills/al_plot_tracer.md index 41c01df..2f7e40a 100644 --- a/skills/al_plot_tracer.md +++ b/skills/al_plot_tracer.md @@ -127,6 +127,6 @@ explanation. - **General reference** — [RTD: Start here](https://pyautolens.readthedocs.io/en/latest/overview/overview_1_start_here.html): the `Tracer` object in action — building one, evaluating it on a grid, plotting the result. -- **Experienced PyAutoLens user** — [workspace/lens: guides/tracer.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/tracer.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/tracer.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/tracer.py): full pattern for inspecting an inferred `Tracer` — ray tracing, profiles, numpy arrays, visualization. diff --git a/skills/al_point_source.md b/skills/al_point_source.md index 7b49dc1..4925740 100644 --- a/skills/al_point_source.md +++ b/skills/al_point_source.md @@ -69,7 +69,7 @@ H0-inference workflow built on top of this. positions-only fitting looks like in isolation. - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): short PointDataset / AnalysisPoint section in the feature tour. -- **Experienced PyAutoLens user** — [workspace/lens: point_source/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/point_source/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: point_source/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/point_source/start_here.py): full point-source fitting walkthrough — dataset, model, analysis, fit inspection. diff --git a/skills/al_prepare_imaging_data.md b/skills/al_prepare_imaging_data.md index 99f8396..e400c4a 100644 --- a/skills/al_prepare_imaging_data.md +++ b/skills/al_prepare_imaging_data.md @@ -185,5 +185,5 @@ If you're new to *what* this dataset represents physically, read - **General reference** — [RTD: New user guide](https://pyautolens.readthedocs.io/en/latest/overview/overview_2_new_user_guide.html): decision-tree routing by lens scale and data type — orients a new PyAutoLens user before they touch FITS data. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/data_preparation/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/data_preparation/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/data_preparation/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/data_preparation/start_here.py): canonical reference for getting telescope data analysis-ready. diff --git a/skills/al_run_search.md b/skills/al_run_search.md index 9ba16ee..095b141 100644 --- a/skills/al_run_search.md +++ b/skills/al_run_search.md @@ -132,5 +132,5 @@ tail -f output/imaging//sie_sersic/*/search.log managing run times. - **General reference** — [RTD: New user guide](https://pyautolens.readthedocs.io/en/latest/overview/overview_2_new_user_guide.html): decision-tree routing for a new user about which fit to run first. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/start_here.py): the minimal end-to-end imaging fit on GPU — production pattern this skill mirrors. diff --git a/skills/al_run_slam_pipeline.md b/skills/al_run_slam_pipeline.md index a8a01b9..c01cbe8 100644 --- a/skills/al_run_slam_pipeline.md +++ b/skills/al_run_slam_pipeline.md @@ -142,6 +142,6 @@ all 4+ phases will short-circuit, but you'll catch import / config errors fast. - **General reference** — [RTD: Features overview](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): SLaM sits alongside pixelization, MGE, subhalo detection and multi-wavelength on the feature tour. -- **Experienced PyAutoLens user** — [workspace/lens: guides/modeling/slam_start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/guides/modeling/slam_start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: guides/modeling/slam_start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/guides/modeling/slam_start_here.py): the canonical SLaM invocation script — all other SLaM scripts in the workspace are documented relative to it. diff --git a/skills/al_sensitivity_mapping.md b/skills/al_sensitivity_mapping.md index 0ba2a8e..7418069 100644 --- a/skills/al_sensitivity_mapping.md +++ b/skills/al_sensitivity_mapping.md @@ -59,7 +59,7 @@ WDM particle mass or the subhalo mass function normalisation. mapping is a research-grade workflow). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): brief mention of sensitivity mapping under subhalo features. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/advanced/subhalo/sensitivity/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/features/advanced/subhalo/sensitivity/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/advanced/subhalo/sensitivity/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/features/advanced/subhalo/sensitivity/start_here.py): the canonical sensitivity workflow — simulator config, fit-pair loop, evidence-map output. diff --git a/skills/al_setup_environment.md b/skills/al_setup_environment.md index a681c2e..5aafcf8 100644 --- a/skills/al_setup_environment.md +++ b/skills/al_setup_environment.md @@ -95,11 +95,13 @@ installed with `pip install -e .` in dependency order. mkdir -p sources && cd sources # Order matters — install from the bottom of the dependency chain up. -git clone https://github.com/rhayes777/PyAutoConf.git -git clone https://github.com/Jammy2211/PyAutoArray.git -git clone https://github.com/rhayes777/PyAutoFit.git -git clone https://github.com/Jammy2211/PyAutoGalaxy.git -git clone https://github.com/Jammy2211/PyAutoLens.git +# URLs come from ../sources.yaml (the PyAutoLabs org is canonical; the old +# rhayes777/Jammy2211 URLs still redirect but should not be written anew). +git clone https://github.com/PyAutoLabs/PyAutoConf.git +git clone https://github.com/PyAutoLabs/PyAutoArray.git +git clone https://github.com/PyAutoLabs/PyAutoFit.git +git clone https://github.com/PyAutoLabs/PyAutoGalaxy.git +git clone https://github.com/PyAutoLabs/PyAutoLens.git cd .. diff --git a/skills/al_simulate_dataset.md b/skills/al_simulate_dataset.md index f37546e..1637c62 100644 --- a/skills/al_simulate_dataset.md +++ b/skills/al_simulate_dataset.md @@ -139,5 +139,5 @@ After simulating: the simulator runs. - **General reference** — [RTD: Start here](https://pyautolens.readthedocs.io/en/latest/overview/overview_1_start_here.html): core PyAutoLens concepts in practice — grids, profiles, ray-tracing with `Tracer`. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/simulators/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/simulators/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/simulators/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/simulators/start_here.py): canonical instrument-realistic simulation when no real data are on hand. diff --git a/skills/al_subhalo_detect.md b/skills/al_subhalo_detect.md index 4979b4f..888732a 100644 --- a/skills/al_subhalo_detect.md +++ b/skills/al_subhalo_detect.md @@ -58,7 +58,7 @@ local grid + a free-mass fit to pin down the subhalo's parameters. pixelised sources are the foundation for substructure detection. - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): subhalo detection in the feature tour. -- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/advanced/subhalo/detect/start_here.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/imaging/features/advanced/subhalo/detect/start_here.py): +- **Experienced PyAutoLens user** — [workspace/lens: imaging/features/advanced/subhalo/detect/start_here.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/imaging/features/advanced/subhalo/detect/start_here.py): the canonical detection pipeline — base fit, grid search, evidence comparison. diff --git a/skills/al_time_delay_cosmography.md b/skills/al_time_delay_cosmography.md index c47cd4a..e0794d7 100644 --- a/skills/al_time_delay_cosmography.md +++ b/skills/al_time_delay_cosmography.md @@ -61,7 +61,7 @@ mass-sheet degeneracy. Adds a custom likelihood term — see point-source lensing tutorials, foundation for time-delay analyses. - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): feature tour — point-source / time-delay section. -- **Experienced PyAutoLens user** — [workspace/lens: point_source/features/time_delays.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/point_source/features/time_delays.py): +- **Experienced PyAutoLens user** — [workspace/lens: point_source/features/time_delays.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/point_source/features/time_delays.py): the canonical H0 workflow. See also [`wiki/core/concepts/time_delay_cosmography.md`](../wiki/core/concepts/time_delay_cosmography.md) diff --git a/skills/al_weak_lensing.md b/skills/al_weak_lensing.md index b15f606..7b873cb 100644 --- a/skills/al_weak_lensing.md +++ b/skills/al_weak_lensing.md @@ -49,7 +49,7 @@ the inner profile and the shear field pins the outer. weak is covered only in passing). - **General reference** — [RTD: overview_3_features](https://pyautolens.readthedocs.io/en/latest/overview/overview_3_features.html): weak lensing in the feature tour. -- **Experienced PyAutoLens user** — [workspace/lens: weak/fit.py](https://github.com/Jammy2211/autolens_workspace/blob/main/scripts/weak/fit.py): +- **Experienced PyAutoLens user** — [workspace/lens: weak/fit.py](https://github.com/PyAutoLabs/autolens_workspace/blob/main/scripts/weak/fit.py): the canonical weak-lensing fit. See also [`wiki/core/concepts/weak_lensing.md`](../wiki/core/concepts/weak_lensing.md) diff --git a/wiki/core/concepts/inversions_and_pixelizations.md b/wiki/core/concepts/inversions_and_pixelizations.md index 1ca8e35..7b74815 100644 --- a/wiki/core/concepts/inversions_and_pixelizations.md +++ b/wiki/core/concepts/inversions_and_pixelizations.md @@ -68,7 +68,7 @@ there is no separate `image_mesh=` kwarg on `Pixelization`. > `AttributeError: 'NoneType' object has no attribute 'array'`. Use > `RectangularUniform` (or one of the `RectangularAdapt*` variants) until the > upstream fix lands. Tracking issue: -> . +> . Adaptive meshes are the right choice for production fits but need a parametric initial fit to seed the adapt image. The [`../../../skills/al_run_slam_pipeline.md`](../../../skills/al_run_slam_pipeline.md) diff --git a/wiki/core/operations/installation.md b/wiki/core/operations/installation.md index 674d55d..91aea04 100644 --- a/wiki/core/operations/installation.md +++ b/wiki/core/operations/installation.md @@ -53,11 +53,11 @@ JIT-compiled geometry kernels in PyAutoArray. ```bash mkdir -p sources && cd sources -git clone https://github.com/rhayes777/PyAutoConf.git -git clone https://github.com/Jammy2211/PyAutoArray.git -git clone https://github.com/rhayes777/PyAutoFit.git -git clone https://github.com/Jammy2211/PyAutoGalaxy.git -git clone https://github.com/Jammy2211/PyAutoLens.git +git clone https://github.com/PyAutoLabs/PyAutoConf.git +git clone https://github.com/PyAutoLabs/PyAutoArray.git +git clone https://github.com/PyAutoLabs/PyAutoFit.git +git clone https://github.com/PyAutoLabs/PyAutoGalaxy.git +git clone https://github.com/PyAutoLabs/PyAutoLens.git cd .. for repo in PyAutoConf PyAutoArray PyAutoFit PyAutoGalaxy PyAutoLens; do diff --git a/wiki/core/stack/autoarray.md b/wiki/core/stack/autoarray.md index 6e0d804..f093fb4 100644 --- a/wiki/core/stack/autoarray.md +++ b/wiki/core/stack/autoarray.md @@ -14,7 +14,7 @@ last_updated: 2026-05-22 # PyAutoArray — arrays, grids, masks, datasets -Project: [`PyAutoArray`](https://github.com/Jammy2211/PyAutoArray). Import: +Project: [`PyAutoArray`](https://github.com/PyAutoLabs/PyAutoArray). Import: `autoarray`. PyAutoLens re-exports the user-facing classes through `autolens`, so you mostly see them as `al.Array2D`, `al.Grid2D`, `al.Mask2D`, `al.Imaging`, etc. diff --git a/wiki/core/stack/autoconf.md b/wiki/core/stack/autoconf.md index 35e2d2f..37e719e 100644 --- a/wiki/core/stack/autoconf.md +++ b/wiki/core/stack/autoconf.md @@ -13,7 +13,7 @@ last_updated: 2026-05-22 # PyAutoConf — the configuration layer -Project: [`PyAutoConf`](https://github.com/rhayes777/PyAutoConf). Import: `autoconf`. +Project: [`PyAutoConf`](https://github.com/PyAutoLabs/PyAutoConf). Import: `autoconf`. PyAutoConf is the configuration loader the rest of the stack reads from. Every PyAutoArray / PyAutoFit / PyAutoGalaxy / PyAutoLens package ships its own diff --git a/wiki/core/stack/autofit.md b/wiki/core/stack/autofit.md index cf5620a..fc0a8bc 100644 --- a/wiki/core/stack/autofit.md +++ b/wiki/core/stack/autofit.md @@ -14,7 +14,7 @@ last_updated: 2026-05-22 # PyAutoFit — model composition + non-linear search -Project: [`PyAutoFit`](https://github.com/rhayes777/PyAutoFit). Import: `autofit`, +Project: [`PyAutoFit`](https://github.com/PyAutoLabs/PyAutoFit). Import: `autofit`, aliased to `af` everywhere. PyAutoFit is the *probabilistic modelling and inference* layer. PyAutoLens uses it diff --git a/wiki/core/stack/autogalaxy.md b/wiki/core/stack/autogalaxy.md index a6b5b7a..699a17d 100644 --- a/wiki/core/stack/autogalaxy.md +++ b/wiki/core/stack/autogalaxy.md @@ -15,7 +15,7 @@ last_updated: 2026-05-22 # PyAutoGalaxy — light and mass profiles -Project: [`PyAutoGalaxy`](https://github.com/Jammy2211/PyAutoGalaxy). Import: +Project: [`PyAutoGalaxy`](https://github.com/PyAutoLabs/PyAutoGalaxy). Import: `autogalaxy`. Most of its classes are re-exported through PyAutoLens as `al.lp.*`, `al.mp.*`, `al.Galaxy`, etc. diff --git a/wiki/core/stack/autolens.md b/wiki/core/stack/autolens.md index 9876f32..1225857 100644 --- a/wiki/core/stack/autolens.md +++ b/wiki/core/stack/autolens.md @@ -15,7 +15,7 @@ last_updated: 2026-05-22 # PyAutoLens — strong lensing umbrella -Project: [`PyAutoLens`](https://github.com/Jammy2211/PyAutoLens). Import: `autolens`, +Project: [`PyAutoLens`](https://github.com/PyAutoLabs/PyAutoLens). Import: `autolens`, aliased to `al`. The user-facing library of the stack. PyAutoLens adds the lensing-specific pieces on top of PyAutoGalaxy: multi-plane ray