From 06d76dbb4afe83c2c53c1b9b983b188fa813ffa8 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 19:49:44 +0000 Subject: [PATCH] mind: retire 13 prompts whose work already shipped MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Picking a task off the dashboard and finding it already done has been a recurring waste. This is the sweep: every prompt under `draft/` audited by header, by fuzzy and content match against the 1104 completion records, and by checking the claimed work against the live tree where it is locally verifiable. Thirteen were spent. Each gets a dated record naming the evidence, with the original prompt folded in, and its cross-references repointed. Shipped, but the prompt never advanced: - `delaunay-nan-probe-ell-comps-validator` — autolens_workspace_test#277 (`995f0c9`); the shipping session set `Status: shipped` in place two days ago. - `remove-pynufft-legacy-transformer` — PyAutoArray#475, PyAutoGalaxy#583, PyAutoLens#709. - `history-policy-generated-block` — `policy/never_rewrite_history.md`, `repos_sync.py`'s history block and `check_history_blocks()` are all on main. - `interferometer-delaunay-nonpd-fitexception` — one defect filed twice from two repos; the autoarray-targeted twin advanced, this one did not (PyAutoFit#1408 + autolens_workspace#311, then PyAutoArray#436). - `unify-ai-assistant-workspace-readmes` — phase 2 shipped inside phase 1; `assistant-first-docs` names both workspace PRs. - `extra-galaxies-feature-parity` — its own final-phase record already said "ARC COMPLETE" and named this file as parent. - `python-312-minimum-census` — the census ran and the migration shipped in five phases; the prompt kept advertising the verbatim request it was executed from. - `dashboardify-brain-operational-surfaces` — the write-up exists and the Brain board it led to has been live and iterated on since 2026-08-23. - `profiling-agent-compile-axis-arc` + `jax-compile-time-profiling-absorbed` — all three children shipped 2026-08-10; both parents sat at `Priority: high`, top of the pick list, for two weeks. Superseded or retired in place, then left in `draft/`: - `multi-dataset-jax-likelihood-xla-stall` — folded into the jax-compile-stall epic 2026-08-23. - `latex-docstrings-invalid-escape-warnings` — the wider successor shipped 2026-08-20 across six repos. - `priors-and-messages-math-audit` — fully graduated 2026-08-18; open C-findings stay tracked under `bug/priors/`. Deliberately kept: partly-done trackers (`split_lensing_regimes`, `multi_galaxy_package`, `bug/priors/z_features`, `complete_archive_wiki`), prompts whose blocker merged but whose own work is outstanding (both `unpark_*_scaling_relation_slam`), and follow-up prompts that share a subject with a shipped record but not its scope (`plot_coverage_followups`, `notebook_setup_notebook_drift_siblings`, `cti_release_train_wiring`). Backlog 157 → 144. `lifecycle.py check`, `orphans` and `index --check` all OK. `dashboard.md` / `dashboard.html` are regenerated, so they also pick up the freshness banner added on the generator side (PyAutoBrain, same branch): the last-updated date, why a self-healing render is not a fresh backlog, and a one-tap 📋 copy of this whole reconciliation as a runnable instruction. Co-Authored-By: Claude Claude-Session: https://claude.ai/code/session_01NcL3NFXVPW4xipE8wJfjSx --- .../2026/07/extra-galaxies-feature-parity.md | 26 +++ .../2026/07/python-312-minimum-census.md | 26 +++ .../unify-ai-assistant-workspace-readmes.md | 25 ++ ...dashboardify-brain-operational-surfaces.md | 33 +++ .../delaunay-nan-probe-ell-comps-validator.md | 23 ++ .../2026/08/history-policy-generated-block.md | 31 +++ ...erferometer-delaunay-nonpd-fitexception.md | 33 +++ .../08/jax-compile-time-profiling-absorbed.md | 29 +++ ...atex-docstrings-invalid-escape-warnings.md | 32 +++ .../multi-dataset-jax-likelihood-xla-stall.md | 23 ++ .../2026/08/priors-and-messages-math-audit.md | 32 +++ .../08/profiling-agent-compile-axis-arc.md | 34 +++ .../08/remove-pynufft-legacy-transformer.md | 26 +++ complete/index.md | 15 +- dashboard.html | 118 ++++++---- dashboard.md | 218 ++++++------------ draft/bug/ci/jax_vmap_jit_compile_stall.md | 4 +- draft/bug/priors/z_features.md | 3 +- .../libraries/defer_scipy_sparse_import.md | 2 +- .../pynufft_removal_downstream_residue.md | 2 +- .../libraries/intel_macos_support_policy.md | 2 +- epics.md | 2 +- 22 files changed, 536 insertions(+), 203 deletions(-) rename draft/docs/workspaces/extra_galaxies_feature_parity.md => complete/2026/07/extra-galaxies-feature-parity.md (87%) rename draft/research/libraries/python_312_minimum.md => complete/2026/07/python-312-minimum-census.md (90%) rename draft/docs/workspaces/unify_ai_assistant_workspace_readmes.md => complete/2026/07/unify-ai-assistant-workspace-readmes.md (56%) rename draft/research/pyautobrain/explore_dashboardify_the_brain_s_operational_sur.md => complete/2026/08/dashboardify-brain-operational-surfaces.md (60%) rename draft/bug/autolens_workspace_test/delaunay_nan_probe_ell_comps_validator.md => complete/2026/08/delaunay-nan-probe-ell-comps-validator.md (80%) rename draft/maintenance/pyautomind/history_policy_generated_block.md => complete/2026/08/history-policy-generated-block.md (71%) rename draft/bug/autolens/interferometer_delaunay_nonpd_fitexception.md => complete/2026/08/interferometer-delaunay-nonpd-fitexception.md (60%) rename draft/feature/autolens_profiling/jax_compile_time_profiling.md => complete/2026/08/jax-compile-time-profiling-absorbed.md (77%) rename draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md => complete/2026/08/latex-docstrings-invalid-escape-warnings.md (79%) rename draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md => complete/2026/08/multi-dataset-jax-likelihood-xla-stall.md (79%) rename draft/research/autofit/priors_and_messages_math_audit.md => complete/2026/08/priors-and-messages-math-audit.md (89%) rename draft/feature/profiling/profiling_agent_jax_compile_time_scope.md => complete/2026/08/profiling-agent-compile-axis-arc.md (83%) rename draft/maintenance/libraries/remove_pynufft_legacy_transformer.md => complete/2026/08/remove-pynufft-legacy-transformer.md (87%) diff --git a/draft/docs/workspaces/extra_galaxies_feature_parity.md b/complete/2026/07/extra-galaxies-feature-parity.md similarity index 87% rename from draft/docs/workspaces/extra_galaxies_feature_parity.md rename to complete/2026/07/extra-galaxies-feature-parity.md index 4213badf..3f5aaf6a 100644 --- a/draft/docs/workspaces/extra_galaxies_feature_parity.md +++ b/complete/2026/07/extra-galaxies-feature-parity.md @@ -1,3 +1,29 @@ +# extra_galaxies feature parity — the parent prompt, arc complete + +- completed: 2026-07-30 — ARC COMPLETE, recorded phase by phase. +- phases (all merged): + | Phase | Issue | PR | + |---|---|---| + | 1 — point_source | autolens_workspace#374 closed | autolens_workspace#376 (`e005caca`) | + | 2a — autogalaxy multi_galaxy | autogalaxy_workspace#182 closed | autogalaxy_workspace#184 (`78568683`) | + | 2b — autolens multi_galaxy | autolens_workspace#387 closed | autolens_workspace#391 (`9b274ff2`) | +- phase records: `complete/2026/07/extra-galaxies-point-source.md`, + `complete/2026/07/extra-galaxies-multi-galaxy.md`, + `complete/2026/07/extra-galaxies-multi-galaxy-lens.md`. +- summary: the user's scoping held throughout — `imaging/features/extra_galaxies` + and its interferometer twin were the standard to mirror; `point_source/features` + got the same style without a `slam.py`; `multi_galaxy` got it in both workspaces; + `group/` and `cluster/` were deliberately left untouched. + +## Lifecycle note + +`complete/2026/07/extra-galaxies-multi-galaxy-lens.md` already names this file as +its parent and declares the arc complete, but the parent prompt itself was never +advanced, so it kept rendering as pickable backlog. Recorded here by the 2026-08-24 +completed-prompt reconciliation sweep. + +## Original prompt + # extra_galaxies feature parity: point_source + multi_galaxy (both workspaces) Type: docs diff --git a/draft/research/libraries/python_312_minimum.md b/complete/2026/07/python-312-minimum-census.md similarity index 90% rename from draft/research/libraries/python_312_minimum.md rename to complete/2026/07/python-312-minimum-census.md index 77d8944b..011ad59b 100644 --- a/draft/research/libraries/python_312_minimum.md +++ b/complete/2026/07/python-312-minimum-census.md @@ -1,3 +1,29 @@ +# Adopt Python 3.12 as the PyAuto ecosystem minimum — the census + +- completed: 2026-07-30 — the census this prompt asked for was produced (it is the + body below), and the migration it planned then shipped in full. +- implementation record: `complete/2026/07/python-312-floor.md` — every phase, from + the five core library floors through build/health machinery, a live + `2026.7.29.2` PyPI release, the independent downstream repos and the long-tail + selector census. The whole stack declares and enforces `Requires-Python >=3.12`. +- parent issues: PyAutoNerves#142 (with companions PyAutoCTI#100, PyAutoReduce#59, + PyAutoHeart#113), all closed 2026-07-30. +- sibling records: `python-312-workspace-runtime-pins.md`, + `python_312_floor_phase_4b_autoreduce.md`, `python-312-release-surfaces.md`, + `release-check-e-python-312.md`, `python-312-autofit-wiki-currency-ci.md`. +- still open, deliberately: `draft/bug/pyautoreduce/published_autoreduce_09_missing_312_floor.md` + — the `autoreduce 0.9` wheel already on PyPI predates the floor and needs a + release, not a code change. + +## Lifecycle note + +A research/census prompt whose acceptance criteria were all met by the shipped +migration; it was never advanced out of `draft/`, so it kept rendering as pickable +backlog carrying the same verbatim user request the migration was executed from. +Recorded here by the 2026-08-24 completed-prompt reconciliation sweep. + +## Original prompt + # Adopt Python 3.12 as the PyAuto ecosystem minimum Filed: 2026-07-28 (backfilled from git) diff --git a/draft/docs/workspaces/unify_ai_assistant_workspace_readmes.md b/complete/2026/07/unify-ai-assistant-workspace-readmes.md similarity index 56% rename from draft/docs/workspaces/unify_ai_assistant_workspace_readmes.md rename to complete/2026/07/unify-ai-assistant-workspace-readmes.md index 99185a3c..10d7954e 100644 --- a/draft/docs/workspaces/unify_ai_assistant_workspace_readmes.md +++ b/complete/2026/07/unify-ai-assistant-workspace-readmes.md @@ -1,3 +1,28 @@ +# Phase 2: workspace READMEs made assistant-first + +- shipped: 2026-07-24, inside the phase-1 task rather than as a separate PR — + see `complete/2026/07/assistant-first-docs.md`. +- issue: https://github.com/PyAutoLabs/PyAutoLens/issues/645 +- workspace-prs: https://github.com/PyAutoLabs/autolens_workspace/pull/329, + https://github.com/PyAutoLabs/autogalaxy_workspace/pull/155 + (library legs PyAutoLens#646 + PyAutoGalaxy#521 were phase 1). +- summary: this prompt's whole scope — one concise **AI Assistant** route first in + each workspace README's Getting Started, **Three Ways to Learn PyAutoLens** + removed, Colab/notebook/browsable-example routes preserved, remaining links + described as human-readable documentation — landed as the workspace leg of + `assistant-first-docs`, which unified library README, Read the Docs *and* + workspace onboarding in one pass. The PyAutoGalaxy assistant URL was + deliberately allowed to 404 until its repository exists. + +## Lifecycle note + +Phase 1 recorded the workspace PRs but the phase-2 prompt file was never advanced, +so it kept rendering as pickable backlog long after the work merged. Recorded here +by the 2026-08-24 completed-prompt reconciliation sweep — the split into phases 1/2 +was a planning artefact that the shipping session collapsed. + +## Original prompt + # Phase 2: Make workspace READMEs assistant-first Filed: 2026-07-24 (backfilled from git) diff --git a/draft/research/pyautobrain/explore_dashboardify_the_brain_s_operational_sur.md b/complete/2026/08/dashboardify-brain-operational-surfaces.md similarity index 60% rename from draft/research/pyautobrain/explore_dashboardify_the_brain_s_operational_sur.md rename to complete/2026/08/dashboardify-brain-operational-surfaces.md index 4f9be152..4b97e7db 100644 --- a/draft/research/pyautobrain/explore_dashboardify_the_brain_s_operational_sur.md +++ b/complete/2026/08/dashboardify-brain-operational-surfaces.md @@ -1,3 +1,36 @@ +# Explore: dashboardify the Brain's operational surfaces — resolved, and built + +- completed: 2026-08-23 — investigation resolved *and* the implementation it led to + shipped; the Brain board has been iterated on several times since. +- write-up (the deliverable this prompt asked for): + `PyAutoMind/docs/pyautobrain/brain_board_assessment.md` — inventory of + `/wake_up`'s legs and where each landed, what was deliberately NOT dashboarded, + and the sibling-board architecture. +- human direction at unpark (2026-08-23): build the PyAutoBrain dashboard, move the + `/wake_up` routine onto it, make it the morning starting point, and run the local + repo sync as a terminal command. So the "recommend a subset, or none" outcome was + overtaken — the answer was "build it". +- what is live on PyAutoBrain `main`: `board/_board.py` (+ `_publish.py`, `_theme.py`, + `board.sh`, `gallery/`), `.github/workflows/brain_board.yml` publishing the board + each morning, `bin/morning.sh` as the local sync/clean leg, and `/wake_up` demoted + to the fallback door — all documented in PyAutoBrain's `AGENTS.md` § command + surface. Later PRs #258–#263 (morning timer, cloud hygiene, organ logos, the + test-performance surface, the board gallery) have built on it. +- related records: `complete/2026/08/actionable-health-board.md` (the Heart board + this pattern came from), `complete/2026/08/one-tap-dashboard-rollout.md`, + `complete/2026/08/organism-board-final-readmes.md` (the arc's finale). +- follow-ups still open: `draft/feature/pyautobrain/brain_board_follow_ups.md` + ("what real mornings surface", filed 2026-08-23). + +## Lifecycle note + +The prompt was updated in place on 2026-08-23 with "investigation resolved; +implementation begun" but never advanced out of `draft/`, so it kept rendering as +pickable backlog for a board that already exists. Recorded here by the 2026-08-24 +completed-prompt reconciliation sweep. + +## Original prompt + # Explore: dashboardify the Brain's operational surfaces with pasteable conductor prompts Type: research diff --git a/draft/bug/autolens_workspace_test/delaunay_nan_probe_ell_comps_validator.md b/complete/2026/08/delaunay-nan-probe-ell-comps-validator.md similarity index 80% rename from draft/bug/autolens_workspace_test/delaunay_nan_probe_ell_comps_validator.md rename to complete/2026/08/delaunay-nan-probe-ell-comps-validator.md index 64c0f18b..52d00da9 100644 --- a/draft/bug/autolens_workspace_test/delaunay_nan_probe_ell_comps_validator.md +++ b/complete/2026/08/delaunay-nan-probe-ell-comps-validator.md @@ -1,3 +1,26 @@ +# The delaunay.py NaN-poisoning probe died in ell_comps validation + +- shipped: 2026-08-24 — autolens_workspace_test#277 (merged `995f0c9`) +- classification: bug (autolens_workspace_test + PyAutoGalaxy) — the JAX NaN-lane + probe in `scripts/interferometer/jax_likelihood/delaunay.py` +- validation: retime run 32759921650 — NEITHER on both matrix legs, full PASS + sequence restored on the script. +- summary: `instance_from_vector` handed the deliberate all-NaN vector's + `ell_comps` to autogalaxy's `validate.validate_ell_comps`, which raised + `ModelParameterException` at instance construction — so the probe exited 1 + before it could test the thing it exists for (that an invalid Delaunay mesh + reaches the raw interferometer likelihood as NaN rather than crashing or + returning a plausible number). Fixed probe-side. + +## Lifecycle note + +The shipping session closed the prompt out in place (Mind commit `9f5e6972`, +`Status: shipped 2026-08-24`) but never advanced it out of `draft/`, so it kept +rendering as pickable backlog on the dashboard. Recorded here by the 2026-08-24 +completed-prompt reconciliation sweep; no further work. + +## Original prompt + # The delaunay.py NaN-poisoning probe dies in ell_comps validation before it can probe anything Type: bug diff --git a/draft/maintenance/pyautomind/history_policy_generated_block.md b/complete/2026/08/history-policy-generated-block.md similarity index 71% rename from draft/maintenance/pyautomind/history_policy_generated_block.md rename to complete/2026/08/history-policy-generated-block.md index 72ebe95b..f2a13b81 100644 --- a/draft/maintenance/pyautomind/history_policy_generated_block.md +++ b/complete/2026/08/history-policy-generated-block.md @@ -1,5 +1,36 @@ # Single-source the "Never rewrite history" policy as a generated AGENTS.md block +- shipped: 2026-08-23 (Mind `18a6a82b`). +- classification: maintenance (PyAutoMind + every repo in `repos.yaml`). +- what landed, exactly as the prompt specified: + - the canonical text lives in a file, not a code constant — + `PyAutoMind/policy/never_rewrite_history.md` (`HISTORY_POLICY_FILE`), the + recommendation the prompt made so a safety policy is editable without + touching generator code; + - `scripts/repos_sync.py` gained `load_history_policy()` + + `HISTORY_BEGIN`/`HISTORY_END` (``) and + writes the block into every checked-out repo's `AGENTS.md` on `--write`, + opt-in by markers and tolerant of absent repos, mirroring the `system_map` + rollout; + - `check_history_blocks()` is a registered check in `main()`, so a stale block + fails the drift guard rather than rotting. +- the guardrail was not weakened: the full `## Never rewrite history` section is + still inline and always-loaded in every `AGENTS.md` (verified in PyAutoMind and + PyAutoBrain), and `PyAutoMind/AGENTS.md` § Hard rules keeps its one-line summary. + The 2026-07-12 proposal to simply delete the section stays rejected. +- epic context: `complete/archive/epics/agents_md_standardization.md`, whose fourth + generated block this was. + +## Lifecycle note + +Shipped without a completion record and never advanced out of `draft/`, so it kept +rendering as pickable backlog against machinery that is already on `main` and +CI-gated. Recorded here by the 2026-08-24 completed-prompt reconciliation sweep. + +## Original prompt + +# Single-source the "Never rewrite history" policy as a generated AGENTS.md block + Type: maintenance Target: PyAutoMind Repos: diff --git a/draft/bug/autolens/interferometer_delaunay_nonpd_fitexception.md b/complete/2026/08/interferometer-delaunay-nonpd-fitexception.md similarity index 60% rename from draft/bug/autolens/interferometer_delaunay_nonpd_fitexception.md rename to complete/2026/08/interferometer-delaunay-nonpd-fitexception.md index 4e7bd754..62b65a6e 100644 --- a/draft/bug/autolens/interferometer_delaunay_nonpd_fitexception.md +++ b/complete/2026/08/interferometer-delaunay-nonpd-fitexception.md @@ -1,3 +1,36 @@ +# interferometer Delaunay — non-PD FitException in test-mode bypass + +- completed: 2026-08-07 — both halves merged; the script is un-parked and in smoke. +- prs: **PyAutoFit#1408** (phase 1 — `PYAUTO_TEST_MODE=2` bypass tolerates a + single-eval `FitException` as a resample-to-reject sentinel) and + **autolens_workspace#311** (phase 1 — un-park + `interferometer/features/pixelization/delaunay` + add it to smoke); then + **PyAutoArray#436** (merged `efaf3041`, phase 2 — the numerical producer fix, + CI green first run on both matrix legs). +- implementation record: `complete/2026/08/interferometer-delaunay-flaky-fitexception.md`, + which shipped under the sibling filing + `draft/bug/autoarray/interferometer_delaunay_intermittent_qhull_nan.md` + (correct target: the autoarray Delaunay interpolator, not autolens). +- the actual producer, against this prompt's guess: not the `fnnls.py:134` + divide-by-zero (599 exercises, zero degenerate denominators — those warnings are + a downstream symptom) but `cholesky_funcs.py -> cholinsertlast`, whose unchecked + `math.sqrt(x[index] - S12.dot(S12))` goes imaginary when two near-coincident + source-mesh vertices make the Schur complement zero to within rounding + (measured ±1.776e-15, 8·eps). This prompt's own instinct — *fix the producer, + do not swallow the FitException* — is what shipped. +- earlier false start on the record: `complete/2026/07/drop-interferometer-delaunay-marker.md` + (marker-removal PR autolens_workspace#310 closed without merge; three passing + local runs are not enough to call a ~50%-flaky script fixed). + +## Lifecycle note + +Two prompts were filed for one defect from different repos. The autoarray-targeted +one advanced correctly; this autolens-targeted duplicate stayed in `draft/` and kept +rendering as pickable backlog. Recorded here by the 2026-08-24 completed-prompt +reconciliation sweep. + +## Original prompt + # interferometer Delaunay pixelization — non-PD FitException in test-mode bypass Type: bug diff --git a/draft/feature/autolens_profiling/jax_compile_time_profiling.md b/complete/2026/08/jax-compile-time-profiling-absorbed.md similarity index 77% rename from draft/feature/autolens_profiling/jax_compile_time_profiling.md rename to complete/2026/08/jax-compile-time-profiling-absorbed.md index b2e5a156..77d00522 100644 --- a/draft/feature/autolens_profiling/jax_compile_time_profiling.md +++ b/complete/2026/08/jax-compile-time-profiling-absorbed.md @@ -1,3 +1,32 @@ +# Profile and speed up JAX likelihood-function compile times — absorbed, then shipped + +- completed: 2026-08-10 — absorbed into the compile-axis arc and shipped there; no + work remained under this slug. +- absorbed-into: `draft/feature/profiling/compile_warm_baseline_dashboard.md` + (phase 2 of the compile-axis arc), shipped as + `complete/2026/08/compile-warm-baseline-dashboard.md` — autolens_profiling#104 + (`355d555`) + PyAutoBrain#220 (`74d7b1b`). Merged there because the dashboard and + the Profiling Agent that reads it are two halves of one thing, and building them + from opposite ends risks incompatible schemas. +- the earlier legs were already spent by then: the compile-time speed-up arc + (`#71 → #77`) closed the "can we make it faster" question — settings suffice + (persistent cache 117.0 s → 2.3 s; autotune-off 498 s → 29 s) — and the + search-transform measurement scope was executed by the MultiStartProdigy census + (autolens_profiling#93). +- one claim of this prompt is overturned on the record: its "autotuning ruled out" + section was wrong — that A/B never actually flipped the flag. See + `autolens_profiling/scripts/misc/jax_compile/README.md`. +- arc record: `profiling-agent-compile-axis-arc`. + +## Lifecycle note + +Banner-marked "ABSORBED 2026-08-10 — do not start from this file" but left in +`draft/` at `Priority: high`, so it kept rendering in the dashboard's top pick list. +Recorded here by the 2026-08-24 completed-prompt reconciliation sweep; the +measurements and overturned-claim trail are preserved in the original prompt below. + +## Original prompt + # Profile and speed up JAX likelihood-function compile times (all use cases) > **ABSORBED 2026-08-10 — do not start from this file.** The surviving scope (the diff --git a/draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md b/complete/2026/08/latex-docstrings-invalid-escape-warnings.md similarity index 79% rename from draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md rename to complete/2026/08/latex-docstrings-invalid-escape-warnings.md index 2b766819..167c6649 100644 --- a/draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md +++ b/complete/2026/08/latex-docstrings-invalid-escape-warnings.md @@ -1,3 +1,35 @@ +# LaTeX in non-raw docstrings — superseded, and the wider fix shipped + +- outcome: SUPERSEDED 2026-08-20; the defect it reported was then fixed at wider + scope on the same day. +- superseded-by: `draft/maintenance/workspaces/latex_raw_string_docstrings.md`, + shipped as `complete/2026/08/latex-raw-string-docstrings.md` — + autolens_workspace#491, six PRs merged 2026-08-20 (HowToFit#47, HowToGalaxy#70, + HowToLens#73, autofit_workspace#145, autogalaxy_workspace#218, + autolens_workspace#492): 41 files, 180 literals, 131 silent corruptions + repaired. Prerequisite `hands-raw-string-docstring-prefix` (PyAutoHands#251) + cleared first. +- why it was superseded rather than run: same defect, same fix, wider scope. The + 2026-08-20 survey swept all six workspace repos; the 17 `autolens_workspace` + files it listed are exactly the 17 measured here (top-six warning counts match + line for line), and it found a second, *silent* class this filing never saw — + `\t` in `\theta`, `\f` in `\frac`, escapes Python DOES recognise, so they corrupt + the string with no warning at all. +- carried across, so nothing was lost: the interpreter trap (§ TRAP) became the + successor's sweep spec and verification gate, and "do not reword the LaTeX or the + prose" became its § Constraints. +- origin trail kept below: autolens_workspace#457 / PR#459, and the 2026-08-09 + measurement (80 warnings across 17 files on `9974f891`). + +## Lifecycle note + +Marked `Status: SUPERSEDED` in place but left in `draft/`, so it kept rendering as +pickable backlog after the successor merged. Recorded here by the 2026-08-24 +completed-prompt reconciliation sweep — which is also what widened the dashboard's +drift detector to read a prompt's own `Status:` header, the signal that surfaced it. + +## Original prompt + # LaTeX in non-raw docstrings emits SyntaxWarning: invalid escape sequence Type: maintenance diff --git a/draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md b/complete/2026/08/multi-dataset-jax-likelihood-xla-stall.md similarity index 79% rename from draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md rename to complete/2026/08/multi-dataset-jax-likelihood-xla-stall.md index 40d222e4..15c19ca1 100644 --- a/draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md +++ b/complete/2026/08/multi-dataset-jax-likelihood-xla-stall.md @@ -1,3 +1,26 @@ +# multi_dataset/jax_likelihood XLA compile stall — superseded by the jax-compile-stall epic + +- outcome: SUPERSEDED 2026-08-23, never issued — no PR, no code change under this slug. +- superseded-by: `draft/bug/ci/jax_vmap_jit_compile_stall.md` (the `jax-compile-stall` + epic ledger), whose phases carry the same defect with cross-repo evidence. +- shipped elsewhere: phase 1 `complete/2026/08/jax-compile-stall-evidence.md`; + phase 2 `complete/2026/08/jax-compile-stall-slow-vs-stall-audit.md`; + phase 3 remains open as `draft/bug/ci/jax_compile_stall_3_root_cause.md`. +- summary: filed 2026-08-22 after `multi_dataset/jax_likelihood/mge.py` was parked + out of the smoke gate. One root cause is one task, so the filing was folded into + the epic the following day. The two asks this file carried that the epic did not + — dump a stack trace on timeout (solved library-side in phase 1) and re-enable + `mge.py` / `shared_preloads.py` in `smoke_tests.txt` (phase 3) — were both folded + in, so nothing was lost. + +## Lifecycle note + +Marked `Status: superseded` in place on 2026-08-23 but left in `draft/`, so it kept +rendering as pickable backlog. Recorded here by the 2026-08-24 completed-prompt +reconciliation sweep. Its evidence is preserved in the original prompt below. + +## Original prompt + # multi_dataset/jax_likelihood scripts hang to the timeout cap (XLA compile stall) Type: bug diff --git a/draft/research/autofit/priors_and_messages_math_audit.md b/complete/2026/08/priors-and-messages-math-audit.md similarity index 89% rename from draft/research/autofit/priors_and_messages_math_audit.md rename to complete/2026/08/priors-and-messages-math-audit.md index e8935258..c5dfc1bf 100644 --- a/draft/research/autofit/priors_and_messages_math_audit.md +++ b/complete/2026/08/priors-and-messages-math-audit.md @@ -1,3 +1,35 @@ +# Census of priors and messages — the audit, fully graduated + +- completed: 2026-08-18 — retired as a historical record; nothing was left to + action from this file. +- A1–A9, all nine confirmed bugs: FIXED on PyAutoFit `main`. Batch 1 (A1–A5, A8) + via #1344 / PR#1345 (merged `c0b6c94b8`, 2026-07-10); batch 2 (A6, A9) via + #1346 / PR#1348 (merged `cf0cc4bbb`, 2026-07-10); A7 vectorised in PR#1345. All + five open decisions resolved on hub #1331 (2026-07-14 comment): Beta clamp → + raise; σ<0 rejected / σ=0 kept; Gamma `from_mode` matches mean+variance; + normalisation → Option A (drop constants + a `Prior.log_normalisation()` hook); + width modifier → `abs(mean)` + opt-in floor + `PriorException`. Locked in by + `test_priors_messages_fixes_1331.py` and `test_prior_width_safety.py`. +- records: `complete/2026/07/priors-messages-fixes.md`, + `complete/2026/08/prior-width-safety.md`, + `complete/2026/07/ep-priors-fable-reassess.md`, + `complete/2026/08/prior-property-tests.md`, + `complete/2026/08/transformed-message-semantics-doc.md`. +- C-findings: C2 shipped with the A5 decision (PR#1345); C6's reversal-convention + half via #1333 / PR#1334, its `LinearShiftTransform` half 2026-08-18 via PR#1499; + C3 shipped 2026-08-18 as the property sweep (PR#1499, `21288bb`). +- still tracked elsewhere, deliberately: the remaining C-findings live as + `draft/bug/priors/` prompts (09, 11–14) under the tracker + `draft/bug/priors/z_features.md`, whose phase 4 is open. + +## Lifecycle note + +Marked `Status: RETIRED — historical record` in place on 2026-08-18 but left in +`draft/` at `Priority: high`, so a spent census kept rendering near the top of the +dashboard. Recorded here by the 2026-08-24 completed-prompt reconciliation sweep. + +## Original prompt + # Census of priors and messages — confirmed bugs + redesign ideas Type: research diff --git a/draft/feature/profiling/profiling_agent_jax_compile_time_scope.md b/complete/2026/08/profiling-agent-compile-axis-arc.md similarity index 83% rename from draft/feature/profiling/profiling_agent_jax_compile_time_scope.md rename to complete/2026/08/profiling-agent-compile-axis-arc.md index 7cbf8e7c..261da9ff 100644 --- a/draft/feature/profiling/profiling_agent_jax_compile_time_scope.md +++ b/complete/2026/08/profiling-agent-compile-axis-arc.md @@ -1,3 +1,37 @@ +# Give the Profiling Agent a compile-time axis — the arc, closed + +- completed: 2026-08-10 — all three child prompts shipped the same day; phase 3's + record says "closes it". +- phases: + | # | Record | Issue | PR | + |---|---|---|---| + | 1 | `complete/2026/08/compile-axis-campaign-coverage.md` | PyAutoBrain#218 | PyAutoBrain#219 (`cd79005`) | + | 2 | `complete/2026/08/compile-warm-baseline-dashboard.md` | autolens_profiling#103 | autolens_profiling#104 (`355d555`) · PyAutoBrain#220 (`74d7b1b`) | + | 3 | `complete/2026/08/compile-axis-triage-drift.md` | PyAutoBrain#221 | PyAutoBrain#222 (`a50efc3`) | +- what the arc was for, after the 2026-08-10 re-scope: not speed-up (the + `#71 → #74 → #77` arc had already shipped persistent-cache-by-default and + `--xla_gpu_autotune_level=0`, and closed the question) but **regression + surveillance** — both wins are settings, and a config drift, a `jax` bump or a + wrapper clobbering `XLA_FLAGS` puts the 70-minute worst case back with nothing + failing. `pyauto-brain profiling --axis compile` now answers all three + modes, warm rows are machine-identifiable and pinned, and compile-time profiling + moved from **Future modes** to **Modes** in the conductor's `AGENTS.md`. +- deliberately out of scope, and stayed out: the release-validation heavy scripts. + Script-suite cost is the `/hygiene` `perf` boundary, and PyAutoHeart#72 had + already handled the 300 s cap that motivated it. +- absorbed here: `draft/feature/autolens_profiling/jax_compile_time_profiling.md` + was the workspace half of phase 2 — recorded separately as + `jax-compile-time-profiling-absorbed`. + +## Lifecycle note + +The arc tracker was left in `draft/` at `Priority: high` after its last child +merged, so it sat at the top of the dashboard's "Highest priority" pick list for two +weeks pointing at finished work. Recorded here by the 2026-08-24 completed-prompt +reconciliation sweep. + +## Original prompt + # Give the Profiling Agent a compile-time axis — the arc Type: feature diff --git a/draft/maintenance/libraries/remove_pynufft_legacy_transformer.md b/complete/2026/08/remove-pynufft-legacy-transformer.md similarity index 87% rename from draft/maintenance/libraries/remove_pynufft_legacy_transformer.md rename to complete/2026/08/remove-pynufft-legacy-transformer.md index 1d084a61..5ebcfad8 100644 --- a/draft/maintenance/libraries/remove_pynufft_legacy_transformer.md +++ b/complete/2026/08/remove-pynufft-legacy-transformer.md @@ -1,3 +1,29 @@ +# Remove pynufft + the legacy TransformerNUFFTPyNUFFT + +- shipped: 2026-08-22 — library tier merged @PyAutoArray#475, @PyAutoGalaxy#583, + @PyAutoLens#709 (merged galaxy → lens → array so `main` was never red). +- classification: maintenance (libraries) — dependency removal. Re-homed from + `draft/refactor/autoarray/` on 2026-08-22: the Refactor Agent refused it there + (`SUSPECT-API-CHANGE`, effective autonomy `human-required`) because deleting a + public class is not behaviour-preserving. +- follow-ups (own records): `complete/2026/08/pynufft-removal-residue-phase-1.md`, + `complete/2026/08/pynufft-removal-residue-phase-2.md`, + `complete/2026/08/pynufft-scipy-pinv2-dev-extra.md`; phase 3 is still open as + `draft/maintenance/workspaces/pynufft_removal_downstream_residue_phase_3_ci_install_docs.md`. +- corrections the implementation put on the record (the 2026-08-19 filing had both + facts wrong): pynufft was never a base dependency — it sat in the `optional` and + `dev` extras, so a plain `pip install autoarray` already raised + `pynufft_exception()` for most users; and the import-time saving is ~10 ms, not + the ~230 ms estimated at filing. + +## Lifecycle note + +Closed out in place with `Status: shipped` but never advanced out of `draft/`, so it +kept rendering as pickable backlog. Recorded here by the 2026-08-24 completed-prompt +reconciliation sweep. + +## Original prompt + # Remove pynufft + legacy TransformerNUFFTPyNUFFT Type: maintenance diff --git a/complete/index.md b/complete/index.md index 06b4e14d..c58d05b2 100644 --- a/complete/index.md +++ b/complete/index.md @@ -6,7 +6,7 @@ Token-light navigation over the finished-work records (schema: only then grep a dated bucket. Curators: edit the band between the CURATED markers; everything below GENERATED is rebuilt. -1102 records across 7 buckets. +1115 records across 7 buckets. ## Highlights @@ -59,9 +59,11 @@ _(curate hard-won records here — survives regeneration.)_ - [dashboard-filter-trend](2026/08/dashboard-filter-trend.md) — auto-closed on merge - [dashboard-naming-unification](2026/08/dashboard-naming-unification.md) — Dashboard naming unified across all five boards — every board is just the - [dashboard-per-paper-actions](2026/08/dashboard-per-paper-actions.md) — auto-closed on merge +- [dashboardify-brain-operational-surfaces](2026/08/dashboardify-brain-operational-surfaces.md) - [database-guide-info-inline](2026/08/database-guide-info-inline.md) — the dataset_1d database guide chain failed on any fresh checkout — - [database-guide-sample-weight-threshold](2026/08/database-guide-sample-weight-threshold.md) — `guides/results/database/start_here.py` ran its own Nautilus fits capped at n_like_max=300 then indexed sample… - [dataset-allowlist-small-datasets-guard](2026/08/dataset-allowlist-small-datasets-guard.md) +- [delaunay-nan-probe-ell-comps-validator](2026/08/delaunay-nan-probe-ell-comps-validator.md) — `instance_from_vector` handed the deliberate all-NaN vector's - [delaunay-nn-laptop-gpu-profile](2026/08/delaunay-nn-laptop-gpu-profile.md) — Added the CPU, RTX 2060, and A100 DelaunayNN profiling sweep and result artifacts at matched PyAuto source rev… - [dep-floors-source-chain-ci](2026/08/dep-floors-source-chain-ci.md) - [dev-workflow-helpers-laptop-paths](2026/08/dev-workflow-helpers-laptop-paths.md) @@ -83,6 +85,7 @@ _(curate hard-won records here — survives regeneration.)_ - [health-conductor-stale-verdict](2026/08/health-conductor-stale-verdict.md) - [heart-green-validation-ingest](2026/08/heart-green-validation-ingest.md) - [heart-red-guarded-sample-escape](2026/08/heart-red-guarded-sample-escape.md) — Closed the escape path that kept release validation RED after +- [history-policy-generated-block](2026/08/history-policy-generated-block.md) - [howto-setup-notebook-audit](2026/08/howto-setup-notebook-audit.md) — none — run end-to-end from a cloud session; the six PRs are the record - [howto-smoke-all-tutorials](2026/08/howto-smoke-all-tutorials.md) - [howtofit-stub-fork-cleanup](2026/08/howtofit-stub-fork-cleanup.md) @@ -96,16 +99,19 @@ _(curate hard-won records here — survives regeneration.)_ - [inference-method-cards-seed](2026/08/inference-method-cards-seed.md) - [inference-programme-ledger](2026/08/inference-programme-ledger.md) - [interferometer-delaunay-flaky-fitexception](2026/08/interferometer-delaunay-flaky-fitexception.md) +- [interferometer-delaunay-nonpd-fitexception](2026/08/interferometer-delaunay-nonpd-fitexception.md) - [interferometer-start-here-integrate-oom](2026/08/interferometer-start-here-integrate-oom.md) - [intra-family-dep-floors](2026/08/intra-family-dep-floors.md) - [jax-compile-stall-evidence](2026/08/jax-compile-stall-evidence.md) — jax-compile-stall phase 1 - [jax-compile-stall-slow-vs-stall-audit](2026/08/jax-compile-stall-slow-vs-stall-audit.md) — jax-compile-stall epic +- [jax-compile-time-profiling-absorbed](2026/08/jax-compile-time-profiling-absorbed.md) - [jax-default-dependency](2026/08/jax-default-dependency.md) - [jax-grad-local-vs-ci-assertions](2026/08/jax-grad-local-vs-ci-assertions.md) - [jax-grad-smoke-timeout-budget](2026/08/jax-grad-smoke-timeout-budget.md) - [jax-likelihood-mass-sensitivity](2026/08/jax-likelihood-mass-sensitivity.md) — Audit + fix for median-literal mass blindness across all jax_likelihood/datacube scripts (phase 2 of the findi… - [knowledge-board](2026/08/knowledge-board.md) — auto-closed on merge - [lacosmic-cr-option-and-star-pass-decoupling](2026/08/lacosmic-cr-option-and-star-pass-decoupling.md) — both deliberately OPEN — closure is the default-flip decision, not this ship +- [latex-docstrings-invalid-escape-warnings](2026/08/latex-docstrings-invalid-escape-warnings.md) - [latex-raw-string-docstrings](2026/08/latex-raw-string-docstrings.md) — one issue, six PRs - [lazy-heavy-imports](2026/08/lazy-heavy-imports.md) — Deferred all heavy non-essential imports to first use. `import autolens` 4.07s → 1.2–1.3s - [llms-txt-census-fixes](2026/08/llms-txt-census-fixes.md) @@ -119,6 +125,7 @@ _(curate hard-won records here — survives regeneration.)_ - [mge-sigma-min-workspace-sweep](2026/08/mge-sigma-min-workspace-sweep.md) - [mind-readability-pass](2026/08/mind-readability-pass.md) — closed on ship - [missing-auto-simulate-guards](2026/08/missing-auto-simulate-guards.md) +- [multi-dataset-jax-likelihood-xla-stall](2026/08/multi-dataset-jax-likelihood-xla-stall.md) — filed 2026-08-22 after `multi_dataset/jax_likelihood/mge.py` was parked - [multi-start-auto-convergence-real-search](2026/08/multi-start-auto-convergence-real-search.md) — `scripts/jax_assertions/multi_start_gradient_auto_convergence.py` failed - [multistart-gradient-resume-fom-sanity-check](2026/08/multistart-gradient-resume-fom-sanity-check.md) - [multistart-nan-step-diagnostics](2026/08/multistart-nan-step-diagnostics.md) @@ -158,7 +165,9 @@ _(curate hard-won records here — survives regeneration.)_ - [pre-build-stages-untracked-wip](2026/08/pre-build-stages-untracked-wip.md) — CLOSED completed - [prior-property-tests](2026/08/prior-property-tests.md) - [prior-support-clipper](2026/08/prior-support-clipper.md) — Shipped `AbstractClipper` / `ClipperNone` / `ClipperPriorBox` in +- [priors-and-messages-math-audit](2026/08/priors-and-messages-math-audit.md) - [profile-validation-resample-recovery](2026/08/profile-validation-resample-recovery.md) — Shipped the approved narrow compatibility fix: invalid profile construction is now both a direct `ValueError` … +- [profiling-agent-compile-axis-arc](2026/08/profiling-agent-compile-axis-arc.md) - [purge-autocti-dataset-1d-overview](2026/08/purge-autocti-dataset-1d-overview.md) — no GitHub issue — the leftover from `autocti-util-dataset-export`, executed on direct human instruction "do th… - [pyautobrain-pr-test-ci](2026/08/pyautobrain-pr-test-ci.md) — auto-closed by the merge - [pyautofit_plot_rst_dead_plotters](2026/08/pyautofit_plot_rst_dead_plotters.md) @@ -182,6 +191,7 @@ _(curate hard-won records here — survives regeneration.)_ - [release-drive-2026-08-07](2026/08/release-drive-2026-08-07.md) - [release-validation-tri-state](2026/08/release-validation-tri-state.md) - [release-version-sync-back-to-main](2026/08/release-version-sync-back-to-main.md) +- [remove-pynufft-legacy-transformer](2026/08/remove-pynufft-legacy-transformer.md) - [resolve-border-relocator-hazard](2026/08/resolve-border-relocator-hazard.md) — Reconciled the likelihood hazard instrument after the border-relocator source fix. The resolved backend-diverg… - [resolve-curvature-floor-doc-drift](2026/08/resolve-curvature-floor-doc-drift.md) — Reconciled the curvature-floor documentation finding after PyAutoArray#444. The detector now requires both run… - [resolve-sersic-ell-comps-gradient](2026/08/resolve-sersic-ell-comps-gradient.md) — Reconciled the numerical-hazard evidence after the Sersic Cartesian-radius fix. The stable conditional detecto… @@ -370,6 +380,7 @@ _(curate hard-won records here — survives regeneration.)_ - [ep-projection-weights](2026/07/ep-projection-weights.md) — two stacked defects - [ep-statistics-audit](2026/07/ep-statistics-audit.md) — F1-F10 census + EP wiki page; fixes dispersed: F3/F10->#1349, F5->#1334, F7c->#1345; remainder executes as bug… - [ep-statistics-fix-batch](2026/07/ep-statistics-fix-batch.md) — #1332 F1 (MeanField log_norm->plates ctor slip) + F2 (Gamma/Beta KL direction, MC-certified) + F4 (exoneration… +- [extra-galaxies-feature-parity](2026/07/extra-galaxies-feature-parity.md) — the user's scoping held throughout — `imaging/features/extra_galaxies` - [extra-galaxies-multi-galaxy](2026/07/extra-galaxies-multi-galaxy.md) - [extra-galaxies-multi-galaxy-lens](2026/07/extra-galaxies-multi-galaxy-lens.md) - [extra-galaxies-point-source](2026/07/extra-galaxies-point-source.md) @@ -602,6 +613,7 @@ _(curate hard-won records here — survives regeneration.)_ - [python-312-autolens-wiki-currency-ci](2026/07/python-312-autolens-wiki-currency-ci.md) — The autolens assistant wiki-currency workflow now runs on Python 3.12, completing the assistant CI-selector po… - [python-312-floor](2026/07/python-312-floor.md) - [python-312-memory-validation-ci](2026/07/python-312-memory-validation-ci.md) — PyAutoMemory validation now runs on Python 3.12 and its repository-structure validator recognizes the shared r… +- [python-312-minimum-census](2026/07/python-312-minimum-census.md) - [python-312-release-surfaces](2026/07/python-312-release-surfaces.md) — Removed the accidentally tracked `=3.12` and generated `run_logs/` - [python-312-workspace-runtime-pins](2026/07/python-312-workspace-runtime-pins.md) - [python_312_floor_phase_1b_array](2026/07/python_312_floor_phase_1b_array.md) @@ -704,6 +716,7 @@ _(curate hard-won records here — survives regeneration.)_ - [testmode-env-drift](2026/07/testmode-env-drift.md) - [tutorial-5-filtering-prose](2026/07/tutorial-5-filtering-prose.md) - [unblock-release-validation](2026/07/unblock-release-validation.md) +- [unify-ai-assistant-workspace-readmes](2026/07/unify-ai-assistant-workspace-readmes.md) — this prompt's whole scope — one concise **AI Assistant** route first in - [user-defaults-discovery](2026/07/user-defaults-discovery.md) — batch finale (task 6, rescoped discovery-half) — start-new-project step 0 environment-discovery preflight: rea… - [vacuous-jax-assertions](2026/07/vacuous-jax-assertions.md) — four workspace_test scripts validated numpy while presenting as JAX — SHIPPED - [validation-searches-env-optax](2026/07/validation-searches-env-optax.md) diff --git a/dashboard.html b/dashboard.html index 18d54ae3..2a746bc3 100644 --- a/dashboard.html +++ b/dashboard.html @@ -134,26 +134,57 @@ .boards a:hover{opacity:1;text-decoration:none} .mdsrc{font-size:.85em} .boards a[data-organ="mind"]{color:#0a7d72}@media(prefers-color-scheme:dark){.boards a[data-organ="mind"]{color:#2ee6cf}}.boards a[data-organ="brain"]{color:#2159c9}@media(prefers-color-scheme:dark){.boards a[data-organ="brain"]{color:#6f9dff}}.boards a[data-organ="heart"]{color:#b50f1a}@media(prefers-color-scheme:dark){.boards a[data-organ="heart"]{color:#ff6b73}}.boards a[data-organ="hands"]{color:#9a5400}@media(prefers-color-scheme:dark){.boards a[data-organ="hands"]{color:#ffa733}}.boards a[data-organ="memory"]{color:#6b34d6}@media(prefers-color-scheme:dark){.boards a[data-organ="memory"]{color:#b37eff}}.boards a[data-organ="organism"]{color:#0b6fa4}@media(prefers-color-scheme:dark){.boards a[data-organ="organism"]{color:#5ec7f5}} +.fresh{margin:0 0 1.2rem;padding:.7rem .9rem .4rem;border:1px solid var(--edge); + border-radius:11px;background:var(--tint)} +.fresh>p{margin:0 0 .3rem} +.fresh .task{border-bottom:0}

