From 63b29d0efdaa477321b9ac86b8e9d7e1aba9a35e Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 20:44:49 +0000 Subject: [PATCH 1/6] =?UTF-8?q?prompt:=20issue=20+=20route=20autofit-plot-?= =?UTF-8?q?functions-kwargs=20(#1523)=20=E2=86=92=20start=5Flibrary?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Issue PyAutoFit#1523 filed for the `autofit.plot` silent-**kwargs defect. Prompt advances draft/bug/autofit/ → active/; task registered in active.md as library-dev claiming PyAutoFit + autofit_workspace. Fix direction approved by the human: forward **kwargs with a strict signature filter, so unrecognised names raise TypeError instead of vanishing into corner's hist2d sink. Scope extended to a second silent defect found while verifying — corner_cornerpy passes weight_list= to corner.corner, which has no such parameter (it is weights), so sample weights are ignored on every weighted corner plot. Brain bug agent and the sizing faculty both scored the prompt too-large (13) and advised phasing; overridden deliberately and recorded on the issue. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01G8EXazf2FEqf4S9UpTwMGV --- active.md | 24 ++++++++++++++ .../plot_functions_discard_kwargs.md | 1 + dashboard.html | 22 ++++++------- dashboard.md | 32 +++++++++---------- 4 files changed, 52 insertions(+), 27 deletions(-) rename {draft/bug/autofit => active}/plot_functions_discard_kwargs.md (99%) diff --git a/active.md b/active.md index fb25a165..9835e721 100644 --- a/active.md +++ b/active.md @@ -13,3 +13,27 @@ - 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. + +## autofit-plot-functions-kwargs +- issue: https://github.com/PyAutoLabs/PyAutoFit/issues/1523 +- issued: 2026-08-24 +- prompt: active/plot_functions_discard_kwargs.md +- status: library-dev +- worktree: ~/Code/PyAutoLabs-wt/autofit-plot-functions-kwargs +- repos: + - PyAutoFit: claude/autofit-plot-functions-kwargs-vvwj5x + - autofit_workspace: claude/autofit-plot-functions-kwargs-vvwj5x +- summary: | + Routed by /start_dev in a web-github session (branch + claude/autofit-plot-functions-kwargs-vvwj5x). Fix direction approved by the + human: forward **kwargs with a strict signature filter (unrecognised names + raise TypeError), not plain forwarding and not dropping **kwargs. + Scope also covers a second silent defect found during verification: + corner_cornerpy passes weight_list= to corner.corner, which has no such + parameter (it is weights), so sample weights are ignored on every weighted + corner plot. Approved for the same PR. + Brain bug agent + sizing faculty both scored this too-large (13) and advised + phasing; overridden deliberately — the score is inflated by prompt word + count plus the multi-repo flag. Library PR merges first, workspace PR + follows behind the library-first gate. + Next: /start_library for PyAutoFit. diff --git a/draft/bug/autofit/plot_functions_discard_kwargs.md b/active/plot_functions_discard_kwargs.md similarity index 99% rename from draft/bug/autofit/plot_functions_discard_kwargs.md rename to active/plot_functions_discard_kwargs.md index db2ecddd..3f8a5e43 100644 --- a/draft/bug/autofit/plot_functions_discard_kwargs.md +++ b/active/plot_functions_discard_kwargs.md @@ -10,6 +10,7 @@ Autonomy: supervised Priority: normal Status: formalised Filed: 2026-08-07 (backfilled from git) +Issued: 2026-08-24 Filed 2026-08-07, found while fixing `docs/api/plot.rst` (complete/2026/08/pyautofit_plot_rst_dead_plotters.md). Deliberately left out of diff --git a/dashboard.html b/dashboard.html index 3c7583c1..d84e3c05 100644 --- a/dashboard.html +++ b/dashboard.html @@ -142,7 +142,7 @@

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.

- +

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.

@PyAutoFit TransformedMessage.factor_gradient crashes on first callissue #1501 — issued 2026-08-19HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract

+

Parked markdown version

3 task(s) @@ -209,7 +210,7 @@

Planned

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

Backlog markdown version

-

139 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.

+

138 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 @@ -241,13 +242,12 @@

Backlog

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

-bug — 25 +bug — 24

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

LogGaussianPrior misreports its own support as (-inf, inf)🐛 bugautofitsmallsupervisednormal

-

PyAutoConf rename leftovers in Brain functional surfaces🐛 bugpyautobrainsmallsupervisednormal

generate.py deletes notebooks/ before rejecting an unknown project🐛 bugpyautohandssmallsupervisednormal

@@ -362,6 +362,12 @@

Backlog 2026-08-24 +issued +autofit.plot functions accept **kwargs and silently discard them + + + +2026-08-24 filed Un-park multi_galaxy/features/scaling_relation/slam once a capped run… @@ -408,7 +414,7 @@

Backlog The reconstruction noise map describes a different estimator than the… - + 2026-08-22 filed Point-source JSON datasets record no resolution regime @@ -585,12 +591,6 @@

Backlog 2026-08-07 filed -autofit.plot functions accept **kwargs and silently discard them - - - -2026-08-07 -filed Regenerate setup_notebook-drifted notebooks in… diff --git a/dashboard.md b/dashboard.md index c3cca801..2183f15d 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/`) | 139 | +| [Backlog](#backlog) (`draft/`) | 138 | ## Start here @@ -185,6 +185,14 @@ Issued — each has an open GitHub issue and usually a branch. The full record f

+
📋 autofit.plot functions accept **kwargs and silently discard themissue #1523 — issued 2026-08-24 — library-dev + +``` +/start_dev active/plot_functions_discard_kwargs.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). @@ -269,7 +277,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned. ## Backlog -**139** 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. +**138** 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 @@ -493,7 +501,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-bug — 25 +bug — 24
📋 Fix release JAX runtime compatibility and likelihood parity — health_fixes · too-large · supervised · high @@ -535,14 +543,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 autofit.plot functions accept **kwargs and silently discard them — autofit · small · supervised · normal - -``` -/start_dev draft/bug/autofit/plot_functions_discard_kwargs.md -``` - -
-
📋 HowToGalaxy small API drifts: ellipse kwargs + plot_grid_lines (parked NEEDS_FIX) — howtogalaxy · small · supervised · normal ``` @@ -1235,6 +1235,7 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | Date | Event | Task | |------|-------|------| | 2026-08-24 | filed | interferometer/jax_grad/gradient.py: eager and jitted likelihoods… | +| 2026-08-24 | issued | autofit.plot functions accept **kwargs and silently discard them | | 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-23 | filed | pynufft removal: unswept downstream residue (1 hard break + stale… | @@ -1243,12 +1244,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 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 | | 2026-08-22 | filed | The reconstruction noise map describes a different estimator than the… | -| 2026-08-22 | filed | Point-source JSON datasets record no resolution regime |
… 10 more (40 left) | Date | Event | Task | |------|-------|------| +| 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… | @@ -1258,12 +1259,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 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… |
… 10 more (30 left) | Date | Event | Task | |------|-------|------| +| 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 | | 2026-08-19 | issued | @PyAutoFit TransformedMessage.factor_gradient crashes on first… | | 2026-08-19 | filed | Release board: local run_logs enrichment | @@ -1273,12 +1274,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 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 |
… 10 more (20 left) | Date | Event | Task | |------|-------|------| +| 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 | @@ -1287,7 +1288,6 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 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… |
… 10 more (10 left) From 13eef45e1ad92612bbe1e0c4f6c88a217e5417f9 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 20:48:25 +0000 Subject: [PATCH 2/6] prompt: register autofit-plot-functions-kwargs library repos in active.md web-github session, so no local worktree: the claim records the clones and the py3.12 venv instead. Branches created in both repos. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01G8EXazf2FEqf4S9UpTwMGV --- active.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/active.md b/active.md index 9835e721..3399ec19 100644 --- a/active.md +++ b/active.md @@ -19,7 +19,7 @@ - issued: 2026-08-24 - prompt: active/plot_functions_discard_kwargs.md - status: library-dev -- worktree: ~/Code/PyAutoLabs-wt/autofit-plot-functions-kwargs +- env: web-github (no local worktree; clones at /home/user/pyautofit + /home/user/autofit_workspace, venv /home/user/.venv-af on py3.12) - repos: - PyAutoFit: claude/autofit-plot-functions-kwargs-vvwj5x - autofit_workspace: claude/autofit-plot-functions-kwargs-vvwj5x From a6a0e022651689f74336dfc1a18cb287126c2958 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 20:57:33 +0000 Subject: [PATCH 3/6] prompt: autofit-plot-functions-kwargs implemented, both branches pushed Status advances to ready-to-ship. PyAutoFit 8cdcff3 and the paired autofit_workspace commit are on claude/autofit-plot-functions-kwargs-vvwj5x in each repo; no PRs opened yet. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01G8EXazf2FEqf4S9UpTwMGV --- active.md | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/active.md b/active.md index 3399ec19..14a9b0b8 100644 --- a/active.md +++ b/active.md @@ -18,7 +18,7 @@ - issue: https://github.com/PyAutoLabs/PyAutoFit/issues/1523 - issued: 2026-08-24 - prompt: active/plot_functions_discard_kwargs.md -- status: library-dev +- status: ready-to-ship (both branches pushed; no PRs opened yet) - env: web-github (no local worktree; clones at /home/user/pyautofit + /home/user/autofit_workspace, venv /home/user/.venv-af on py3.12) - repos: - PyAutoFit: claude/autofit-plot-functions-kwargs-vvwj5x @@ -36,4 +36,11 @@ phasing; overridden deliberately — the score is inflated by prompt word count plus the multi-repo flag. Library PR merges first, workspace PR follows behind the library-first gate. - Next: /start_library for PyAutoFit. + Implemented and pushed 2026-08-24. PyAutoFit 8cdcff3: forward-with-strict-filter + (PlotKwargsError + checked_kwargs in plot_util), the weight_list=/weights= fix, + anesthetic kwargs split between make_2d_axes and plot_2d, mle traces forward Line2D + properties. Full suite 2088 passed / 36 skipped. autofit_workspace: the four plot + scripts' kwarg lists rewritten to genuine corner.py arguments (15 wrong-library names + removed, zeus's list rebuilt), prose corrected, notebooks regenerated. + Next: /ship_library to open the PyAutoFit PR, then /ship_workspace behind the + library-first gate. No PRs opened yet — awaiting the human. From 81938a2724b3dcd85c62373eab2fbe6d6aa076ba Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 21:03:58 +0000 Subject: [PATCH 4/6] prompt: autofit-plot-functions-kwargs library shipped (PyAutoFit#1524) Library PR PyAutoFit#1524 and paired workspace PR autofit_workspace#148 both open and labelled pending-release. Status advances to library-shipped, workspace-pending; the workspace PR waits on the library-first merge gate. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01G8EXazf2FEqf4S9UpTwMGV --- active.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/active.md b/active.md index 14a9b0b8..afcf6cca 100644 --- a/active.md +++ b/active.md @@ -18,7 +18,9 @@ - issue: https://github.com/PyAutoLabs/PyAutoFit/issues/1523 - issued: 2026-08-24 - prompt: active/plot_functions_discard_kwargs.md -- status: ready-to-ship (both branches pushed; no PRs opened yet) +- status: library-shipped, workspace-pending +- library-pr: https://github.com/PyAutoLabs/PyAutoFit/pull/1524 +- workspace-pr: https://github.com/PyAutoLabs/autofit_workspace/pull/148 (blocked on the library PR by the library-first gate) - env: web-github (no local worktree; clones at /home/user/pyautofit + /home/user/autofit_workspace, venv /home/user/.venv-af on py3.12) - repos: - PyAutoFit: claude/autofit-plot-functions-kwargs-vvwj5x @@ -42,5 +44,8 @@ properties. Full suite 2088 passed / 36 skipped. autofit_workspace: the four plot scripts' kwarg lists rewritten to genuine corner.py arguments (15 wrong-library names removed, zeus's list rebuilt), prose corrected, notebooks regenerated. - Next: /ship_library to open the PyAutoFit PR, then /ship_workspace behind the - library-first gate. No PRs opened yet — awaiting the human. + Shipped 2026-08-24: PyAutoFit#1524 and autofit_workspace#148, both labelled + pending-release. Gate was the per-repo pytest fallback (pyauto-heart is not + available in this web-github session): full suite 2089 passed / 36 skipped on a + clean serial run. Merge is human — library PR first, then the workspace PR. + Next: /prm to watch CI and close out. From 44b72007d179886d8cf1c1f5a5f10aa070dd046f Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 24 Aug 2026 21:09:30 +0000 Subject: [PATCH 5/6] prompt: record autofit-plot-functions-kwargs shipped (PyAutoFit#1524) PyAutoFit#1524 merged as 56f1b87 and autofit_workspace#148 as 5056fa3, in library-first order; both branches proven merged before recording. Issue #1523 closed. Prompt advances active/ -> complete/2026/08/autofit-plot-functions-kwargs.md. The record keeps the two findings worth carrying: corner.corner's own **kwargs sink (which is why plain forwarding would not have fixed the tutorials), and the weight_list=/weights= defect that had every weighted corner posterior rendering unweighted. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01G8EXazf2FEqf4S9UpTwMGV --- active.md | 36 --- active/plot_functions_discard_kwargs.md | 100 -------- .../2026/08/autofit-plot-functions-kwargs.md | 220 ++++++++++++++++++ complete/index.md | 3 +- dashboard.html | 17 +- dashboard.md | 20 +- 6 files changed, 236 insertions(+), 160 deletions(-) delete mode 100644 active/plot_functions_discard_kwargs.md create mode 100644 complete/2026/08/autofit-plot-functions-kwargs.md diff --git a/active.md b/active.md index afcf6cca..fb25a165 100644 --- a/active.md +++ b/active.md @@ -13,39 +13,3 @@ - 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. - -## autofit-plot-functions-kwargs -- issue: https://github.com/PyAutoLabs/PyAutoFit/issues/1523 -- issued: 2026-08-24 -- prompt: active/plot_functions_discard_kwargs.md -- status: library-shipped, workspace-pending -- library-pr: https://github.com/PyAutoLabs/PyAutoFit/pull/1524 -- workspace-pr: https://github.com/PyAutoLabs/autofit_workspace/pull/148 (blocked on the library PR by the library-first gate) -- env: web-github (no local worktree; clones at /home/user/pyautofit + /home/user/autofit_workspace, venv /home/user/.venv-af on py3.12) -- repos: - - PyAutoFit: claude/autofit-plot-functions-kwargs-vvwj5x - - autofit_workspace: claude/autofit-plot-functions-kwargs-vvwj5x -- summary: | - Routed by /start_dev in a web-github session (branch - claude/autofit-plot-functions-kwargs-vvwj5x). Fix direction approved by the - human: forward **kwargs with a strict signature filter (unrecognised names - raise TypeError), not plain forwarding and not dropping **kwargs. - Scope also covers a second silent defect found during verification: - corner_cornerpy passes weight_list= to corner.corner, which has no such - parameter (it is weights), so sample weights are ignored on every weighted - corner plot. Approved for the same PR. - Brain bug agent + sizing faculty both scored this too-large (13) and advised - phasing; overridden deliberately — the score is inflated by prompt word - count plus the multi-repo flag. Library PR merges first, workspace PR - follows behind the library-first gate. - Implemented and pushed 2026-08-24. PyAutoFit 8cdcff3: forward-with-strict-filter - (PlotKwargsError + checked_kwargs in plot_util), the weight_list=/weights= fix, - anesthetic kwargs split between make_2d_axes and plot_2d, mle traces forward Line2D - properties. Full suite 2088 passed / 36 skipped. autofit_workspace: the four plot - scripts' kwarg lists rewritten to genuine corner.py arguments (15 wrong-library names - removed, zeus's list rebuilt), prose corrected, notebooks regenerated. - Shipped 2026-08-24: PyAutoFit#1524 and autofit_workspace#148, both labelled - pending-release. Gate was the per-repo pytest fallback (pyauto-heart is not - available in this web-github session): full suite 2089 passed / 36 skipped on a - clean serial run. Merge is human — library PR first, then the workspace PR. - Next: /prm to watch CI and close out. diff --git a/active/plot_functions_discard_kwargs.md b/active/plot_functions_discard_kwargs.md deleted file mode 100644 index 3f8a5e43..00000000 --- a/active/plot_functions_discard_kwargs.md +++ /dev/null @@ -1,100 +0,0 @@ -# `autofit.plot` functions accept `**kwargs` and silently discard them - -Type: bug -Target: autofit -Repos: -- PyAutoFit -- autofit_workspace -Difficulty: small -Autonomy: supervised -Priority: normal -Status: formalised -Filed: 2026-08-07 (backfilled from git) -Issued: 2026-08-24 - -Filed 2026-08-07, found while fixing `docs/api/plot.rst` -(complete/2026/08/pyautofit_plot_rst_dead_plotters.md). Deliberately left out of -that PR: it is a library/workspace defect, not a docs one, and the docs change -was docs-only by design. - -## The defect - -All five public `autofit.plot` functions take `**kwargs` in their signature and -**never reference it in the body**. Verified mechanically — `kwargs` appears in -`autofit/non_linear/plot/{samples_plotters,nest_plotters,mle_plotters}.py` only -on the `def` lines: - -- `corner_cornerpy(samples, path=None, filename="corner", format="show", **kwargs)` -- `corner_anesthetic(samples, path=None, filename="corner_anesthetic", format="show", **kwargs)` -- `subplot_parameters(...)`, `log_likelihood_vs_iteration(...)`, - `figure_of_merit_vs_iteration(...)` — same shape - -`corner_cornerpy` calls the underlying library with a **fixed** argument set: - -```python -corner.corner( - data=data, - weight_list=samples.weight_list, - labels=samples.model.parameter_labels_with_superscripts_latex, - range=_corner_range_from(data), -) -``` - -So a caller's customization is accepted without error and has no effect. The -failure mode is the bad one: **silent**. No `TypeError`, no warning, just a plot -that ignores what you asked for. - -## Why it matters — the workspace teaches the broken idiom - -`autofit_workspace/scripts/plot/*.py` passes long kwarg lists as though they -were forwarded, and says so in prose: *"In all the examples below, we use the -`kwargs` of this function to pass in any of the input parameters that are -described in the API docs."* That claim is false today. - -Silently-discarded kwargs at those call sites (counted 2026-08-07): - -| script | discarded kwargs | -|---|---| -| `scripts/plot/emcee_plotter.py` | 30 | -| `scripts/plot/dynesty_plotter.py` | 19 | -| `scripts/plot/zeus_plotter.py` | 16 | -| `scripts/plot/nautilus_plotter.py` | 11 | -| **total** | **76** | - -A user following the plot tutorials sets `bins`, `smooth`, `show_titles`, -`truths`, … and sees none of them applied. The tutorials are the documentation -for this API, so this is the primary way the behaviour is encountered. - -## The decision to make (why supervised, not auto) - -Two coherent fixes; picking one is a judgement about the intended surface: - -1. **Forward them** — pass `**kwargs` through to `corner.corner` / - `anesthetic` / matplotlib. Matches what the workspace already claims and - makes the existing tutorials correct as written. Watch the collisions: - `corner_cornerpy` already sets `data`, `weight_list`, `labels` and `range` - explicitly, and `range` in particular is computed by `_corner_range_from` - to dodge corner's "no dynamic range" crash on degenerate columns — a - user-supplied `range` must not silently reintroduce that. Decide precedence - (caller wins / library wins) and state it. -2. **Drop `**kwargs`** from the signatures and correct the workspace scripts + - prose. Honest, and callers get a loud `TypeError` instead of silence — but - it removes customization the tutorials imply exists, so it is the bigger - user-facing change. - -Either way the workspace scripts and their prose need updating in the same -wave, so this is a paired PyAutoFit + autofit_workspace task. - -## Verify - -- A call passing a non-default kwarg (e.g. `bins=5`) visibly changes the - output figure (fix 1), or raises `TypeError` (fix 2). -- The four `scripts/plot/*.py` tutorials and their surrounding prose agree with - whichever behaviour was chosen — no script still passes an argument that does - nothing. -- Degenerate-column input (every sample equal, e.g. a `PYAUTO_TEST_MODE=1` run) - still does not crash `corner`, i.e. the `_corner_range_from` guard survives. - - diff --git a/complete/2026/08/autofit-plot-functions-kwargs.md b/complete/2026/08/autofit-plot-functions-kwargs.md new file mode 100644 index 00000000..2e8f3f3a --- /dev/null +++ b/complete/2026/08/autofit-plot-functions-kwargs.md @@ -0,0 +1,220 @@ +# `autofit.plot` functions accept `**kwargs` and silently discard them + +Type: bug +Target: autofit +Repos: +- PyAutoFit +- autofit_workspace +Difficulty: small +Autonomy: supervised +Priority: normal +Status: shipped + +## Shipped 2026-08-24 — PyAutoFit#1524 + autofit_workspace#148 MERGED + +Issue **PyAutoFit#1523**. Branch `claude/autofit-plot-functions-kwargs-vvwj5x` in +both repos, merged library-first: PyAutoFit `56f1b87`, autofit_workspace `5056fa3`. +Both proven merged (`merge-base --is-ancestor` YES, 0 unmerged commits) before +this record was written. + +CI green on every run and every leg, first attempt, no re-runs: PyAutoFit +`Tests` (`unittest (3.12)`, `unittest (3.13)`, `unittest-nojax`) + `Docs`; +autofit_workspace `Smoke Tests` (`changes`, `smoke (3.12)`, `smoke (3.13)`) + +`Navigator Check`. Each head sha produced only `pull_request` runs — these +workflows have no `push` trigger on a feature branch, so four runs is the +complete set. + +**A release is owed**: library code plus a user-visible behaviour change. Both +PRs carry `pending-release`. + +## The decision, and why the prompt's framing was incomplete + +The prompt offered two fixes — forward the kwargs, or drop `**kwargs` — and +reserved the choice for a human. The human chose a **third**: forward *with a +strict signature filter*. That option only became visible after measuring what +plain forwarding would actually do, and the measurement is the finding worth +keeping: + +**`corner.corner` has its own silent sink.** What it does not name goes to +`corner_impl(**hist2d_kwargs)` → `hist2d(**kwargs)`, whose body reads only +`extent` and drops the rest. So the prompt's fix 1 would *not* have fixed the +tutorials — 18 of their 76 kwargs would have stayed silently ignored, one layer +deeper. Any "just forward `**kwargs`" fix against a library with a `**kwargs` +sink has this shape; validating against *named* parameters only is what closes +it. `accepted_kwarg_names` therefore refuses to treat a `VAR_KEYWORD` parameter +as "accepts anything" — that refusal is the whole mechanism. + +## Second defect found while verifying: weights were never applied + +`corner_cornerpy` called `corner.corner(data=..., weight_list=samples.weight_list, ...)`. +corner has no `weight_list` parameter — it is `weights`. The weights went into +the same `hist2d` sink, so **every weighted corner posterior had been rendering +unweighted**, silently, for as long as that call has existed. Nested-sampling +and importance-weighted figures change appearance as of this PR. + +Found by reading corner's real signature rather than trusting the call site. +The lesson generalises: a wrapper that passes a kwarg the wrapped library does +not name is indistinguishable from one that does, until you check. + +## Traps hit + +- **`figsize` is not a named parameter of `make_2d_axes`.** anesthetic takes + `figsize` / `facecolor` through its own `**fig_kw`. The first routing split + therefore sent a caller's `figsize` to `plot_2d` and the library's computed + value won. A test caught it; the axes-routed set now names `figsize` / + `facecolor` / `dpi` explicitly. Signature introspection is not enough when the + target itself forwards through a sink — check where the values you compute + actually land. +- **`@log_plot_exception` catches `TypeError`.** A rejected kwarg on + `corner_anesthetic` would have surfaced as the misleading "posterior estimate + not yet sufficient" info log. The decorator now re-raises `PlotKwargsError`. +- **`range=None` from a caller must not blank the guard.** `emcee_plotter.py` + passes exactly that, and honouring it literally would hand `corner` back the + degenerate columns `_corner_range_from` exists to widen. A caller `None` + against a library-computed value means "use the default". +- **Monkeypatching the target breaks signature validation.** The test stub for + `corner.corner` needed `functools.wraps` so `inspect.signature` still saw the + real parameter list through `__wrapped__`. +- **Three of four workspace scripts had the wrong library's kwargs.** + `dynesty_plotter.py` carried dynesty's `cornerplot` arguments, `zeus_plotter.py` + zeus's, `nautilus_plotter.py` figure-geometry names corner never had — all + passed to a function wrapping `corner.py`. Copy-paste from the sampler's own + plotting docs is the likely origin, and the prose in each script pointed the + reader back at those same docs, compounding it. + +## Not done / follow-ups + +- **`figure_of_merit_vs_iteration` is not re-exported from `autofit.plot`** — it + lives only on `autofit.non_linear.plot`, unlike the other four. Pre-existing, + noticed here, deliberately left alone as out of scope. Worth a prompt. +- **The four plot scripts are in neither `smoke_tests.txt` nor + `smoke_notebooks.txt`**, so workspace CI never executes them. Verification came + from rendering each script's exact kwarg list through the real + `corner_cornerpy` locally. The gap is real and outlives this task. + +## Verification limits + +`pyauto-heart` was unavailable (web-github session, no PyAutoHeart checkout), so +the ship gate used the documented per-repo pytest fallback: **2089 passed, 36 +skipped** on Python 3.12. Beyond the suite, figures were rendered against the +pinned `corner==2.2.2` and compared by RGBA buffer hash — `bins=5`, +`show_titles=True` and weighting each change the output; all-constant columns +still render. corner's signature was re-checked against 2.2.2 (the pin) as well +as 2.3.0; identical for every name involved. + +One process note: two full pytest runs launched concurrently collided on the +shared `test_autofit/output/` directory and produced 5 and 7 phantom failures in +unrelated subtrees. A single serial run is green. Do not run this suite twice in +parallel in the same checkout. + +## Sizing calibration + +`pyauto-brain bug` and the sizing faculty both scored this **too-large (13)** and +advised phasing. Overridden deliberately at start_dev, and the override was +right: 613 insertions / 16 deletions across 11 library files plus 4 workspace +scripts and their notebooks, shipped as one coherent PR pair. The score inflates +on prompt word-count and the multi-repo flag; the prompt's own +`Difficulty: small` header was the better estimate. + +## Original prompt + +# `autofit.plot` functions accept `**kwargs` and silently discard them + +Type: bug +Target: autofit +Repos: +- PyAutoFit +- autofit_workspace +Difficulty: small +Autonomy: supervised +Priority: normal +Status: formalised +Filed: 2026-08-07 (backfilled from git) +Issued: 2026-08-24 + +Filed 2026-08-07, found while fixing `docs/api/plot.rst` +(complete/2026/08/pyautofit_plot_rst_dead_plotters.md). Deliberately left out of +that PR: it is a library/workspace defect, not a docs one, and the docs change +was docs-only by design. + +## The defect + +All five public `autofit.plot` functions take `**kwargs` in their signature and +**never reference it in the body**. Verified mechanically — `kwargs` appears in +`autofit/non_linear/plot/{samples_plotters,nest_plotters,mle_plotters}.py` only +on the `def` lines: + +- `corner_cornerpy(samples, path=None, filename="corner", format="show", **kwargs)` +- `corner_anesthetic(samples, path=None, filename="corner_anesthetic", format="show", **kwargs)` +- `subplot_parameters(...)`, `log_likelihood_vs_iteration(...)`, + `figure_of_merit_vs_iteration(...)` — same shape + +`corner_cornerpy` calls the underlying library with a **fixed** argument set: + +```python +corner.corner( + data=data, + weight_list=samples.weight_list, + labels=samples.model.parameter_labels_with_superscripts_latex, + range=_corner_range_from(data), +) +``` + +So a caller's customization is accepted without error and has no effect. The +failure mode is the bad one: **silent**. No `TypeError`, no warning, just a plot +that ignores what you asked for. + +## Why it matters — the workspace teaches the broken idiom + +`autofit_workspace/scripts/plot/*.py` passes long kwarg lists as though they +were forwarded, and says so in prose: *"In all the examples below, we use the +`kwargs` of this function to pass in any of the input parameters that are +described in the API docs."* That claim is false today. + +Silently-discarded kwargs at those call sites (counted 2026-08-07): + +| script | discarded kwargs | +|---|---| +| `scripts/plot/emcee_plotter.py` | 30 | +| `scripts/plot/dynesty_plotter.py` | 19 | +| `scripts/plot/zeus_plotter.py` | 16 | +| `scripts/plot/nautilus_plotter.py` | 11 | +| **total** | **76** | + +A user following the plot tutorials sets `bins`, `smooth`, `show_titles`, +`truths`, … and sees none of them applied. The tutorials are the documentation +for this API, so this is the primary way the behaviour is encountered. + +## The decision to make (why supervised, not auto) + +Two coherent fixes; picking one is a judgement about the intended surface: + +1. **Forward them** — pass `**kwargs` through to `corner.corner` / + `anesthetic` / matplotlib. Matches what the workspace already claims and + makes the existing tutorials correct as written. Watch the collisions: + `corner_cornerpy` already sets `data`, `weight_list`, `labels` and `range` + explicitly, and `range` in particular is computed by `_corner_range_from` + to dodge corner's "no dynamic range" crash on degenerate columns — a + user-supplied `range` must not silently reintroduce that. Decide precedence + (caller wins / library wins) and state it. +2. **Drop `**kwargs`** from the signatures and correct the workspace scripts + + prose. Honest, and callers get a loud `TypeError` instead of silence — but + it removes customization the tutorials imply exists, so it is the bigger + user-facing change. + +Either way the workspace scripts and their prose need updating in the same +wave, so this is a paired PyAutoFit + autofit_workspace task. + +## Verify + +- A call passing a non-default kwarg (e.g. `bins=5`) visibly changes the + output figure (fix 1), or raises `TypeError` (fix 2). +- The four `scripts/plot/*.py` tutorials and their surrounding prose agree with + whichever behaviour was chosen — no script still passes an argument that does + nothing. +- Degenerate-column input (every sample equal, e.g. a `PYAUTO_TEST_MODE=1` run) + still does not crash `corner`, i.e. the `_corner_range_from` guard survives. + + diff --git a/complete/index.md b/complete/index.md index a719182b..e18c159a 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. -1119 records across 7 buckets. +1120 records across 7 buckets. ## Highlights @@ -27,6 +27,7 @@ _(curate hard-won records here — survives regeneration.)_ - [autoarray-pixel-scales-scalar-widening](2026/08/autoarray-pixel-scales-scalar-widening.md) - [autocti-util-dataset-export](2026/08/autocti-util-dataset-export.md) — no GitHub issue — worked directly from the draft prompt in a cloud session on explicit human instruction; the … - [autofit-mock-all-ones-ell-comps](2026/08/autofit-mock-all-ones-ell-comps.md) +- [autofit-plot-functions-kwargs](2026/08/autofit-plot-functions-kwargs.md) - [autofit-sampler-database](2026/08/autofit-sampler-database.md) - [autogalaxy-assistant](2026/08/autogalaxy-assistant.md) — epic; human to close - [autogalaxy-profile-validation-guards](2026/08/autogalaxy-profile-validation-guards.md) diff --git a/dashboard.html b/dashboard.html index d84e3c05..75f9a20a 100644 --- a/dashboard.html +++ b/dashboard.html @@ -142,7 +142,7 @@

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.

-
  • 2In flight
  • 3Parked
  • 5Planned
  • 138Backlog
+
  • 1In flight
  • 3Parked
  • 5Planned
  • 138Backlog

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.

@PyAutoFit TransformedMessage.factor_gradient crashes on first callissue #1501 — issued 2026-08-19HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract

-

Parked markdown version

3 task(s) @@ -362,12 +361,6 @@

Backlog 2026-08-24 -issued -autofit.plot functions accept **kwargs and silently discard them - - - -2026-08-24 filed Un-park multi_galaxy/features/scaling_relation/slam once a capped run… @@ -414,7 +407,7 @@

Backlog The reconstruction noise map describes a different estimator than the… - + 2026-08-22 filed Point-source JSON datasets record no resolution regime @@ -654,6 +647,12 @@

Backlog HowToLens ch4 tutorial 3: mask overlay is never actually drawn + +2026-08-03 +filed +Un-park imaging/features/scaling_relation/slam once PyAutoArray#431… + +

Epics markdown version

diff --git a/dashboard.md b/dashboard.md index 2183f15d..07de8b13 100644 --- a/dashboard.md +++ b/dashboard.md @@ -42,7 +42,7 @@ anything you could not verify. | Where | Count | |-------|------:| -| [In flight](#in-flight) (`active/`) | 2 | +| [In flight](#in-flight) (`active/`) | 1 | | [Parked](#parked) (`parked.md`) | 3 | | [Planned](#planned) (`planned.md`) | 5 | | [Backlog](#backlog) (`draft/`) | 138 | @@ -185,14 +185,6 @@ Issued — each has an open GitHub issue and usually a branch. The full record f
-
📋 autofit.plot functions accept **kwargs and silently discard themissue #1523 — issued 2026-08-24 — library-dev - -``` -/start_dev active/plot_functions_discard_kwargs.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). @@ -1235,7 +1227,6 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | Date | Event | Task | |------|-------|------| | 2026-08-24 | filed | interferometer/jax_grad/gradient.py: eager and jitted likelihoods… | -| 2026-08-24 | issued | autofit.plot functions accept **kwargs and silently discard them | | 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-23 | filed | pynufft removal: unswept downstream residue (1 hard break + stale… | @@ -1244,12 +1235,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 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 | | 2026-08-22 | filed | The reconstruction noise map describes a different estimator than the… | +| 2026-08-22 | filed | Point-source JSON datasets record no resolution regime |
… 10 more (40 left) | Date | Event | Task | |------|-------|------| -| 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… | @@ -1259,12 +1250,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 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… |
… 10 more (30 left) | Date | Event | Task | |------|-------|------| -| 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 | | 2026-08-19 | issued | @PyAutoFit TransformedMessage.factor_gradient crashes on first… | | 2026-08-19 | filed | Release board: local run_logs enrichment | @@ -1274,12 +1265,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 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 |
… 10 more (20 left) | Date | Event | Task | |------|-------|------| -| 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 | @@ -1289,12 +1280,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 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 | Regenerate setup_notebook-drifted notebooks in… | +| 2026-08-06 | filed | Triage: Convolver "No blurring_image provided" warning in canonical… |
… 10 more (10 left) | Date | Event | Task | |------|-------|------| -| 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… | @@ -1304,6 +1295,7 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 2026-08-04 | filed | aplt.Output stale-API drift in the remaining workspace repos | | 2026-08-04 | filed | Nightly release has been blocked 8 nights running — triage the streak | | 2026-08-04 | filed | HowToLens ch4 tutorial 3: mask overlay is never actually drawn | +| 2026-08-03 | filed | Un-park imaging/features/scaling_relation/slam once PyAutoArray#431… |
From 4eaaa041af9e1f867887a00327677485dae3191e Mon Sep 17 00:00:00 2001 From: James Nightingale Date: Mon, 24 Aug 2026 21:49:52 +0000 Subject: [PATCH 6/6] mind: re-render dashboard with the current Brain renderer The Dashboard Refresh check failed on the merge commit even though the pages had just been regenerated. Cause: this session's PyAutoBrain checkout was 37 commits behind origin/main, so every render used a stale renderer AND a stale config/policy.yaml. The dashboard census classifies prompts through repo_aliases, which PyAutoBrain#268/#271 changed, and the renderer itself gained the freshness banner and refresh block in #265 -- so CI, which runs the renderer from PyAutoBrain main, correctly saw the committed pages as stale. Fast-forwarded the Brain checkout to origin/main and re-ran `intake dashboard --apply`. `dashboard --check` now reports the pages current against the same renderer CI uses. lifecycle check OK, index --check OK, repos_sync --check 0 mismatches. Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_01MPhEXMoPYa7H1sNHWR2GNW --- dashboard.html | 842 ++++++++++++++++++++++++++++++++++++++----------- dashboard.md | 215 ++++++++++--- 2 files changed, 825 insertions(+), 232 deletions(-) diff --git a/dashboard.html b/dashboard.html index b93f2690..4e811879 100644 --- a/dashboard.html +++ b/dashboard.html @@ -6,270 +6,740 @@ PyAutoMind Dashboard -

📋 PyAutoMind Dashboard

-

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.

-

In flight 1 · Parked 3 · Planned 5 · Backlog 140 · markdown version

+

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
  • 5Planned
  • 140Backlog
+

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 15

-

TRIAGE: needs manual review before routingmedium · safe · high

-

Numba CPU likelihood phase 1: batched MGE convolution + operated-matrixautoarray · medium · supervised · high

-

Rectangular mesh split: Bilinear (fast CPU default) vs RTU (advanced/GPU)autoarray · medium · supervised · high

-

autocti_workspace has no Navigator Check, so its CI can neverci · medium · supervised · high

-

Numba CPU likelihood phase 2: kernel-CDF numba fast path (theautoarray · large · supervised · high

-

multi_galaxy package: new regime package in autolens_workspaceautolens · large · supervised · high

-

Deep research: Can we speed up Delaunay in PyAutoArray?autoarray · too-large · supervised · high

-

einstein_radius_jit_from: replace static init_guess with a JAX-native seed finderautogalaxy · too-large · supervised · high

-

Split lensing regimes: multi_galaxy / group / cluster (epic plan)autolens · too-large · supervised · high

-

Re-baseline the MGE imaging JIT profiling regression valueautolens_workspace_developer · too-large · supervised · high

-

Fix release JAX runtime compatibility and likelihood parityhealth_fixes · too-large · supervised · high

-

Fix JIT quick-update visualization output regressionshealth_fixes · too-large · supervised · high

+

TRIAGE: needs manual review before routing❓ triagemediumsafehigh

+ + + + + +

Deep research: Can we speed up Delaunay in PyAutoArray?🔬 researchautoarraytoo-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

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

-

Defer the eager scipy.sparse import in derivative_util (~0.10 s oflibraries · small · safe · normal

- -

The weekly smoke run's timings land in results-* under nopyautoheart · small · safe · low

+ + +

In flight markdown version

Issued — each has an open GitHub issue and usually a branch.

-

@PyAutoFit TransformedMessage.factor_gradient crashes on first callissue #1501HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract

+

@PyAutoFit TransformedMessage.factor_gradient crashes on first callissue #1501 — issued 2026-08-19HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract

Parked markdown version

3 task(s) -

single-source-density-designissue #1500

-

prior-message-collapse-designissue #1500

-

pyautoreduce-slacs1430-acs-comparison

+

single-source-density-designissue #1500 — parked 2026-08-18

+

prior-message-collapse-designissue #1500 — parked 2026-08-18

+

pyautoreduce-slacs1430-acs-comparison — parked 2026-08-08

Planned markdown version

5 task(s) -

isothermal-ell-sph-oversampling-at-the-cuspplanned — NOT yet a prompt file; file one via /intake before starting

-

remote-mcp-deployment-tiersissue #20DESIGN-COMPLETE, build BLOCKED-ON-DEMAND — issue #20 holds the full auth/transport/hosting design + Richard/PyAutoMCP…

-

samples-parameter-pathsissue #1327parked

-

piemass-potentialplanned

-

latent-nan-guard-honest-run

+

isothermal-ell-sph-oversampling-at-the-cusp — found 2026-08-09planned — NOT yet a prompt file; file one via /intake before starting

+

remote-mcp-deployment-tiersissue #20 — filed 2026-07-21DESIGN-COMPLETE, build BLOCKED-ON-DEMAND — issue #20 holds the full auth/transport/hosting design + Richard/PyAutoMCP…

+

samples-parameter-pathsissue #1327 — filed 2026-07-08parked

+

piemass-potential — filed 2026-06-05planned

+

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

Backlog markdown version

140 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 -

Numba CPU likelihood phase 1: batched MGE convolution + operated-matrixautoarray · medium · supervised · high

-

Rectangular mesh split: Bilinear (fast CPU default) vs RTU (advanced/GPU)autoarray · medium · supervised · high

-

Numba CPU likelihood phase 2: kernel-CDF numba fast path (theautoarray · large · supervised · high

-

Which other searches need prior-support handling — coverage audit afterautofit · medium · supervised · medium

-

Give PyAutoFit searches a seed — today no search canautofit · medium · supervised · medium

-

Brain board follow-ups: what real mornings surfacepyautobrain · small · supervised · normal

-

Can create a list of InversionMatrix objects for each datasetautoarray · medium · supervised · normal

-

Tune cluster-scale JOSS benchmarks toward their 5-minute targetsautolens_workspace · medium · supervised · normal

-

Token-light wiki index over the complete/ archivepyautomind · medium · supervised · normal

- - -

Claude Development Prompt: Arcsecond Tick Label Decimal Placementautoarray · large · supervised · normal

-

EP analytic updates — implement the four planned work packagesautofit · large · supervised · normal

-

Remote-MCP deployment tiers (2 + 3) for the results-inspector serverautofit_assistant · large · human-required · normal

-

Search settings-estimation + profiling infrastructure (n_starts / batch_size / n_batch)autolens_profiling · large · supervised · normal

-

Adopt oversampled PSFs in the start-here dataset chain (option a)autolens_workspace · large · supervised · normal

-

Follow-up to rectangular_adapt_cdf.md (issue #322) and Path Aautoarray · too-large · supervised · normal

-

PIEMass.potential_2d_from: implement the missing lensing potentialautogalaxy · too-large · supervised · normal

-

autolens_jax_joss benchmark repo + real-data start_here pairingautolens_jax_joss · too-large · supervised · normal

-

Context: PyAutoLens issue #542 follow-up (Gap 1, deferred during thejax_substructure · too-large · supervised · normal

-

Context: PyAutoLens issue #542 follow-up (Gap 2, deferred during thejax_substructure · too-large · supervised · normal

-

Once https://github.com/PyAutoLabs/PyAutoLens/issues/480 is fixed (PointSolverworkspaces · too-large · supervised · normal

-

dPIE: optional central-dispersion (sigma_0) parameterizationautogalaxy · small · supervised · low

-

Release board: local run_logs enrichmentpyautohands · small · supervised · low

- -

Scheduled runs — overnight queue passes with a morning reportautonomy · medium · supervised · low

-

Teach repos_sync --write to stamp organ config surfacespyautomind · hard · supervised · low

+ + + + +

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

+

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

+

Can create a list of InversionMatrix objects for each dataset✨ featureautoarraymediumsupervisednormal

+

Tune cluster-scale JOSS benchmarks toward their 5-minute targets✨ featureautolens_workspacemediumsupervisednormal

+

Token-light wiki index over the complete/ archive✨ featurepyautomindmediumsupervisednormal

+ + +

Claude Development Prompt: Arcsecond Tick Label Decimal Placement✨ featureautoarraylargesupervisednormal

+

EP analytic updates — implement the four planned work packages✨ featureautofitlargesupervisednormal

+

Remote-MCP deployment tiers (2 + 3) for the results-inspector server✨ featureautofit_assistantlargehuman-requirednormal

+ +

Adopt oversampled PSFs in the start-here dataset chain (option a)✨ featureautolens_workspacelargesupervisednormal

+

Follow-up to rectangular_adapt_cdf.md (issue #322) and Path A✨ featureautoarraytoo-largesupervisednormal

+

PIEMass.potential_2d_from: implement the missing lensing potential✨ featureautogalaxytoo-largesupervisednormal

+

autolens_jax_joss benchmark repo + real-data start_here pairing✨ featureautolens_jax_josstoo-largesupervisednormal

+

Context: PyAutoLens issue #542 follow-up (Gap 1, deferred during the✨ featurejax_substructuretoo-largesupervisednormal

+

Context: PyAutoLens issue #542 follow-up (Gap 2, deferred during the✨ featurejax_substructuretoo-largesupervisednormal

+ +

dPIE: optional central-dispersion (sigma_0) parameterization✨ featureautogalaxysmallsupervisedlow

+

Release board: local run_logs enrichment✨ featurepyautohandssmallsupervisedlow

+ +

Scheduled runs — overnight queue passes with a morning report✨ featureautonomymediumsupervisedlow

+

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

bug — 24 -

Fix release JAX runtime compatibility and likelihood parityhealth_fixes · too-large · supervised · high

-

Fix JIT quick-update visualization output regressionshealth_fixes · too-large · supervised · high

-

Fix release result/sample parameter-path regressionshealth_fixes · too-large · supervised · high

- -

LogGaussianPrior misreports its own support as (-inf, inf)autofit · small · supervised · normal

- -

generate.py deletes notebooks/ before rejecting an unknown projectpyautohands · small · supervised · normal

-

autoreduce 0.9 on PyPI never got the Python 3.12 floorpyautoreduce · small · supervised · normal

-

aplt.Output stale-API drift in the remaining workspace reposworkspaces · small · supervised · normal

- -

Three jax_likelihood pins are stale by ~1.24e-4 and fail theworkspaces · small · supervised · normal

- -

JIT cache not hit in modeling_visualization delaunay/rectangular scriptsautolens · medium · supervised · normal

-

interferometer/jax_grad/gradient.py: eager and jitted likelihoods diverge ~5e-7 on Python 3.13autolens_workspace_test · medium · supervised · normal

-

@PyAutoFit TransformedMessage.logpdf/pdf omit the transform Jacobianpriors · medium · supervised · normal

-

Organ repo spellings split across two normalised keyspyautobrain · large · supervised · normal

-

Resolve release-profile timeout scripts deliberatelyhealth_fixes · too-large · supervised · normal

- -

Priors & Messages cleanup — trackerpriors · too-large · supervised · normal

- -

status.sh --repos sources a file that no longer existspyautomind · small · supervised · low

-

The reconstruction noise map describes a different estimator than theautoarray · medium · human-required · low

-

Point-source JSON datasets record no resolution regimepyautolens · medium · supervised · low

- +

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

+ +

LogGaussianPrior misreports its own support as (-inf, inf)🐛 bugautofitsmallsupervisednormal

+ +

generate.py deletes notebooks/ before rejecting an unknown project🐛 bugpyautohandssmallsupervisednormal

+

autoreduce 0.9 on PyPI never got the Python 3.12 floor🐛 bugpyautoreducesmallsupervisednormal

+

aplt.Output stale-API drift in the remaining workspace repos🐛 bugworkspacessmallsupervisednormal

+ + + + + + +

Organ repo spellings split across two normalised keys🐛 bugpyautobrainlargesupervisednormal

+

Resolve release-profile timeout scripts deliberately🐛 bughealth_fixestoo-largesupervisednormal

+ +

Priors & Messages cleanup — tracker🐛 bugpriorstoo-largesupervisednormal

+ +

status.sh --repos sources a file that no longer exists🐛 bugpyautomindsmallsupervisedlow

+ +

Point-source JSON datasets record no resolution regime🐛 bugpyautolensmediumsupervisedlow

+
maintenance — 23 -

autocti_workspace has no Navigator Check, so its CI can neverci · medium · supervised · high

-

Untrack the generated FITS test artifacts in autoarraylibraries · small · supervised · medium

-

smoke_install.sh's stale jax<0.7 pin — CI is on the rightci · low · supervised · medium

-

autolens_workspace_developer rectangular experiments — Gut stash + renameautolens_workspace_developer · small · supervised · normal

-

Defer the eager scipy.sparse import in derivative_util (~0.10 s oflibraries · small · safe · normal

-

Mirror drifted library config keys into the workspace configsworkspaces · small · supervised · normal

-

Un-park imaging/features/scaling_relation/slam once PyAutoArray#431 mergesworkspaces · small · supervised · normal

-

Un-park multi_galaxy/features/scaling_relation/slam once a capped run passesworkspaces · small · supervised · normal

-

autolens_workspace_developer: broad stale-API rot (56 symbols, no CI)autolens_workspace_developer · medium · supervised · normal

-

Heart's local smoke runner cannot run any CTI workspace —ci · medium · supervised · normal

- -

Dependency-cap refresh 2026-08: safe bumps, astropy 8 decision, two deadlibraries · medium · supervised · normal

-

PyAutoMemory canonical-key TODO sweeppyautomemory · medium · supervised · normal

-

Capped smoke datasets were committed as if they were realworkspaces · medium · supervised · normal

-

autolens_profiling is now a mature project, with a good separationautolens_profiling · large · supervised · normal

-

Auto-request GitHub Copilot code review on every PR, org-wideci · large · supervised · normal

-

autolens_workspaceworkspaces · too-large · supervised · normal

-

pynufft removal: unswept downstream residue (1 hard break + staleworkspaces · low-medium · supervised · normal

-

Phase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTIworkspaces · low · supervised · normal

-

dataset/imaging/jwst_lw is untracked because the gitignore was never extended forautolens_profiling · small · supervised · low

-

cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB ofautolens_workspace · small · supervised · low

-

The weekly smoke run's timings land in results-* under nopyautoheart · small · safe · low

- + +

Untrack the generated FITS test artifacts in autoarray🧹 maintenancelibrariessmallsupervisedmedium

+ +

autolens_workspace_developer rectangular experiments — Gut stash + rename🧹 maintenanceautolens_workspace_developersmallsupervisednormal

+ +

Mirror drifted library config keys into the workspace configs🧹 maintenanceworkspacessmallsupervisednormal

+

Un-park imaging/features/scaling_relation/slam once PyAutoArray#431 merges🧹 maintenanceworkspacessmallsupervisednormal

+

Un-park multi_galaxy/features/scaling_relation/slam once a capped run passes🧹 maintenanceworkspacessmallsupervisednormal

+

autolens_workspace_developer: broad stale-API rot (56 symbols, no CI)🧹 maintenanceautolens_workspace_developermediumsupervisednormal

+ + + +

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

+

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

+ +
research — 14 -

Deep research: Can we speed up Delaunay in PyAutoArray?autoarray · too-large · supervised · high

-

Delaunay-family JAX modules never hit the persistent compilation cacheautoarray · medium · supervised · medium

-

Quick-update plotting cost — minutes per update, and it isautolens · medium · supervised · medium

-

Use readthedocs or migrate to GitHub docsautobuild · small · supervised · normal

-

Re-baseline the slacs0008 acceptance parity after the HAP-dedupe fixpyautoreduce · small · supervised · normal

- -

We have lots of examples which profile how long JAXautolens_workspace_developer · medium · supervised · normal

-

Is Intel macOS a supported platform, and what is thelibraries · medium · supervised · normal

-

Checkerboard PSF-mismatch residual diagnostic — research + document + ingestpyautomemory · medium · supervised · normal

-

autofit_profiling: bootstrap the repo + general PyAutoFit profiling epicautofit · large · supervised · normal

-

Multi-band compile census completion — A100/multi-core + hetero GPU rowsautolens_profiling · small · supervised · low

-

Chase the ~6% flux scale between PyAutoReduce and legacy SLACSpyautoreduce · medium · supervised · low

- - +

Deep research: Can we speed up Delaunay in PyAutoArray?🔬 researchautoarraytoo-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

+ + + +

Multi-band compile census completion — A100/multi-core + hetero GPU rows🔬 researchautolens_profilingsmallsupervisedlow

+ + +
docs — 12 -

multi_galaxy package: new regime package in autolens_workspaceautolens · large · supervised · high

-

Split lensing regimes: multi_galaxy / group / cluster (epic plan)autolens · too-large · supervised · high

-

Advanced workspace guide: Preloads (PyAutoArray)workspaces · too-large · supervised · high

-

Regenerate autolens_workspace markdown/ so the MGE pages show sigma_minautolens_workspace · small · supervised · normal

-

RTD organism docs currency: Nerves page, organ-count drift, hands.md renamepyautobrain · small · supervised · normal

-

Propagate the shear_galaxy-at-(0,0) idiom to group/ and cluster/workspaces · small · supervised · normal

-

Rectangular mesh Enzi citation — user-workspace pixelization examplesworkspaces · small · supervised · normal

-

Rewrite PyAutoCTI docs/api — 55 of 89 autosummary entries areautocti · medium · supervised · normal

-

HowToLens ch4 tutorial 3: mask overlay is never actually drawnhowtolens · small · supervised · low

- - - + +

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

+

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

+

Regenerate autolens_workspace markdown/ so the MGE pages show sigma_min📖 docsautolens_workspacesmallsupervisednormal

+ +

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

+ + + + + +
refactor — 5 -

einstein_radius_jit_from: replace static init_guess with a JAX-native seed finderautogalaxy · too-large · supervised · high

- -

Split Fitness.batch_size into lh_batch_size and latent_batch_sizeautofit · small · supervised · normal

-

Remove the dead EDEN packaging tooling from PyAutoFitpyautofit · medium · supervised · normal

-

Deduplicate repos_sync.py's check/write pairspyautomind · medium · safe · low

+ + +

Split Fitness.batch_size into lh_batch_size and latent_batch_size♻️ refactorautofitsmallsupervisednormal

+

Remove the dead EDEN packaging tooling from PyAutoFit♻️ refactorpyautofitmediumsupervisednormal

+

Deduplicate repos_sync.py's check/write pairs♻️ refactorpyautomindmediumsafelow

test — 5 -

Re-baseline the MGE imaging JIT profiling regression valueautolens_workspace_developer · too-large · supervised · high

-

Restore absolute NumPy likelihood regression baselines in the _workspace_testworkspaces · too-large · supervised · high

-

Relevance-gate the reusable smoke workflow so a PR only runspyautoheart · medium · supervised · normal

-

Speed up the three slowest autolens_workspace_test smoke-gate scriptsworkspaces · medium · supervised · normal

- +

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

+ +

Relevance-gate the reusable smoke workflow so a PR only runs…🧪 testpyautoheartmediumsupervisednormal

+ +
triage — 4 -

TRIAGE: needs manual review before routingmedium · safe · high

- - - +

TRIAGE: needs manual review before routing❓ triagemediumsafehigh

+ + +
release — 1 -

CTI release-train wiring — first modern autocti releaseautocti · medium · human-required · normal

+

CTI release-train wiring — first modern autocti release🚀 releaseautoctimediumhuman-requirednormal

+

Recent markdown version

+

The 50 newest things to happen to the work in hand, newest first — issued, parked, filed. Every other section on this page is laid out by state, which is exactly why none of them can answer “what has been happening?”. Shipped work is not here: it is read from complete/index.md, and a thousand records deep it would crowd out everything anyone can still act on. Showing the newest 10; … opens the next 10.

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
2026-08-24filedwiki-currency's --check-version gate rots on every library main merge
2026-08-24filedinterferometer/jax_grad/gradient.py: eager and jitted likelihoods…
2026-08-24filedautocti_workspace has no Navigator Check, so its CI can never roll…
2026-08-24filedUn-park multi_galaxy/features/scaling_relation/slam once a capped run…
2026-08-24filedThe weekly smoke run's timings land in results-* under no…
2026-08-24filedOrgan repo spellings split across two normalised keys
2026-08-24filedHeart's local smoke runner cannot run any CTI workspace — no autocti…
2026-08-23filedpynufft removal: unswept downstream residue (1 hard break + stale…
2026-08-23filedPhase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTI…
2026-08-23filedBrain board follow-ups: what real mornings surface
+

Epics markdown version

Long-running multi-phase programmes — 📋 copies a prompt that works out where the epic stands from its ledger and continues it from the next logical point. Members are worked in order through the epic's ledger — continue the epic rather than starting one standalone.

JAX profiling — inference programmeledger: autolens_profiling/results/notes/inference/PROGRAMME.md

Cluster strong lensing — Source & Cluster arc — 14 queued prompt(s), in order

Cluster strong lensing — Source & Cluster arcledger: draft/feature/autolens/source_cluster_arc.md

- -

PointSolver profiling cells: lensed quasar → cluster runtime tier →autolens_profiling · large · supervised · normal

- -

Mesh magnification correctness: simulate-and-recover across every mesh variantworkspaces · large · supervised · normal

-

Magnification at a point: surface the existing API in source_scienceautolens · large · supervised · high

- -

Magnification errors via posterior draws, standalone in source_scienceautolens · large · supervised · normal

- - - -

Cluster pixelized-source refinement: per-source masks via AnalysisFactorworkspaces · large · supervised · normal

- -

HowToLens cluster tutorial: show a pixelized source + fix thehowtolens · large · supervised · normal

-

Source & Cluster arc — magnification science, PointSolver trust, clusterautolens · too-large · supervised · high

+ +

PointSolver profiling cells: lensed quasar → cluster runtime tier →🔬 researchautolens_profilinglargesupervisednormal

+ + + + + + + + + + +

HowToLens cluster tutorial: show a pixelized source + fix the📖 docshowtolenslargesupervisednormal

+
Intermittent XLA compile stall in the JAX vmap likelihood path — 2 queued prompt(s), in order

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

-

Phase 3: root-cause the XLA vmap compile stall and clearci · large · supervised · high

-

Intermittent XLA compile stall in JAX vmap likelihood scripts —ci · too-large · supervised · high

+ +
Expectation propagation (EP) campaign — 9 queued prompt(s), in order

Expectation propagation (EP) campaignledger: draft/research/graphical_ep/ep_campaign.md

-

Analytic Gaussian benchmark: closed-form validation of graphical + EPgraphical_ep · medium · supervised · high

-

EP hierarchical parent-scale collapse: cure the basin, or document theautofit · too-large · human-required · high

-

Graphical Model Scale-Up — Scopinggraphical_ep · too-large · supervised · high

-

slope_hierarchy: scale the hierarchical slope recovery to N=25–50graphical_ep · medium · supervised · normal

- -

IC50 use case: EP end-to-end with existing derived-variable handlinggraphical_ep · large · supervised · normal

-

EP campaign — phase map for the 2026 Q3 graphical/EPgraphical_ep · too-large · supervised · high

-

Expectation Propagation Scale-Up — Scopinggraphical_ep · too-large · supervised · high

-

slope_hierarchy: methods write-up (NUTS headline, EP cautionary)graphical_ep · medium · supervised · normal

+

Analytic Gaussian benchmark: closed-form validation of graphical + EP🔬 researchgraphical_epmediumsupervisedhigh

+ +

Graphical Model Scale-Up — Scoping🔬 researchgraphical_eptoo-largesupervisedhigh

+

slope_hierarchy: scale the hierarchical slope recovery to N=25–50🔬 researchgraphical_epmediumsupervisednormal

+ +

IC50 use case: EP end-to-end with existing derived-variable handling🔬 researchgraphical_eplargesupervisednormal

+

EP campaign — phase map for the 2026 Q3 graphical/EP push🔬 researchgraphical_eptoo-largesupervisedhigh

+

Expectation Propagation Scale-Up — Scoping🔬 researchgraphical_eptoo-largesupervisedhigh

+

slope_hierarchy: methods write-up (NUTS headline, EP cautionary)🔬 researchgraphical_epmediumsupervisednormal

+ diff --git a/dashboard.md b/dashboard.md index 6d03b7e4..86668214 100644 --- a/dashboard.md +++ b/dashboard.md @@ -4,7 +4,41 @@ This is the markdown version of the [PyAutoMind Dashboard](https://pyautolabs.github.io/PyAutoMind/), which puts a task's command on your clipboard with a single tap of 📋. -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. +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 | |-------|------:| @@ -25,7 +59,7 @@ Every task the Mind is holding, on one page: what is in flight, what is parked,
-
📋 Numba CPU likelihood phase 1: batched MGE convolution + operated-matrix — autoarray · medium · supervised · high +
📋 Numba CPU likelihood phase 1: batched MGE convolution + operated-matrix caching — autoarray · medium · supervised · high ``` /start_dev draft/feature/autoarray/numba_cpu_likelihood_mge_convolution_and_caching.md @@ -41,7 +75,7 @@ Every task the Mind is holding, on one page: what is in flight, what is parked,
-
📋 autocti_workspace has no Navigator Check, so its CI can never — ci · medium · supervised · high +
📋 autocti_workspace has no Navigator Check, so its CI can never roll… — ci · medium · supervised · high ``` /start_dev draft/maintenance/ci/autocti_workspace_navigator_check.md @@ -49,7 +83,7 @@ Every task the Mind is holding, on one page: what is in flight, what is parked,
-
📋 Numba CPU likelihood phase 2: kernel-CDF numba fast path (the — autoarray · large · supervised · high +
📋 Numba CPU likelihood phase 2: kernel-CDF numba fast path (the 49-88% lever) — autoarray · large · supervised · high ``` /start_dev draft/feature/autoarray/numba_cpu_likelihood_kernel_cdf_fast_path.md @@ -115,7 +149,7 @@ Every task the Mind is holding, on one page: what is in flight, what is parked, **Quick wins** (small enough, and safe enough to run unattended) -
📋 Defer the eager scipy.sparse import in derivative_util (~0.10 s of — libraries · small · safe · normal +
📋 Defer the eager scipy.sparse import in derivative_util (~0.10 s of import) — libraries · small · safe · normal ``` /start_dev draft/maintenance/libraries/defer_scipy_sparse_import.md @@ -131,7 +165,7 @@ Every task the Mind is holding, on one page: what is in flight, what is parked,
-
📋 The weekly smoke run's timings land in results-* under no — pyautoheart · small · safe · low +
📋 The weekly smoke run's timings land in results-* under no discoverable name — pyautoheart · small · safe · low ``` /start_dev draft/maintenance/pyautoheart/weekly_smoke_timings_artifact_naming.md @@ -143,7 +177,7 @@ Every task the Mind is holding, on one page: what is in flight, what is parked, Issued — each has an open GitHub issue and usually a branch. The full record for each is in [`active.md`](active.md). -
📋 @PyAutoFit TransformedMessage.factor_gradient crashes on first callissue #1501 — HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract +
📋 @PyAutoFit TransformedMessage.factor_gradient crashes on first callissue #1501 — issued 2026-08-19 — HOLD — do not start dev. Fix-or-delete hangs off the PyAutoFit#1498 logpdf-contract ``` /start_dev active/16_transformed_message_factor_gradient_unpack.md @@ -158,7 +192,7 @@ Started or scoped, not currently in flight — resume by moving the row back to
3 task(s) -
📋 single-source-density-designissue #1500 +
📋 single-source-density-designissue #1500 — parked 2026-08-18 ``` /start_dev active/12_single_source_density_refactor.md @@ -166,7 +200,7 @@ Started or scoped, not currently in flight — resume by moving the row back to
-
📋 prior-message-collapse-designissue #1500 +
📋 prior-message-collapse-designissue #1500 — parked 2026-08-18 ``` /start_dev active/13_collapse_prior_and_message.md @@ -174,7 +208,7 @@ Started or scoped, not currently in flight — resume by moving the row back to
-
📋 pyautoreduce-slacs1430-acs-comparison +
📋 pyautoreduce-slacs1430-acs-comparison — parked 2026-08-08 ``` /start_dev active/pyautoreduce_slacs1430_acs_comparison.md @@ -191,7 +225,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
5 task(s) -
📋 isothermal-ell-sph-oversampling-at-the-cusp — planned — NOT yet a prompt file; file one via /intake before starting +
📋 isothermal-ell-sph-oversampling-at-the-cusp — found 2026-08-09 — planned — NOT yet a prompt file; file one via /intake before starting ``` /route start the planned PyAutoMind task isothermal-ell-sph-oversampling-at-the-cusp — its record is in planned.md @@ -199,7 +233,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 remote-mcp-deployment-tiersissue #20 — DESIGN-COMPLETE, build BLOCKED-ON-DEMAND — issue #20 holds the full auth/transport/hosting design + Richard/PyAutoMCP… +
📋 remote-mcp-deployment-tiersissue #20 — filed 2026-07-21 — DESIGN-COMPLETE, build BLOCKED-ON-DEMAND — issue #20 holds the full auth/transport/hosting design + Richard/PyAutoMCP… ``` /start_dev draft/feature/autofit_assistant/remote_mcp_deployment_tiers.md @@ -207,7 +241,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 samples-parameter-pathsissue #1327 — parked +
📋 samples-parameter-pathsissue #1327 — filed 2026-07-08 — parked ``` /start_dev draft/bug/health_fixes/samples_parameter_paths.md @@ -215,7 +249,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 piemass-potential — planned +
📋 piemass-potential — filed 2026-06-05 — planned ``` /start_dev draft/feature/autogalaxy/piemass_potential.md @@ -223,7 +257,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 latent-nan-guard-honest-run +
📋 latent-nan-guard-honest-run — planned 2026-07-22 ``` /route start the planned PyAutoMind task latent-nan-guard-honest-run — its record is in planned.md @@ -240,7 +274,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
feature — 27 -
📋 Numba CPU likelihood phase 1: batched MGE convolution + operated-matrix — autoarray · medium · supervised · high +
📋 Numba CPU likelihood phase 1: batched MGE convolution + operated-matrix caching — autoarray · medium · supervised · high ``` /start_dev draft/feature/autoarray/numba_cpu_likelihood_mge_convolution_and_caching.md @@ -256,7 +290,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Numba CPU likelihood phase 2: kernel-CDF numba fast path (the — autoarray · large · supervised · high +
📋 Numba CPU likelihood phase 2: kernel-CDF numba fast path (the 49-88% lever) — autoarray · large · supervised · high ``` /start_dev draft/feature/autoarray/numba_cpu_likelihood_kernel_cdf_fast_path.md @@ -264,7 +298,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Which other searches need prior-support handling — coverage audit after — autofit · medium · supervised · medium +
📋 Which other searches need prior-support handling — coverage audit after Prodigy — autofit · medium · supervised · medium ``` /start_dev draft/feature/autofit/prior_exit_sampler_coverage.md @@ -272,7 +306,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Give PyAutoFit searches a seed — today no search can — autofit · medium · supervised · medium +
📋 Give PyAutoFit searches a seed — today no search can be made… — autofit · medium · supervised · medium ``` /start_dev draft/feature/autofit/search_seed_reproducibility.md @@ -485,7 +519,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 jax 0.11 breaks beta/gamma message log_partition under jit ('tuple' object — autofit · small · supervised · medium +
📋 jax 0.11 breaks beta/gamma message log_partition under jit… — autofit · small · supervised · medium ``` /start_dev draft/bug/autofit/jax_011_message_log_partition_tuple_shape.md @@ -541,7 +575,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Three jax_likelihood pins are stale by ~1.24e-4 and fail the — workspaces · small · supervised · normal +
📋 Three jax_likelihood pins are stale by ~1.24e-4 and fail the smoke gate… — workspaces · small · supervised · normal ``` /start_dev draft/bug/workspaces/jax_likelihood_pins_stale_by_1e4.md @@ -565,7 +599,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 interferometer/jax_grad/gradient.py: eager and jitted likelihoods diverge ~5e-7 on Python 3.13 — autolens_workspace_test · 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/bug/autolens_workspace_test/gradient_eager_jit_divergence_py313.md @@ -629,7 +663,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 The reconstruction noise map describes a different estimator than the — autoarray · medium · human-required · low +
📋 The reconstruction noise map describes a different estimator than the default solver — autoarray · medium · human-required · low ``` /start_dev draft/bug/autoarray/reconstruction_noise_map_solver_mismatch.md @@ -658,7 +692,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
maintenance — 23 -
📋 autocti_workspace has no Navigator Check, so its CI can never — ci · medium · supervised · high +
📋 autocti_workspace has no Navigator Check, so its CI can never roll… — ci · medium · supervised · high ``` /start_dev draft/maintenance/ci/autocti_workspace_navigator_check.md @@ -674,7 +708,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 smoke_install.sh's stale jax<0.7 pin — CI is on the right — ci · low · supervised · medium +
📋 smoke_install.sh's stale jax<0.7 pin — CI is on the right jax… — ci · low · supervised · medium ``` /start_dev draft/maintenance/ci/smoke_install_stale_jax_pin.md @@ -690,7 +724,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Defer the eager scipy.sparse import in derivative_util (~0.10 s of — libraries · small · safe · normal +
📋 Defer the eager scipy.sparse import in derivative_util (~0.10 s of import) — libraries · small · safe · normal ``` /start_dev draft/maintenance/libraries/defer_scipy_sparse_import.md @@ -730,7 +764,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Heart's local smoke runner cannot run any CTI workspace — — ci · medium · supervised · normal +
📋 Heart's local smoke runner cannot run any CTI workspace — no autocti… — ci · medium · supervised · normal ``` /start_dev draft/maintenance/ci/heart_smoke_table_autocti.md @@ -746,7 +780,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Dependency-cap refresh 2026-08: safe bumps, astropy 8 decision, two dead — libraries · medium · supervised · normal +
📋 Dependency-cap refresh 2026-08: safe bumps, astropy 8 decision, two dead deps — libraries · medium · supervised · normal ``` /start_dev draft/maintenance/libraries/dep_cap_refresh_2026_08.md @@ -794,7 +828,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 pynufft removal: unswept downstream residue (1 hard break + stale — workspaces · low-medium · supervised · normal +
📋 pynufft removal: unswept downstream residue (1 hard break + stale docs/CI) — workspaces · low-medium · supervised · normal ``` /start_dev draft/maintenance/workspaces/pynufft_removal_downstream_residue.md @@ -802,7 +836,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Phase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTI — workspaces · low · supervised · normal +
📋 Phase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTI install docs — workspaces · low · supervised · normal ``` /start_dev draft/maintenance/workspaces/pynufft_removal_downstream_residue_phase_3_ci_install_docs.md @@ -810,7 +844,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 dataset/imaging/jwst_lw is untracked because the gitignore was never extended for — autolens_profiling · small · supervised · low +
📋 dataset/imaging/jwst_lw is untracked because the gitignore was never extended for it — autolens_profiling · small · supervised · low ``` /start_dev draft/maintenance/autolens_profiling/jwst_lw_untracked_gitignore_gap.md @@ -818,7 +852,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB of — autolens_workspace · small · supervised · low +
📋 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/autolens_workspace/cosmos_web_ring_mask_dtype.md @@ -826,7 +860,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 The weekly smoke run's timings land in results-* under no — pyautoheart · small · safe · low +
📋 The weekly smoke run's timings land in results-* under no discoverable name — pyautoheart · small · safe · low ``` /start_dev draft/maintenance/pyautoheart/weekly_smoke_timings_artifact_naming.md @@ -863,7 +897,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Quick-update plotting cost — minutes per update, and it is — autolens · medium · supervised · medium +
📋 Quick-update plotting cost — minutes per update, and it is not JAX… — autolens · medium · supervised · medium ``` /start_dev draft/research/autolens/quick_update_plotting_cost.md @@ -903,7 +937,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Is Intel macOS a supported platform, and what is the — libraries · medium · supervised · normal +
📋 Is Intel macOS a supported platform, and what is the numpy-only contract? — libraries · medium · supervised · normal ``` /start_dev draft/research/libraries/intel_macos_support_policy.md @@ -911,7 +945,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Checkerboard PSF-mismatch residual diagnostic — research + document + ingest — pyautomemory · medium · supervised · normal +
📋 Checkerboard PSF-mismatch residual diagnostic — research + document + ingest papers — pyautomemory · medium · supervised · normal ``` /start_dev draft/research/pyautomemory/checkerboard_psf_mismatch_residual_diagnostic.md @@ -935,7 +969,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Chase the ~6% flux scale between PyAutoReduce and legacy SLACS — pyautoreduce · medium · supervised · low +
📋 Chase the ~6% flux scale between PyAutoReduce and legacy SLACS reductions — pyautoreduce · medium · supervised · low ``` /start_dev draft/research/pyautoreduce/legacy_flux_scale_parity.md @@ -1020,7 +1054,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Rewrite PyAutoCTI docs/api — 55 of 89 autosummary entries are — autocti · medium · supervised · normal +
📋 Rewrite PyAutoCTI docs/api — 55 of 89 autosummary entries are dead — autocti · medium · supervised · normal ``` /start_dev draft/docs/autocti/api_rst_rewrite.md @@ -1044,7 +1078,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Phase 2 — drop the hand-written quick-update sentence from the — autolens_workspace +
📋 Phase 2 — drop the hand-written quick-update sentence from the workspace scripts — autolens_workspace ``` /start_dev draft/docs/autolens_workspace/sampler_cli_output_workspace_sweep.md @@ -1126,7 +1160,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Relevance-gate the reusable smoke workflow so a PR only runs — pyautoheart · medium · supervised · normal +
📋 Relevance-gate the reusable smoke workflow so a PR only runs… — pyautoheart · medium · supervised · normal ``` /start_dev draft/test/pyautoheart/smoke_relevance_gate.md @@ -1171,7 +1205,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Nightly release has been blocked 8 nights running — triage — medium · supervised · normal +
📋 Nightly release has been blocked 8 nights running — triage the streak — medium · supervised · normal ``` /start_dev draft/triage/nightly_release_blocked_eight_nights.md @@ -1202,6 +1236,93 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
+## Recent + +The 50 newest things to happen to the work in hand, newest first — issued, parked, filed. Every other section on this page is laid out by state, which is exactly why none of them can answer “what has been happening?”. Shipped work is not here: it is read from `complete/index.md`, and a thousand records deep it would crowd out everything anyone can still act on. Showing the newest 10; … opens the next 10. + +| Date | Event | Task | +|------|-------|------| +| 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 | 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 | The weekly smoke run's timings land in results-* under no… | +| 2026-08-24 | filed | Organ repo spellings split across two normalised keys | +| 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… | +| 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 | + +
… 10 more (40 left) + +| Date | Event | Task | +|------|-------|------| +| 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 | +| 2026-08-22 | filed | The reconstruction noise map describes a different estimator than the… | +| 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 +… | + +
… 10 more (30 left) + +| Date | Event | Task | +|------|-------|------| +| 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 | +| 2026-08-19 | issued | @PyAutoFit TransformedMessage.factor_gradient crashes on first… | +| 2026-08-19 | filed | Release board: local run_logs enrichment | +| 2026-08-19 | filed | RTD organism docs currency: Nerves page, organ-count drift, hands.md… | +| 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-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-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 | +| 2026-08-04 | filed | Nightly release has been blocked 8 nights running — triage the streak | + +
+ +
+ +
+ +
+ +_Dates come from each task's registry entry — `lifecycle.py dates` reports anything undated._ + ## Epics Long-running multi-phase programmes. Each epic's 📋 prompt has Claude read its ledger, work out where it stands, and continue from the next logical point. Members are worked in order through the epic's ledger — continue the epic rather than starting one standalone. Full record in [`epics.md`](epics.md). @@ -1329,7 +1450,7 @@ Continue the 'Cluster strong lensing — Source & Cluster arc' epic. Its canonic
-
📋 Source & Cluster arc — magnification science, PointSolver trust, cluster — autolens · too-large · supervised · high +
📋 Source & Cluster arc — magnification science, PointSolver trust, cluster extended sources — autolens · too-large · supervised · high ``` /start_dev draft/feature/autolens/source_cluster_arc.md @@ -1350,7 +1471,7 @@ Continue the 'Intermittent XLA compile stall in the JAX vmap likelihood path' ep
-
📋 Phase 3: root-cause the XLA vmap compile stall and clear — ci · large · supervised · high +
📋 Phase 3: root-cause the XLA vmap compile stall and clear every NEEDS_FIX… — ci · large · supervised · high ``` /start_dev draft/bug/ci/jax_compile_stall_3_root_cause.md @@ -1358,7 +1479,7 @@ Continue the 'Intermittent XLA compile stall in the JAX vmap likelihood path' ep
-
📋 Intermittent XLA compile stall in JAX vmap likelihood scripts — — ci · too-large · supervised · high +
📋 Intermittent XLA compile stall in JAX vmap likelihood scripts — third repo… — ci · too-large · supervised · high ``` /start_dev draft/bug/ci/jax_vmap_jit_compile_stall.md @@ -1387,7 +1508,7 @@ Continue the 'Expectation propagation (EP) campaign' epic. Its canonical state l
-
📋 EP hierarchical parent-scale collapse: cure the basin, or document the — autofit · too-large · human-required · high +
📋 EP hierarchical parent-scale collapse: cure the basin, or document the caveat — autofit · too-large · human-required · high ``` /start_dev draft/bug/autofit/ep_scale_collapse_basin_cure_or_caveat.md @@ -1427,7 +1548,7 @@ Continue the 'Expectation propagation (EP) campaign' epic. Its canonical state l
-
📋 EP campaign — phase map for the 2026 Q3 graphical/EP — graphical_ep · too-large · supervised · high +
📋 EP campaign — phase map for the 2026 Q3 graphical/EP push — graphical_ep · too-large · supervised · high ``` /start_dev draft/research/graphical_ep/ep_campaign.md @@ -1466,3 +1587,5 @@ Continue the 'Expectation propagation (EP) campaign' epic. Its canonical state l - `draft/research/autolens_profiling/cluster_gradient_search_benchmark.md`
+ +Boards: [brain](https://pyautolabs.github.io/PyAutoBrain/) · [heart](https://pyautolabs.github.io/PyAutoHeart/) · [hands](https://pyautolabs.github.io/PyAutoHands/) · [memory](https://pyautolabs.github.io/PyAutoMemory/) · [organism](https://pyautolabs.github.io/PyAutoScientist/)