diff --git a/active.md b/active.md
index fb25a165..6d4cf305 100644
--- a/active.md
+++ b/active.md
@@ -13,3 +13,36 @@
- registered: 2026-08-19 by the wake_up session — the issuing session (claude/autofit-priors-messages-audit-ylvenv)
filed the prompt + issue but not this entry, tripping Lifecycle Drift on main.
- repos-none-claimed: this entry claims NO repos — one line deliberately, not 2-space bullets.
+
+## organ-repo-spelling-splits
+- issue: https://github.com/PyAutoLabs/PyAutoBrain/issues/287
+- issued: 2026-08-26
+- prompt: active/organ_repo_spellings_split_across_keys.md
+- status: ready-to-ship — implemented and pushed on both branches; no PR opened
+ yet (PyAutoMind e160d40b, PyAutoBrain 6329db8). 515 Brain tests pass,
+ repos_sync --check all 13 legs OK, Heart NOT EVALUATED (web-github).
+- worktree: n/a — web-github session; the session's own PyAutoBrain + PyAutoMind
+ clones are the checkout, on the designated branch below (no
+ ~/Code/PyAutoLabs-wt/ worktree exists in this environment).
+- repos:
+ - PyAutoBrain: claude/organ-repo-spelling-splits-hbbms0
+ - PyAutoMind: claude/organ-repo-spelling-splits-hbbms0
+- summary: |
+ Infrastructure task (organism repos only). Fourth instance of the
+ hand-maintained-aliases vs derived-target-set defect class (#267, #269);
+ this one closes the class. Keying decision taken up front per the prompt:
+ organs key PREFIXED (`pyautobrain`), extending #271's rule — canonical key
+ is the bare package name where the repo ships one, the repo name where it
+ does not. Fix derives the bare/prefixed/package alias join from the body
+ map (new `package:` identity key in repos.yaml) and adds three coverage
+ guards to test_policy_seams.py. Sweep also covers PyAutoScientist and
+ pyautolabs.github.io, both split/unresolvable and not named in the prompt.
+ Heart unreachable from this environment — ship gate leg 4 records NOT
+ EVALUATED.
+
+ DEVIATION from the answered scope question: `pyautolabs.github.io` was
+ deliberately DE-REGISTERED rather than joined. Joining it means aliasing its
+ truncated head `pyautolabs`, which is the ORG name — `@PyAutoLabs/PyAutoFit`
+ would then resolve to the static site instead of PyAutoFit. The acceptance
+ criterion's other branch ("or is deliberately not registered") covers it, and
+ a guard pins both halves. Raised for review at ship time.
diff --git a/draft/bug/pyautobrain/organ_repo_spellings_split_across_keys.md b/active/organ_repo_spellings_split_across_keys.md
similarity index 99%
rename from draft/bug/pyautobrain/organ_repo_spellings_split_across_keys.md
rename to active/organ_repo_spellings_split_across_keys.md
index 34988441..45c40534 100644
--- a/draft/bug/pyautobrain/organ_repo_spellings_split_across_keys.md
+++ b/active/organ_repo_spellings_split_across_keys.md
@@ -9,6 +9,7 @@ Autonomy: supervised
Priority: normal
Status: formalised
Filed: 2026-08-24
+Issued: 2026-08-26
Found while shipping the refactor witness-map audit (@PyAutoBrain#269 / PR #271).
diff --git a/dashboard.html b/dashboard.html
index 4b375aab..f3e997ba 100644
--- a/dashboard.html
+++ b/dashboard.html
@@ -185,7 +185,7 @@
PyAutoMind Dashboard
Intent. Priority. Flow.
Every task the Mind is holding. Tap a task's 📋 and its /start_dev command is on your clipboard — paste it into a Claude Code chat to route Claude straight to that task. Recent is the same work by date — what has been happening rather than what to do next.
-1 In flight 3 Parked 5 Planned 136 Backlog
+2 In flight 3 Parked 5 Planned 135 Backlog
Last updated 2026-08-26. This page is generated from active/, draft/ and the registry files, so it is only as current as they are. dashboard_refresh.yml re-renders it on every push to main — that heals a stale page, but not a stale prompt: a task that shipped without its prompt advancing to complete/ keeps rendering here as pickable backlog. Reconciling those is the refresh below.
(small enough, and safe enough to run unatte
Issued — each has an open GitHub issue and usually a branch.
+
3 task(s)
@@ -250,7 +251,7 @@
-
136 filed prompts, not started — sorted most-pickable first (priority, then size). 25 of them belong to an epic and are listed only under Epics below.
+
135 filed prompts, not started — sorted most-pickable first (priority, then size). 25 of them belong to an epic and are listed only under Epics below.
feature — 27
@@ -282,28 +283,6 @@
-bug — 19
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
maintenance — 23
@@ -347,6 +326,27 @@
+bug — 18
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
docs — 12
@@ -393,6 +393,12 @@
+2026-08-26
+issued
+Organ repo spellings split across two normalised keys
+📋
+
+
2026-08-24
filed
wiki-currency's --check-version gate rots on every library main merge
@@ -425,12 +431,6 @@
-
-2026-08-24
-filed
Induct PyAutoReduce into the PyAutoHands release machinery (date…
📋
diff --git a/dashboard.md b/dashboard.md
index 9f6671a1..8d285589 100644
--- a/dashboard.md
+++ b/dashboard.md
@@ -42,10 +42,10 @@ anything you could not verify.
| Where | Count |
|-------|------:|
-| [In flight](#in-flight) (`active/`) | 1 |
+| [In flight](#in-flight) (`active/`) | 2 |
| [Parked](#parked) (`parked.md`) | 3 |
| [Planned](#planned) (`planned.md`) | 5 |
-| [Backlog](#backlog) (`draft/`) | 136 |
+| [Backlog](#backlog) (`draft/`) | 135 |
## Start here
@@ -163,6 +163,14 @@ Issued — each has an open GitHub issue and usually a branch. The full record f
+📋 Organ repo spellings split across two normalised keys — issue #287 — issued 2026-08-26 — ready-to-ship — implemented and pushed on both branches; no PR opened
+
+```
+/start_dev active/organ_repo_spellings_split_across_keys.md
+```
+
+
+
## Parked
Started or scoped, not currently in flight — resume by moving the row back to `active.md`. Full detail in [`parked.md`](parked.md).
@@ -247,7 +255,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
## Backlog
-**136** filed prompts, not started. Each section is sorted most-pickable first (priority, then size). **25** of them belong to an epic and are listed only under [Epics](#epics) below.
+**135** filed prompts, not started. Each section is sorted most-pickable first (priority, then size). **25** of them belong to an epic and are listed only under [Epics](#epics) below.
feature — 27
@@ -471,462 +479,454 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-bug — 19
+maintenance — 23
-📋 Fix release JAX runtime compatibility and likelihood parity — health_fixes · too-large · supervised · high
+📋 autocti_workspace has no Navigator Check, so its CI can never roll… — ci · medium · supervised · high
```
-/start_dev draft/bug/health_fixes/jax_runtime_and_parity.md
+/start_dev draft/maintenance/ci/autocti_workspace_navigator_check.md
```
-📋 Fix JIT quick-update visualization output regressions — health_fixes · too-large · supervised · high
+📋 Untrack the generated FITS test artifacts in autoarray — libraries · small · supervised · medium
```
-/start_dev draft/bug/health_fixes/jit_visualization_outputs.md
+/start_dev draft/maintenance/libraries/untrack_generated_fits_test_artifacts.md
```
-📋 Fix release result/sample parameter-path regressions — health_fixes · too-large · supervised · high
+📋 smoke_install.sh's stale jax<0.7 pin — CI is on the right jax… — ci · low · supervised · medium
```
-/start_dev draft/bug/health_fixes/samples_parameter_paths.md
+/start_dev draft/maintenance/ci/smoke_install_stale_jax_pin.md
```
-📋 LogGaussianPrior misreports its own support as (-inf, inf) — autofit · small · supervised · normal
+📋 autolens_workspace_developer rectangular experiments — Gut stash + rename — autolens_workspace_developer · small · supervised · normal
```
-/start_dev draft/bug/autofit/loggaussian_prior_declares_own_support.md
+/start_dev draft/maintenance/autolens_workspace_developer/rectangular_experiments_gut_stash.md
```
-📋 HowToGalaxy small API drifts: ellipse kwargs + plot_grid_lines (parked NEEDS_FIX) — howtogalaxy · small · supervised · normal
+📋 Mirror drifted library config keys into the workspace configs — workspaces · small · supervised · normal
```
-/start_dev draft/bug/howtogalaxy/small_api_drift_ellipse_and_plot_grid_lines.md
+/start_dev draft/maintenance/workspaces/config_key_mirror_drift.md
```
-📋 generate.py deletes notebooks/ before rejecting an unknown project — pyautohands · small · supervised · normal
+📋 euclid: CRLF has reached the HPC submit scripts AGENTS.md warns about — workspaces · small · supervised · normal
```
-/start_dev draft/bug/pyautohands/generate_rejects_autocti_after_deleting_notebooks.md
+/start_dev draft/maintenance/workspaces/euclid_crlf_line_endings.md
```
-📋 Three jax_likelihood pins are stale by ~1.24e-4 and fail the smoke gate… — workspaces · small · supervised · normal
+📋 Un-park imaging/features/scaling_relation/slam — the PyAutoArray#431 gate has cleared — workspaces · small · supervised · normal
```
-/start_dev draft/bug/workspaces/jax_likelihood_pins_stale_by_1e4.md
+/start_dev draft/maintenance/workspaces/unpark_imaging_scaling_relation_slam.md
```
-📋 PROBE: is Adapt's 4th-power coefficient dependence (double square) intentional? — autoarray · medium · supervised · normal
+📋 Un-park multi_galaxy/features/scaling_relation/slam once a capped run passes — workspaces · small · supervised · normal
```
-/start_dev draft/bug/autoarray/PROBE_adapt_double_square_coefficient.md
+/start_dev draft/maintenance/workspaces/unpark_multi_galaxy_scaling_relation_slam.md
```
-📋 JIT cache not hit in modeling_visualization delaunay/rectangular scripts — autolens · medium · supervised · normal
+📋 autolens_workspace_developer: broad stale-API rot (56 symbols, no CI) — autolens_workspace_developer · medium · supervised · normal
```
-/start_dev draft/bug/autolens/jit_cache_not_hit_modeling_visualization.md
+/start_dev draft/maintenance/autolens_workspace_developer/stale_api_rot_audit.md
```
-📋 interferometer/jax_grad/gradient.py: eager and jitted likelihoods diverge ~5e-7 on Python 3.13 only — autolens_workspace_test · medium · supervised · normal
+📋 Heart's local smoke runner cannot run any CTI workspace — no autocti… — ci · medium · supervised · normal
```
-/start_dev draft/bug/autolens_workspace_test/gradient_eager_jit_divergence_py313.md
+/start_dev draft/maintenance/ci/heart_smoke_table_autocti.md
```
-📋 @PyAutoFit TransformedMessage.logpdf/pdf omit the transform Jacobian — priors · medium · supervised · normal
+📋 run_smoke.py: three runner variants across 10 repos, no sync mechanism — ci · medium · supervised · normal
```
-/start_dev draft/bug/priors/15_transformed_message_logpdf_jacobian.md
+/start_dev draft/maintenance/ci/run_smoke_copy_drift.md
```
-📋 Organ repo spellings split across two normalised keys — pyautobrain · large · supervised · normal
+📋 wiki-currency's --check-version gate rots on every library main merge — ci · medium · supervised · normal
```
-/start_dev draft/bug/pyautobrain/organ_repo_spellings_split_across_keys.md
+/start_dev draft/maintenance/ci/wiki_currency_check_version_gate.md
```
-📋 Resolve release-profile timeout scripts deliberately — health_fixes · too-large · supervised · normal
+📋 Dependency-cap refresh 2026-08: safe bumps, astropy 8 decision, two dead deps — libraries · medium · supervised · normal
```
-/start_dev draft/bug/health_fixes/release_timeout_policy.md
+/start_dev draft/maintenance/libraries/dep_cap_refresh_2026_08.md
```
-📋 @PyAutoFit Refactor: replace hand-rolled AbstractDensityTransform with tfp.bijectors / numpyro.distributions.transforms — priors · too-large · supervised · normal
+📋 PyAutoMemory canonical-key TODO sweep — pyautomemory · medium · supervised · normal
```
-/start_dev draft/bug/priors/14_replace_transform_stack_with_bijectors.md
+/start_dev draft/maintenance/pyautomemory/canonical_key_todo_sweep.md
```
-📋 Priors & Messages cleanup — tracker — priors · too-large · supervised · normal
+📋 Capped smoke datasets were committed as if they were real — workspaces · medium · supervised · normal
```
-/start_dev draft/bug/priors/z_features.md
+/start_dev draft/maintenance/workspaces/committed_capped_smoke_datasets.md
```
-📋 autolens_workspace_test jax_likelihood pins: 4 scripts fail smoke on main — autolens · low · supervised · normal
+📋 autolens_profiling is now a mature project, with a good separation — autolens_profiling · large · supervised · normal
```
-/start_dev draft/bug/autolens/jax_likelihood_smoke_pins_stale.md
+/start_dev draft/maintenance/autolens_profiling/polish.md
```
-📋 The reconstruction noise map describes a different estimator than the default solver — autoarray · medium · human-required · low
+📋 Auto-request GitHub Copilot code review on every PR, org-wide — ci · large · supervised · normal
```
-/start_dev draft/bug/autoarray/reconstruction_noise_map_solver_mismatch.md
+/start_dev draft/maintenance/ci/copilot_auto_review.md
```
-📋 Point-source JSON datasets record no resolution regime — pyautolens · medium · supervised · low
+📋 autolens_workspace — workspaces · too-large · supervised · normal
```
-/start_dev draft/bug/pyautolens/point_source_json_datasets_record_no_regime.md
+/start_dev draft/maintenance/workspaces/read_through_issues.md
```
-📋 interferometer/start_here.py OOM in nightly release-validation integrate leg — autolens
+📋 pynufft removal: unswept downstream residue (1 hard break + stale docs/CI) — workspaces · low-medium · supervised · normal
```
-/start_dev draft/bug/autolens/interferometer_release_leg_oom.md
+/start_dev draft/maintenance/workspaces/pynufft_removal_downstream_residue.md
```
-
-
-
-maintenance — 23
-
-📋 autocti_workspace has no Navigator Check, so its CI can never roll… — ci · medium · supervised · high
+📋 Phase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTI install docs — workspaces · low · supervised · normal
```
-/start_dev draft/maintenance/ci/autocti_workspace_navigator_check.md
+/start_dev draft/maintenance/workspaces/pynufft_removal_downstream_residue_phase_3_ci_install_docs.md
```
-📋 Untrack the generated FITS test artifacts in autoarray — libraries · small · supervised · medium
+📋 dataset/imaging/jwst_lw is untracked because the gitignore was never extended for it — autolens_profiling · small · supervised · low
```
-/start_dev draft/maintenance/libraries/untrack_generated_fits_test_artifacts.md
+/start_dev draft/maintenance/autolens_profiling/jwst_lw_untracked_gitignore_gap.md
```
-📋 smoke_install.sh's stale jax<0.7 pin — CI is on the right jax… — ci · low · supervised · medium
+📋 cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB of the repo's… — autolens_workspace · small · supervised · low
```
-/start_dev draft/maintenance/ci/smoke_install_stale_jax_pin.md
+/start_dev draft/maintenance/autolens_workspace/cosmos_web_ring_mask_dtype.md
```
-📋 autolens_workspace_developer rectangular experiments — Gut stash + rename — autolens_workspace_developer · small · supervised · normal
+📋 Regenerate setup_notebook-drifted notebooks in autogalaxy/autofit/HowToFit workspaces — workspaces · small · supervised · low
```
-/start_dev draft/maintenance/autolens_workspace_developer/rectangular_experiments_gut_stash.md
+/start_dev draft/maintenance/workspaces/notebook_setup_notebook_drift_siblings.md
```
-📋 Mirror drifted library config keys into the workspace configs — workspaces · small · supervised · normal
-
-```
-/start_dev draft/maintenance/workspaces/config_key_mirror_drift.md
-```
-
-📋 euclid: CRLF has reached the HPC submit scripts AGENTS.md warns about — workspaces · small · supervised · normal
+
+research — 14
+
+📋 Deep research: Can we speed up Delaunay in PyAutoArray? — autoarray · too-large · supervised · high
```
-/start_dev draft/maintenance/workspaces/euclid_crlf_line_endings.md
+/start_dev draft/research/autoarray/delaunay_research.md
```
-📋 Un-park imaging/features/scaling_relation/slam — the PyAutoArray#431 gate has cleared — workspaces · small · supervised · normal
+📋 Delaunay-family JAX modules never hit the persistent compilation cache — autoarray · medium · supervised · medium
```
-/start_dev draft/maintenance/workspaces/unpark_imaging_scaling_relation_slam.md
+/start_dev draft/research/autoarray/delaunay_callback_persistent_cache_miss.md
```
-📋 Un-park multi_galaxy/features/scaling_relation/slam once a capped run passes — workspaces · small · supervised · normal
+📋 Quick-update plotting cost — minutes per update, and it is not JAX… — autolens · medium · supervised · medium
```
-/start_dev draft/maintenance/workspaces/unpark_multi_galaxy_scaling_relation_slam.md
+/start_dev draft/research/autolens/quick_update_plotting_cost.md
```
-📋 autolens_workspace_developer: broad stale-API rot (56 symbols, no CI) — autolens_workspace_developer · medium · supervised · normal
+📋 Use readthedocs or migrate to GitHub docs — autobuild · small · supervised · normal
```
-/start_dev draft/maintenance/autolens_workspace_developer/stale_api_rot_audit.md
+/start_dev draft/research/autobuild/git_docs.md
```
-📋 Heart's local smoke runner cannot run any CTI workspace — no autocti… — ci · medium · supervised · normal
+📋 Re-baseline the slacs0008 acceptance parity after the HAP-dedupe fix — pyautoreduce · small · supervised · normal
```
-/start_dev draft/maintenance/ci/heart_smoke_table_autocti.md
+/start_dev draft/research/pyautoreduce/acceptance_noise_rebaseline.md
```
-📋 run_smoke.py: three runner variants across 10 repos, no sync mechanism — ci · medium · supervised · normal
+📋 Kernel-CDF bandwidth defaults — config-dependent quality, investigate adaptivity — autoarray · medium · supervised · normal
```
-/start_dev draft/maintenance/ci/run_smoke_copy_drift.md
+/start_dev draft/research/autoarray/rectangular_kernel_bandwidth_defaults.md
```
-📋 wiki-currency's --check-version gate rots on every library main merge — ci · medium · supervised · normal
+📋 We have lots of examples which profile how long JAX — autolens_workspace_developer · medium · supervised · normal
```
-/start_dev draft/maintenance/ci/wiki_currency_check_version_gate.md
+/start_dev draft/research/autolens_workspace_developer/jax_jit_profiling.md
```
-📋 Dependency-cap refresh 2026-08: safe bumps, astropy 8 decision, two dead deps — libraries · medium · supervised · normal
+📋 Is Intel macOS a supported platform, and what is the numpy-only contract? — libraries · medium · supervised · normal
```
-/start_dev draft/maintenance/libraries/dep_cap_refresh_2026_08.md
+/start_dev draft/research/libraries/intel_macos_support_policy.md
```
-📋 PyAutoMemory canonical-key TODO sweep — pyautomemory · medium · supervised · normal
+📋 Checkerboard PSF-mismatch residual diagnostic — research + document + ingest papers — pyautomemory · medium · supervised · normal
```
-/start_dev draft/maintenance/pyautomemory/canonical_key_todo_sweep.md
+/start_dev draft/research/pyautomemory/checkerboard_psf_mismatch_residual_diagnostic.md
```
-📋 Capped smoke datasets were committed as if they were real — workspaces · medium · supervised · normal
+📋 autofit_profiling: bootstrap the repo + general PyAutoFit profiling epic — autofit · large · supervised · normal
```
-/start_dev draft/maintenance/workspaces/committed_capped_smoke_datasets.md
+/start_dev draft/research/autofit/autofit_profiling_bootstrap.md
```
-📋 autolens_profiling is now a mature project, with a good separation — autolens_profiling · large · supervised · normal
+📋 Multi-band compile census completion — A100/multi-core + hetero GPU rows — autolens_profiling · small · supervised · low
```
-/start_dev draft/maintenance/autolens_profiling/polish.md
+/start_dev draft/research/autolens_profiling/multiband_compile_census_completion.md
```
-📋 Auto-request GitHub Copilot code review on every PR, org-wide — ci · large · supervised · normal
+📋 Chase the ~6% flux scale between PyAutoReduce and legacy SLACS reductions — pyautoreduce · medium · supervised · low
```
-/start_dev draft/maintenance/ci/copilot_auto_review.md
+/start_dev draft/research/pyautoreduce/legacy_flux_scale_parity.md
```
-📋 autolens_workspace — workspaces · too-large · supervised · normal
+📋 PyAutoArray Delaunay interpolator's pure_callback vs vmap — minor efficiency follow-up — autoarray · too-large · supervised · low
```
-/start_dev draft/maintenance/workspaces/read_through_issues.md
+/start_dev draft/research/autoarray/delaunay_interpolator_pure_callback_vmap_memory.md
```
-📋 pynufft removal: unswept downstream residue (1 hard break + stale docs/CI) — workspaces · low-medium · supervised · normal
+📋 Cluster-scale gradient-search benchmark (Prodigy vs Nautilus, point-source) — autolens_profiling
```
-/start_dev draft/maintenance/workspaces/pynufft_removal_downstream_residue.md
+/start_dev draft/research/autolens_profiling/cluster_gradient_search_benchmark.md
```
-📋 Phase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTI install docs — workspaces · low · supervised · normal
+
+
+
+bug — 18
+
+📋 Fix release JAX runtime compatibility and likelihood parity — health_fixes · too-large · supervised · high
```
-/start_dev draft/maintenance/workspaces/pynufft_removal_downstream_residue_phase_3_ci_install_docs.md
+/start_dev draft/bug/health_fixes/jax_runtime_and_parity.md
```
-📋 dataset/imaging/jwst_lw is untracked because the gitignore was never extended for it — autolens_profiling · small · supervised · low
+📋 Fix JIT quick-update visualization output regressions — health_fixes · too-large · supervised · high
```
-/start_dev draft/maintenance/autolens_profiling/jwst_lw_untracked_gitignore_gap.md
+/start_dev draft/bug/health_fixes/jit_visualization_outputs.md
```
-📋 cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB of the repo's… — autolens_workspace · small · supervised · low
+📋 Fix release result/sample parameter-path regressions — health_fixes · too-large · supervised · high
```
-/start_dev draft/maintenance/autolens_workspace/cosmos_web_ring_mask_dtype.md
+/start_dev draft/bug/health_fixes/samples_parameter_paths.md
```
-📋 Regenerate setup_notebook-drifted notebooks in autogalaxy/autofit/HowToFit workspaces — workspaces · small · supervised · low
+📋 LogGaussianPrior misreports its own support as (-inf, inf) — autofit · small · supervised · normal
```
-/start_dev draft/maintenance/workspaces/notebook_setup_notebook_drift_siblings.md
+/start_dev draft/bug/autofit/loggaussian_prior_declares_own_support.md
```
-
-
-
-research — 14
-
-📋 Deep research: Can we speed up Delaunay in PyAutoArray? — autoarray · too-large · supervised · high
+📋 HowToGalaxy small API drifts: ellipse kwargs + plot_grid_lines (parked NEEDS_FIX) — howtogalaxy · small · supervised · normal
```
-/start_dev draft/research/autoarray/delaunay_research.md
+/start_dev draft/bug/howtogalaxy/small_api_drift_ellipse_and_plot_grid_lines.md
```
-📋 Delaunay-family JAX modules never hit the persistent compilation cache — autoarray · medium · supervised · medium
+📋 generate.py deletes notebooks/ before rejecting an unknown project — pyautohands · small · supervised · normal
```
-/start_dev draft/research/autoarray/delaunay_callback_persistent_cache_miss.md
+/start_dev draft/bug/pyautohands/generate_rejects_autocti_after_deleting_notebooks.md
```
-📋 Quick-update plotting cost — minutes per update, and it is not JAX… — autolens · medium · supervised · medium
+📋 Three jax_likelihood pins are stale by ~1.24e-4 and fail the smoke gate… — workspaces · small · supervised · normal
```
-/start_dev draft/research/autolens/quick_update_plotting_cost.md
+/start_dev draft/bug/workspaces/jax_likelihood_pins_stale_by_1e4.md
```
-📋 Use readthedocs or migrate to GitHub docs — autobuild · small · supervised · normal
+📋 PROBE: is Adapt's 4th-power coefficient dependence (double square) intentional? — autoarray · medium · supervised · normal
```
-/start_dev draft/research/autobuild/git_docs.md
+/start_dev draft/bug/autoarray/PROBE_adapt_double_square_coefficient.md
```
-📋 Re-baseline the slacs0008 acceptance parity after the HAP-dedupe fix — pyautoreduce · small · supervised · normal
+📋 JIT cache not hit in modeling_visualization delaunay/rectangular scripts — autolens · medium · supervised · normal
```
-/start_dev draft/research/pyautoreduce/acceptance_noise_rebaseline.md
+/start_dev draft/bug/autolens/jit_cache_not_hit_modeling_visualization.md
```
-📋 Kernel-CDF bandwidth defaults — config-dependent quality, investigate adaptivity — autoarray · medium · supervised · normal
+📋 interferometer/jax_grad/gradient.py: eager and jitted likelihoods diverge ~5e-7 on Python 3.13 only — autolens_workspace_test · medium · supervised · normal
```
-/start_dev draft/research/autoarray/rectangular_kernel_bandwidth_defaults.md
+/start_dev draft/bug/autolens_workspace_test/gradient_eager_jit_divergence_py313.md
```
-📋 We have lots of examples which profile how long JAX — autolens_workspace_developer · medium · supervised · normal
+📋 @PyAutoFit TransformedMessage.logpdf/pdf omit the transform Jacobian — priors · medium · supervised · normal
```
-/start_dev draft/research/autolens_workspace_developer/jax_jit_profiling.md
+/start_dev draft/bug/priors/15_transformed_message_logpdf_jacobian.md
```
-📋 Is Intel macOS a supported platform, and what is the numpy-only contract? — libraries · medium · supervised · normal
+📋 Resolve release-profile timeout scripts deliberately — health_fixes · too-large · supervised · normal
```
-/start_dev draft/research/libraries/intel_macos_support_policy.md
+/start_dev draft/bug/health_fixes/release_timeout_policy.md
```
-📋 Checkerboard PSF-mismatch residual diagnostic — research + document + ingest papers — pyautomemory · medium · supervised · normal
+📋 @PyAutoFit Refactor: replace hand-rolled AbstractDensityTransform with tfp.bijectors / numpyro.distributions.transforms — priors · too-large · supervised · normal
```
-/start_dev draft/research/pyautomemory/checkerboard_psf_mismatch_residual_diagnostic.md
+/start_dev draft/bug/priors/14_replace_transform_stack_with_bijectors.md
```
-📋 autofit_profiling: bootstrap the repo + general PyAutoFit profiling epic — autofit · large · supervised · normal
+📋 Priors & Messages cleanup — tracker — priors · too-large · supervised · normal
```
-/start_dev draft/research/autofit/autofit_profiling_bootstrap.md
+/start_dev draft/bug/priors/z_features.md
```
-📋 Multi-band compile census completion — A100/multi-core + hetero GPU rows — autolens_profiling · small · supervised · low
+📋 autolens_workspace_test jax_likelihood pins: 4 scripts fail smoke on main — autolens · low · supervised · normal
```
-/start_dev draft/research/autolens_profiling/multiband_compile_census_completion.md
+/start_dev draft/bug/autolens/jax_likelihood_smoke_pins_stale.md
```
-📋 Chase the ~6% flux scale between PyAutoReduce and legacy SLACS reductions — pyautoreduce · medium · supervised · low
+📋 The reconstruction noise map describes a different estimator than the default solver — autoarray · medium · human-required · low
```
-/start_dev draft/research/pyautoreduce/legacy_flux_scale_parity.md
+/start_dev draft/bug/autoarray/reconstruction_noise_map_solver_mismatch.md
```
-📋 PyAutoArray Delaunay interpolator's pure_callback vs vmap — minor efficiency follow-up — autoarray · too-large · supervised · low
+📋 Point-source JSON datasets record no resolution regime — pyautolens · medium · supervised · low
```
-/start_dev draft/research/autoarray/delaunay_interpolator_pure_callback_vmap_memory.md
+/start_dev draft/bug/pyautolens/point_source_json_datasets_record_no_regime.md
```
-📋 Cluster-scale gradient-search benchmark (Prodigy vs Nautilus, point-source) — autolens_profiling
+📋 interferometer/start_here.py OOM in nightly release-validation integrate leg — autolens
```
-/start_dev draft/research/autolens_profiling/cluster_gradient_search_benchmark.md
+/start_dev draft/bug/autolens/interferometer_release_leg_oom.md
```
@@ -1188,12 +1188,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par
| Date | Event | Task |
|------|-------|------|
+| 2026-08-26 | issued | Organ repo spellings split across two normalised keys |
| 2026-08-24 | filed | wiki-currency's --check-version gate rots on every library main merge |
| 2026-08-24 | filed | interferometer/jax_grad/gradient.py: eager and jitted likelihoods… |
| 2026-08-24 | filed | euclid: CRLF has reached the HPC submit scripts AGENTS.md warns about |
| 2026-08-24 | filed | autocti_workspace has no Navigator Check, so its CI can never roll… |
| 2026-08-24 | filed | Un-park multi_galaxy/features/scaling_relation/slam once a capped run… |
-| 2026-08-24 | filed | Organ repo spellings split across two normalised keys |
| 2026-08-24 | filed | Induct PyAutoReduce into the PyAutoHands release machinery (date… |
| 2026-08-24 | filed | Heart's local smoke runner cannot run any CTI workspace — no autocti… |
| 2026-08-23 | filed | pynufft removal: unswept downstream residue (1 hard break + stale… |
diff --git a/repos.yaml b/repos.yaml
index c14381d9..001d88c4 100644
--- a/repos.yaml
+++ b/repos.yaml
@@ -55,6 +55,16 @@ repos:
# repo currently uses it (Nerves/PyAutoNerves, its former user, is now a full
# organ); it is kept for a future library that belongs on the public front
# door without being an organ.
+ #
+ # `package:` names the import/PyPI package a repo ships, and is absent where
+ # it ships none. It is identity, not policy: it is the OTHER name the repo is
+ # known by, and prompts use it far more than the repo name (`@autofit`, not
+ # `@PyAutoFit`). PyAutoBrain derives its canonical routing key from it —
+ # the package name where a repo ships one, the repo name where it does not —
+ # so both spellings of a repo reach the same key instead of splitting across
+ # two (PyAutoBrain#287, the fourth instance of that defect). Adding a package
+ # here is what makes a new repo's spellings join automatically; omitting one a
+ # repo really ships re-opens the split.
PyAutoMind:
github: PyAutoLabs/PyAutoMind
category: organ
@@ -93,6 +103,7 @@ repos:
public_role: "Holds stale branches, dead code and other condemned material as recoverable Git references before it is permanently removed."
PyAutoNerves:
github: PyAutoLabs/PyAutoNerves
+ package: autonerves
category: organ
organ: Nerves
role: "The Nerves — the configuration/serialization layer connecting workspace conventions to libraries (layered config, version handshake, test_mode), delivered as the `autonerves` package."
@@ -101,26 +112,32 @@ repos:
# --- scientific libraries ----------------------------------------------
PyAutoFit:
github: PyAutoLabs/PyAutoFit
+ package: autofit
category: library
role: "Model-fitting / non-linear search / aggregator library."
PyAutoArray:
github: PyAutoLabs/PyAutoArray
+ package: autoarray
category: library
role: "Data structures (arrays, grids, masks), inversions, interferometry."
PyAutoGalaxy:
github: PyAutoLabs/PyAutoGalaxy
+ package: autogalaxy
category: library
role: "Galaxy light/mass profiles and galaxy modelling."
PyAutoLens:
github: PyAutoLabs/PyAutoLens
+ package: autolens
category: library
role: "Strong-lensing modelling built on the libraries above."
PyAutoReduce:
github: PyAutoLabs/PyAutoReduce
+ package: autoreduce
category: library
role: "Data reduction of HST (and future JWST/other) imaging into modeling-ready datasets for PyAutoLens/PyAutoGalaxy."
PyAutoCTI:
github: PyAutoLabs/PyAutoCTI
+ package: autocti
category: library
role: "Charge Transfer Inefficiency (CTI) calibration and modelling for CCD imaging (arctic clocking; Euclid VIS heritage)."