PyAutoMindDashboard

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.

-
  • 1In flight
  • 3Parked
  • 6Planned
  • 157Backlog
+
  • 1In flight
  • 3Parked
  • 6Planned
  • 144Backlog
+

Last updated 2026-08-24. 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.

+

Refresh this page — reconcile finished prompts, then regenerate

+

markdown version

Start here

-

Highest priority (filed as high) — showing 12 of 17

+

Highest priority (filed as high) — showing 12 of 14

TRIAGE: needs manual review before routing❓ triagemediumsafehigh

-

Profile and speed up JAX likelihood-function compile times (all use cases)✨ featureautolens_profilinglargesupervisedhigh

-

Give the Profiling Agent a compile-time axis — the arc✨ featureprofilinglargesupervisedhigh

Deep research: Can we speed up Delaunay in PyAutoArray?🔬 researchautoarraytoo-largesupervisedhigh

-

Census of priors and messages — confirmed bugs + redesign ideas🔬 researchautofittoo-largesupervisedhigh

Split lensing regimes: multi_galaxy / group / cluster (epic plan)📖 docsautolenstoo-largesupervisedhigh

Re-baseline the MGE imaging JIT profiling regression value🧪 testautolens_workspace_developertoo-largesupervisedhigh

+

Fix release JAX runtime compatibility and likelihood parity🐛 bughealth_fixestoo-largesupervisedhigh

+

Fix JIT quick-update visualization output regressions🐛 bughealth_fixestoo-largesupervisedhigh

+

Fix release result/sample parameter-path regressions🐛 bughealth_fixestoo-largesupervisedhigh

Quick wins (small enough, and safe enough to run unattended)

@@ -179,14 +210,12 @@

Planned

latent-nan-guard-honest-run — planned 2026-07-22

Backlog markdown version

-

157 filed prompts, not started — sorted most-pickable first (priority, then size). 26 of them belong to an epic and are listed only under Epics below.

+

144 filed prompts, not started — sorted most-pickable first (priority, then size). 26 of them belong to an epic and are listed only under Epics below.

-feature — 29 +feature — 27 -

Profile and speed up JAX likelihood-function compile times (all use cases)✨ featureautolens_profilinglargesupervisedhigh

-

Give the Profiling Agent a compile-time axis — the arc✨ featureprofilinglargesupervisedhigh

Give PyAutoFit searches a seed — today no search can be made…✨ featureautofitmediumsupervisedmedium

Brain board follow-ups: what real mornings surface✨ featurepyautobrainsmallsupervisednormal

@@ -213,7 +242,7 @@

Backlog

Teach repos_sync --write to stamp organ config surfaces✨ featurepyautomindhardsupervisedlow

-bug — 31 +bug — 28

Fix release JAX runtime compatibility and likelihood parity🐛 bughealth_fixestoo-largesupervisedhigh

Fix JIT quick-update visualization output regressions🐛 bughealth_fixestoo-largesupervisedhigh

Fix release result/sample parameter-path regressions🐛 bughealth_fixestoo-largesupervisedhigh

@@ -230,12 +259,9 @@

Backlog

Bug: fix the tracer.fits existence guard in autolens_workspace imaging modeling.py🐛 bugworkspacessmallsafenormal

- - -

multi_dataset/jax_likelihood scripts hang to the timeout cap (XLA compile stall)🐛 bugautolens_workspace_testmediumsupervisednormal

Resolve release-profile timeout scripts deliberately🐛 bughealth_fixestoo-largesupervisednormal

@@ -247,13 +273,11 @@

Backlog

interferometer/start_here.py OOM in nightly release-validation integrate leg🐛 bugautolens

-research — 17 +research — 14

Deep research: Can we speed up Delaunay in PyAutoArray?🔬 researchautoarraytoo-largesupervisedhigh

-

Census of priors and messages — confirmed bugs + redesign ideas🔬 researchautofittoo-largesupervisedhigh

Delaunay-family JAX modules never hit the persistent compilation cache🔬 researchautoarraymediumsupervisedmedium

Use readthedocs or migrate to GitHub docs🔬 researchautobuildsmallsupervisednormal

-

Re-baseline the slacs0008 acceptance parity after the HAP-dedupe fix🔬 researchpyautoreducesmallsupervisednormal

We have lots of examples which profile how long JAX🔬 researchautolens_workspace_developermediumsupervisednormal

@@ -264,10 +288,9 @@

Backlog

Chase the ~6% flux scale between PyAutoReduce and legacy SLACS reductions🔬 researchpyautoreducemediumsupervisedlow

-

-maintenance — 25 +maintenance — 22

Untrack the generated FITS test artifacts in autoarray🧹 maintenancelibrariessmallsupervisedmedium

autolens_workspace_developer rectangular experiments — Gut stash + rename🧹 maintenanceautolens_workspace_developersmallsupervisednormal

@@ -279,23 +302,20 @@

Backlog

Standardise the arcticpy CI install across every CTI repo🧹 maintenancecimediumsupervisednormal

PyAutoMemory canonical-key TODO sweep🧹 maintenancepyautomemorymediumsupervisednormal

-

Capped smoke datasets were committed as if they were real🧹 maintenanceworkspacesmediumsupervisednormal

autolens_profiling is now a mature project, with a good separation🧹 maintenanceautolens_profilinglargesupervisednormal

Auto-request GitHub Copilot code review on every PR, org-wide🧹 maintenancecilargesupervisednormal

autolens_workspace🧹 maintenanceworkspacestoo-largesupervisednormal

-

Remove pynufft + legacy TransformerNUFFTPyNUFFT🧹 maintenancelibrarieslow-mediumsupervisednormal

pynufft removal: unswept downstream residue (1 hard break + stale docs/CI)🧹 maintenanceworkspaceslow-mediumsupervisednormal

dataset/imaging/jwst_lw is untracked because the gitignore was never extended for it🧹 maintenanceautolens_profilingsmallsupervisedlow

cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB of the repo's…🧹 maintenanceautolens_workspacesmallsupervisedlow

-

LaTeX in non-raw docstrings emits SyntaxWarning: invalid escape sequence🧹 maintenanceautolens_workspacesmallsupervisedlow

Refactor Agent witness map lacks PyAutoNerves test suite🧹 maintenancepyautobrainlowsafelow

-docs — 14 +docs — 12

Split lensing regimes: multi_galaxy / group / cluster (epic plan)📖 docsautolenstoo-largesupervisedhigh

Advanced workspace guide: Preloads (PyAutoArray)📖 docsworkspacestoo-largesupervisedhigh

@@ -304,12 +324,10 @@

Backlog

Propagate the shear_galaxy-at-(0,0) idiom to group/ and cluster/📖 docsworkspacessmallsupervisednormal

- -

test — 5 @@ -368,12 +386,6 @@

Backlog 2026-08-24 filed -The delaunay.py NaN-poisoning probe dies in ell_comps validation… - - - -2026-08-24 -filed Standardise the arcticpy CI install across every CTI repo @@ -401,13 +413,7 @@

Backlog smoke_install.sh's stale jax<0.7 pin — CI is on the right jax… - -2026-08-22 -filed -multi_dataset/jax_likelihood scripts hang to the timeout cap (XLA… - - - + 2026-08-22 filed Untrack the generated FITS test artifacts in autoarray @@ -422,12 +428,6 @@

Backlog 2026-08-22 filed -Remove pynufft + legacy TransformerNUFFTPyNUFFT - - - -2026-08-22 -filed Point-source JSON datasets record no resolution regime @@ -530,12 +530,6 @@

Backlog 2026-08-19 filed -Explore: dashboardify the Brain's operational surfaces with pasteable… - - - -2026-08-19 -filed Deduplicate repos_sync.py's check/write pairs @@ -641,6 +635,30 @@

Backlog Give PyAutoFit searches a seed — today no search can be made… + +2026-08-04 +filed +dataset/imaging/jwst_lw is untracked because the gitignore was never… + + + +2026-08-04 +filed +cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB of… + + + +2026-08-04 +filed +autolens_workspace_developer: broad stale-API rot (56 symbols, no CI) + + + +2026-08-04 +filed +aplt.Output stale-API drift in the remaining workspace repos + +

Epics markdown version

@@ -666,7 +684,7 @@

Epics

Intermittent XLA compile stall in the JAX vmap likelihood pathledger: draft/bug/ci/jax_vmap_jit_compile_stall.mdCLOSED AS PARTIAL 2026-08-23 — record complete/2026/08/jax-compile-stall-slow-vs-stall-audit.md

+

Intermittent XLA compile stall in the JAX vmap likelihood pathledger: draft/bug/ci/jax_vmap_jit_compile_stall.mdCLOSED AS PARTIAL 2026-08-23 — record complete/2026/08/jax-compile-stall-slow-vs-stall-audit.md

diff --git a/dashboard.md b/dashboard.md index a75b992e..d8cab4f4 100644 --- a/dashboard.md +++ b/dashboard.md @@ -6,16 +6,50 @@ This is the markdown version of the [PyAutoMind Dashboard](https://pyautolabs.gi Every task the Mind is holding, on one page: what is in flight, what is parked, and the whole backlog to pick from. Pick a task and run its `/start_dev` command in a Claude Code chat to start it. [Recent](#recent) is the same work by date — what has been happening rather than what to do next. +> **Last updated 2026-08-24.** 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. + +
📋 Refresh this page — reconcile finished prompts, then regenerate + +``` +Bring the PyAutoMind dashboard up to date. Work in the PyAutoMind checkout: + +1. `git fetch origin && git status`. If behind `origin/main`, `git pull --ff-only` + before touching anything. +2. `python3 scripts/lifecycle.py check`, `orphans`, and `index --check`. Fix + whatever drift they report. +3. Reconcile finished work — this is the part nothing automates. For every prompt + under `draft/` and `active/`, decide whether it is already done: a `Status:` + header saying shipped/superseded/absorbed, a merged PR named in its body, or a + record in `complete/` whose scope already covers it (check `complete/index.md` + and grep the dated buckets). Treat a same-subject record as evidence, not + proof — read both and confirm the scope really matches before retiring a + prompt. +4. For each one that IS done, write its record and retire the prompt: + `python3 scripts/lifecycle.py record --date --from-file + --apply`, where ends with `## Original prompt` followed by the + prompt's full text. Then `git rm` the prompt file and repoint every + cross-reference to it (grep the slug across `draft/`, `active/`, `epics.md` + and the registry files). +5. Regenerate the page: `pyauto-brain intake --apply dashboard`. Never hand-edit + `dashboard.md` or `dashboard.html` — they are generated. +6. Commit and push to `main`, so `dashboard_refresh.yml` agrees with the tree. + +Report what you retired, what you deliberately left in the backlog and why, and +anything you could not verify. +``` + +
+ | Where | Count | |-------|------:| | [In flight](#in-flight) (`active/`) | 1 | | [Parked](#parked) (`parked.md`) | 3 | | [Planned](#planned) (`planned.md`) | 6 | -| [Backlog](#backlog) (`draft/`) | 157 | +| [Backlog](#backlog) (`draft/`) | 144 | ## Start here -**Highest priority** (filed as `high`) — showing 12 of 17 +**Highest priority** (filed as `high`) — showing 12 of 14
📋 TRIAGE: needs manual review before routing — medium · safe · high @@ -57,58 +91,58 @@ Every task the Mind is holding, on one page: what is in flight, what is parked,
-
📋 Profile and speed up JAX likelihood-function compile times (all use cases) — autolens_profiling · large · supervised · high +
📋 Deep research: Can we speed up Delaunay in PyAutoArray? — autoarray · too-large · supervised · high ``` -/start_dev draft/feature/autolens_profiling/jax_compile_time_profiling.md +/start_dev draft/research/autoarray/delaunay_research.md ```
-
📋 Give the Profiling Agent a compile-time axis — the arc — profiling · large · supervised · high +
📋 einstein_radius_jit_from: replace static init_guess with a JAX-native seed finder — autogalaxy · too-large · supervised · high ``` -/start_dev draft/feature/profiling/profiling_agent_jax_compile_time_scope.md +/start_dev draft/refactor/autogalaxy/einstein_radius_jit_native_seed_finder.md ```
-
📋 Deep research: Can we speed up Delaunay in PyAutoArray? — autoarray · too-large · supervised · high +
📋 Split lensing regimes: multi_galaxy / group / cluster (epic plan) — autolens · too-large · supervised · high ``` -/start_dev draft/research/autoarray/delaunay_research.md +/start_dev draft/docs/autolens/split_lensing_regimes.md ```
-
📋 Census of priors and messages — confirmed bugs + redesign ideas — autofit · too-large · supervised · high +
📋 Re-baseline the MGE imaging JIT profiling regression value — autolens_workspace_developer · too-large · supervised · high ``` -/start_dev draft/research/autofit/priors_and_messages_math_audit.md +/start_dev draft/test/autolens_workspace_developer/mge_jit_regression_rebaseline.md ```
-
📋 einstein_radius_jit_from: replace static init_guess with a JAX-native seed finder — autogalaxy · too-large · supervised · high +
📋 Fix release JAX runtime compatibility and likelihood parity — health_fixes · too-large · supervised · high ``` -/start_dev draft/refactor/autogalaxy/einstein_radius_jit_native_seed_finder.md +/start_dev draft/bug/health_fixes/jax_runtime_and_parity.md ```
-
📋 Split lensing regimes: multi_galaxy / group / cluster (epic plan) — autolens · too-large · supervised · high +
📋 Fix JIT quick-update visualization output regressions — health_fixes · too-large · supervised · high ``` -/start_dev draft/docs/autolens/split_lensing_regimes.md +/start_dev draft/bug/health_fixes/jit_visualization_outputs.md ```
-
📋 Re-baseline the MGE imaging JIT profiling regression value — autolens_workspace_developer · too-large · supervised · high +
📋 Fix release result/sample parameter-path regressions — health_fixes · too-large · supervised · high ``` -/start_dev draft/test/autolens_workspace_developer/mge_jit_regression_rebaseline.md +/start_dev draft/bug/health_fixes/samples_parameter_paths.md ```
@@ -243,10 +277,10 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned. ## Backlog -**157** filed prompts, not started. Each section is sorted most-pickable first (priority, then size). **26** of them belong to an epic and are listed only under [Epics](#epics) below. +**144** filed prompts, not started. Each section is sorted most-pickable first (priority, then size). **26** of them belong to an epic and are listed only under [Epics](#epics) below.
-feature — 29 +feature — 27
📋 Numba CPU likelihood phase 1: batched MGE convolution + operated-matrix caching — autoarray · medium · supervised · high @@ -272,22 +306,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Profile and speed up JAX likelihood-function compile times (all use cases) — autolens_profiling · large · supervised · high - -``` -/start_dev draft/feature/autolens_profiling/jax_compile_time_profiling.md -``` - -
- -
📋 Give the Profiling Agent a compile-time axis — the arc — profiling · large · supervised · high - -``` -/start_dev draft/feature/profiling/profiling_agent_jax_compile_time_scope.md -``` - -
-
📋 Which other searches need prior-support handling — coverage audit after Prodigy — autofit · medium · supervised · medium ``` @@ -483,7 +501,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-bug — 31 +bug — 28
📋 Fix release JAX runtime compatibility and likelihood parity — health_fixes · too-large · supervised · high @@ -613,14 +631,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 interferometer Delaunay pixelization — non-PD FitException in test-mode bypass — autolens · medium · supervised · normal - -``` -/start_dev draft/bug/autolens/interferometer_delaunay_nonpd_fitexception.md -``` - -
-
📋 JAX point-source smoke sentinel: point.py returns -1e99 instead of -83.38 — autolens · medium · supervised · normal ``` @@ -637,14 +647,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 The delaunay.py NaN-poisoning probe dies in ell_comps validation before it can probe… — autolens_workspace_test · medium · supervised · normal - -``` -/start_dev draft/bug/autolens_workspace_test/delaunay_nan_probe_ell_comps_validator.md -``` - -
-
📋 interferometer/jax_grad/gradient.py: eager and jitted likelihoods diverge ~5e-7 on Python 3.13 only — autolens_workspace_test · medium · supervised · normal ``` @@ -653,14 +655,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 multi_dataset/jax_likelihood scripts hang to the timeout cap (XLA compile stall) — autolens_workspace_test · medium · supervised · normal - -``` -/start_dev draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md -``` - -
-
📋 @PyAutoFit TransformedMessage.logpdf/pdf omit the transform Jacobian — priors · medium · supervised · normal ``` @@ -736,7 +730,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-research — 17 +research — 14
📋 Deep research: Can we speed up Delaunay in PyAutoArray? — autoarray · too-large · supervised · high @@ -746,14 +740,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Census of priors and messages — confirmed bugs + redesign ideas — autofit · too-large · supervised · high - -``` -/start_dev draft/research/autofit/priors_and_messages_math_audit.md -``` - -
-
📋 Delaunay-family JAX modules never hit the persistent compilation cache — autoarray · medium · supervised · medium ``` @@ -778,14 +764,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Explore: dashboardify the Brain's operational surfaces with pasteable conductor prompts — pyautobrain · small · supervised · normal - -``` -/start_dev draft/research/pyautobrain/explore_dashboardify_the_brain_s_operational_sur.md -``` - -
-
📋 Re-baseline the slacs0008 acceptance parity after the HAP-dedupe fix — pyautoreduce · small · supervised · normal ``` @@ -866,18 +844,10 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Adopt Python 3.12 as the PyAuto ecosystem minimum — libraries - -``` -/start_dev draft/research/libraries/python_312_minimum.md -``` - -
-
-maintenance — 25 +maintenance — 22
📋 Untrack the generated FITS test artifacts in autoarray — libraries · small · supervised · medium @@ -967,14 +937,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Single-source the "Never rewrite history" policy as a generated AGENTS.md block — pyautomind · medium · supervised · normal - -``` -/start_dev draft/maintenance/pyautomind/history_policy_generated_block.md -``` - -
-
📋 Capped smoke datasets were committed as if they were real — workspaces · medium · supervised · normal ``` @@ -1007,14 +969,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Remove pynufft + legacy TransformerNUFFTPyNUFFT — libraries · low-medium · supervised · normal - -``` -/start_dev draft/maintenance/libraries/remove_pynufft_legacy_transformer.md -``` - -
-
📋 pynufft removal: unswept downstream residue (1 hard break + stale docs/CI) — workspaces · low-medium · supervised · normal ``` @@ -1047,14 +1001,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 LaTeX in non-raw docstrings emits SyntaxWarning: invalid escape sequence — autolens_workspace · small · supervised · low - -``` -/start_dev draft/maintenance/autolens_workspace/latex_docstrings_invalid_escape_warnings.md -``` - -
-
📋 The weekly smoke run's timings land in results-* under no discoverable name — pyautoheart · small · safe · low ``` @@ -1082,7 +1028,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-docs — 14 +docs — 12
📋 multi_galaxy package: new regime package in autolens_workspace — autolens · large · supervised · high @@ -1148,14 +1094,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 extra_galaxies feature parity: point_source + multi_galaxy (both workspaces) — workspaces · medium · supervised · normal - -``` -/start_dev draft/docs/workspaces/extra_galaxies_feature_parity.md -``` - -
-
📋 HowToLens ch4 tutorial 3: mask overlay is never actually drawn — howtolens · small · supervised · low ``` @@ -1188,14 +1126,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Phase 2: Make workspace READMEs assistant-first — workspaces - -``` -/start_dev draft/docs/workspaces/unify_ai_assistant_workspace_readmes.md -``` - -
-
@@ -1348,35 +1278,32 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 2026-08-24 | filed | interferometer/jax_grad/gradient.py: eager and jitted likelihoods… | | 2026-08-24 | filed | Un-park multi_galaxy/features/scaling_relation/slam once a capped run… | | 2026-08-24 | filed | The weekly smoke run's timings land in results-* under no… | -| 2026-08-24 | filed | The delaunay.py NaN-poisoning probe dies in ell_comps validation… | | 2026-08-24 | filed | Standardise the arcticpy CI install across every CTI repo | | 2026-08-23 | filed | pynufft removal: unswept downstream residue (1 hard break + stale… | | 2026-08-23 | filed | Phase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTI… | | 2026-08-23 | filed | Brain board follow-ups: what real mornings surface | | 2026-08-22 | filed | smoke_install.sh's stale jax<0.7 pin — CI is on the right jax… | +| 2026-08-22 | filed | Untrack the generated FITS test artifacts in autoarray |
… 10 more (40 left) | Date | Event | Task | |------|-------|------| -| 2026-08-22 | filed | multi_dataset/jax_likelihood scripts hang to the timeout cap (XLA… | -| 2026-08-22 | filed | Untrack the generated FITS test artifacts in autoarray | | 2026-08-22 | filed | The reconstruction noise map describes a different estimator than the… | -| 2026-08-22 | filed | Remove pynufft + legacy TransformerNUFFTPyNUFFT | | 2026-08-22 | filed | Point-source JSON datasets record no resolution regime | | 2026-08-22 | filed | Is Intel macOS a supported platform, and what is the numpy-only… | | 2026-08-22 | filed | Defer the eager scipy.sparse import in derivative_util (~0.10 s of… | | 2026-08-22 | filed | Bug: fix the tracer.fits existence guard in autolens_workspace… | | 2026-08-21 | filed | Rectangular mesh split: Bilinear (fast CPU default) vs RTU… | | 2026-08-20 | filed | Numba CPU likelihood phase 2: kernel-CDF numba fast path (the 49-88%… | +| 2026-08-20 | filed | Numba CPU likelihood phase 1: batched MGE convolution +… | +| 2026-08-19 | filed | status.sh --repos sources a file that no longer exists | +| 2026-08-19 | filed | jax 0.11 breaks beta/gamma message log_partition under jit… |
… 10 more (30 left) | Date | Event | Task | |------|-------|------| -| 2026-08-20 | filed | Numba CPU likelihood phase 1: batched MGE convolution +… | -| 2026-08-19 | filed | status.sh --repos sources a file that no longer exists | -| 2026-08-19 | filed | jax 0.11 breaks beta/gamma message log_partition under jit… | | 2026-08-19 | filed | autolens_workspace_test jax_likelihood pins: 4 scripts fail smoke on… | | 2026-08-19 | filed | autofit_profiling: bootstrap the repo + general PyAutoFit profiling… | | 2026-08-19 | filed | autoreduce 0.9 on PyPI never got the Python 3.12 floor | @@ -1384,36 +1311,39 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 2026-08-19 | filed | Release board: local run_logs enrichment | | 2026-08-19 | filed | Refactor Agent witness map lacks PyAutoNerves test suite | | 2026-08-19 | filed | RTD organism docs currency: Nerves page, organ-count drift, hands.md… | +| 2026-08-19 | filed | PyAutoConf rename leftovers in Brain functional surfaces | +| 2026-08-19 | filed | Deduplicate repos_sync.py's check/write pairs | +| 2026-08-19 | filed | Bug in autocti_workspace: the dataset_1d results/database example… |
… 10 more (20 left) | Date | Event | Task | |------|-------|------| -| 2026-08-19 | filed | PyAutoConf rename leftovers in Brain functional surfaces | -| 2026-08-19 | filed | Explore: dashboardify the Brain's operational surfaces with pasteable… | -| 2026-08-19 | filed | Deduplicate repos_sync.py's check/write pairs | -| 2026-08-19 | filed | Bug in autocti_workspace: the dataset_1d results/database example… | | 2026-08-18 | parked | single-source-density-design | | 2026-08-18 | parked | prior-message-collapse-design | | 2026-08-18 | filed | @PyAutoFit TransformedMessage.logpdf/pdf omit the transform… | | 2026-08-17 | filed | Which other searches need prior-support handling — coverage audit… | | 2026-08-17 | filed | Teach repos_sync --write to stamp organ config surfaces | | 2026-08-16 | filed | LogGaussianPrior misreports its own support as (-inf, inf) | +| 2026-08-14 | filed | Three jax_likelihood pins are stale by ~1.24e-4 and fail the smoke… | +| 2026-08-09 | found | isothermal-ell-sph-oversampling-at-the-cusp | +| 2026-08-08 | parked | pyautoreduce-slacs1430-acs-comparison | +| 2026-08-08 | filed | Regenerate autolens_workspace markdown/ so the MGE pages show… |
… 10 more (10 left) | Date | Event | Task | |------|-------|------| -| 2026-08-14 | filed | Three jax_likelihood pins are stale by ~1.24e-4 and fail the smoke… | -| 2026-08-09 | found | isothermal-ell-sph-oversampling-at-the-cusp | -| 2026-08-08 | parked | pyautoreduce-slacs1430-acs-comparison | -| 2026-08-08 | filed | Regenerate autolens_workspace markdown/ so the MGE pages show… | | 2026-08-07 | filed | autofit.plot functions accept **kwargs and silently discard them | | 2026-08-07 | filed | Regenerate setup_notebook-drifted notebooks in… | | 2026-08-06 | filed | Triage: Convolver "No blurring_image provided" warning in canonical… | | 2026-08-06 | filed | Rewrite PyAutoCTI docs/api — 55 of 89 autosummary entries are dead | | 2026-08-06 | filed | Dependency-cap refresh 2026-08: safe bumps, astropy 8 decision, two… | | 2026-08-05 | filed | Give PyAutoFit searches a seed — today no search can be made… | +| 2026-08-04 | filed | dataset/imaging/jwst_lw is untracked because the gitignore was never… | +| 2026-08-04 | filed | cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB of… | +| 2026-08-04 | filed | autolens_workspace_developer: broad stale-API rot (56 symbols, no CI) | +| 2026-08-04 | filed | aplt.Output stale-API drift in the remaining workspace repos |
@@ -1568,7 +1498,7 @@ Continue the 'Cluster strong lensing — Source & Cluster arc' epic. Its canonic
📋 Intermittent XLA compile stall in the JAX vmap likelihood path — ledger: `draft/bug/ci/jax_vmap_jit_compile_stall.md` — CLOSED AS PARTIAL 2026-08-23 — record complete/2026/08/jax-compile-stall-slow-vs-stall-audit.md ``` -Continue the 'Intermittent XLA compile stall in the JAX vmap likelihood path' epic. Its canonical state lives in draft/bug/ci/jax_vmap_jit_compile_stall.md — read that ledger (and any DECISIONS/RESULTS files beside it) first. Cross-check this epic's entry in PyAutoMind/epics.md, any related rows in PyAutoMind/active.md, and the referenced repos' open issues and PRs, to work out the last completed phase and what is currently in flight. Then pick the next logical step and continue it through the normal workflow (/start_dev — filing the phase's prompt first if none exists), updating the ledger as the work advances. Note: phase 1 (watchdog) shipped in full; phases 2/3 stopped deliberately at a measured-but-not-root-caused state. The stall is instrumented and characterised (>100x bimodality inside one compile step; vmap-of-jit contributory at p=0.070 but NOT causal; the compile-cache hypothesis never tested) and NOTHING was un-quarantined. Resume via draft/research/ci/smoke_timing_and_profiling.md, which is where this gets dug up. Superseded draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md. +Continue the 'Intermittent XLA compile stall in the JAX vmap likelihood path' epic. Its canonical state lives in draft/bug/ci/jax_vmap_jit_compile_stall.md — read that ledger (and any DECISIONS/RESULTS files beside it) first. Cross-check this epic's entry in PyAutoMind/epics.md, any related rows in PyAutoMind/active.md, and the referenced repos' open issues and PRs, to work out the last completed phase and what is currently in flight. Then pick the next logical step and continue it through the normal workflow (/start_dev — filing the phase's prompt first if none exists), updating the ledger as the work advances. Note: phase 1 (watchdog) shipped in full; phases 2/3 stopped deliberately at a measured-but-not-root-caused state. The stall is instrumented and characterised (>100x bimodality inside one compile step; vmap-of-jit contributory at p=0.070 but NOT causal; the compile-cache hypothesis never tested) and NOTHING was un-quarantined. Resume via draft/research/ci/smoke_timing_and_profiling.md, which is where this gets dug up. Superseded complete/2026/08/multi-dataset-jax-likelihood-xla-stall.md (was draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md). ```
@@ -1691,7 +1621,7 @@ Continue the 'Expectation propagation (EP) campaign' epic. Its canonical state l ## Hygiene -6 prompt(s) without a metadata header — they show no facets above. Re-home or re-run intake on them when touched. +4 prompt(s) without a metadata header — they show no facets above. Re-home or re-run intake on them when touched.
Headerless prompts @@ -1699,9 +1629,7 @@ Continue the 'Expectation propagation (EP) campaign' epic. Its canonical state l - `draft/bug/autolens/interferometer_release_leg_oom.md` - `draft/docs/autolens_workspace/sampler_cli_output_workspace_sweep.md` - `draft/docs/workspaces/plot_coverage_followups.md` -- `draft/docs/workspaces/unify_ai_assistant_workspace_readmes.md` - `draft/research/autolens_profiling/cluster_gradient_search_benchmark.md` -- `draft/research/libraries/python_312_minimum.md`
diff --git a/draft/bug/ci/jax_vmap_jit_compile_stall.md b/draft/bug/ci/jax_vmap_jit_compile_stall.md index 1a8aa457..6b445412 100644 --- a/draft/bug/ci/jax_vmap_jit_compile_stall.md +++ b/draft/bug/ci/jax_vmap_jit_compile_stall.md @@ -173,8 +173,8 @@ phase carries only its own slice of it. ## Supersedes an earlier filing of the same defect -[`../autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md`](../autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md) -(filed 2026-08-22, never issued) describes this same stall from the +[`complete/2026/08/multi-dataset-jax-likelihood-xla-stall.md`](../../../complete/2026/08/multi-dataset-jax-likelihood-xla-stall.md) +(filed 2026-08-22 as `draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md`, never issued, recorded 2026-08-24) describes this same stall from the `autolens_workspace_test` side. It is superseded by this campaign rather than run alongside it — one root cause is one task. Its two asks that this filing did not already carry are folded in: the runner leaving diagnostic evidence behind diff --git a/draft/bug/priors/z_features.md b/draft/bug/priors/z_features.md index ca678600..f99f93c2 100644 --- a/draft/bug/priors/z_features.md +++ b/draft/bug/priors/z_features.md @@ -31,7 +31,8 @@ across Prior subclasses"), we audited every prior and message in PyAutoFit for similar latent math bugs. Full audit lives at: -`PyAutoMind/research/autofit/priors_and_messages_math_audit.md` +`complete/2026/08/priors-and-messages-math-audit.md` (retired 2026-08-18 — +fully graduated; was `draft/research/autofit/priors_and_messages_math_audit.md`) This folder breaks that audit into a logical, dependency-ordered sequence of standalone GitHub issues. The intent is to land them one by one so diff --git a/draft/maintenance/libraries/defer_scipy_sparse_import.md b/draft/maintenance/libraries/defer_scipy_sparse_import.md index 8ad940ab..73305c40 100644 --- a/draft/maintenance/libraries/defer_scipy_sparse_import.md +++ b/draft/maintenance/libraries/defer_scipy_sparse_import.md @@ -13,7 +13,7 @@ Filed: 2026-08-22 (backfilled from git) ## Where this came from Found 2026-08-22 while measuring the pynufft removal -(`draft/maintenance/libraries/remove_pynufft_legacy_transformer.md`). That task +(`complete/2026/08/remove-pynufft-legacy-transformer.md`). That task assumed removing pynufft would take ~0.23 s off `import autoarray`. It takes ~10 ms. The reason is the real target: diff --git a/draft/maintenance/workspaces/pynufft_removal_downstream_residue.md b/draft/maintenance/workspaces/pynufft_removal_downstream_residue.md index 95506554..69852f2e 100644 --- a/draft/maintenance/workspaces/pynufft_removal_downstream_residue.md +++ b/draft/maintenance/workspaces/pynufft_removal_downstream_residue.md @@ -23,7 +23,7 @@ That bug prompt turned out to be genuinely superseded — verified, not merely marked — so no dev work was started on it. The sweep run to confirm the supersession is what surfaced this. -`draft/maintenance/libraries/remove_pynufft_legacy_transformer.md` +`complete/2026/08/remove-pynufft-legacy-transformer.md` (Status: shipped) deleted `TransformerNUFFTPyNUFFT` and dropped `pynufft` from PyAutoArray's `optional`/`dev` extras. Its "Workspace tier" scoped only `autolens_workspace` and `autolens_workspace_test`, both of which were done diff --git a/draft/research/libraries/intel_macos_support_policy.md b/draft/research/libraries/intel_macos_support_policy.md index cae55e99..56f48b30 100644 --- a/draft/research/libraries/intel_macos_support_policy.md +++ b/draft/research/libraries/intel_macos_support_policy.md @@ -19,7 +19,7 @@ Filed: 2026-08-22 (backfilled from git) > issue in general? Asked while reviewing the pynufft removal -(`draft/maintenance/libraries/remove_pynufft_legacy_transformer.md`), whose +(`complete/2026/08/remove-pynufft-legacy-transformer.md`), whose Intel-Mac caveat was accepted as a release-note line on the understanding that the general platform question gets its own task. diff --git a/epics.md b/epics.md index 8897aaff..1b883865 100644 --- a/epics.md +++ b/epics.md @@ -35,7 +35,7 @@ epic, never picked standalone. - CORRECTION (post-close-out): the captured stack shows the hang is in jax.block_until_ready, NOT in compilation. The epic's name and every marker calling this an "XLA compile stall" are wrong. Resume from "why does block_until_ready never return", not from compiler behaviour. -- notes: phase 1 (watchdog) shipped in full; phases 2/3 stopped deliberately at a measured-but-not-root-caused state. The stall is instrumented and characterised (>100x bimodality inside one compile step; vmap-of-jit contributory at p=0.070 but NOT causal; the compile-cache hypothesis never tested) and NOTHING was un-quarantined. Resume via draft/research/ci/smoke_timing_and_profiling.md, which is where this gets dug up. Superseded draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md. +- notes: phase 1 (watchdog) shipped in full; phases 2/3 stopped deliberately at a measured-but-not-root-caused state. The stall is instrumented and characterised (>100x bimodality inside one compile step; vmap-of-jit contributory at p=0.070 but NOT causal; the compile-cache hypothesis never tested) and NOTHING was un-quarantined. Resume via draft/research/ci/smoke_timing_and_profiling.md, which is where this gets dug up. Superseded complete/2026/08/multi-dataset-jax-likelihood-xla-stall.md (was draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_xla_stall.md). ## graphical-ep - title: Expectation propagation (EP) campaign