diff --git a/active.md b/active.md index 3870d0a39..324687ebe 100644 --- a/active.md +++ b/active.md @@ -91,7 +91,6 @@ - epic: autonomous-orchestrators (pilot 4c follow-up) - tier: glance — merge mode: auto-merge on green if the Witness passes, post-merge summary (non-PASS Witness → human /prm) - ## autonomous-orchestrators-p4c - issue: https://github.com/PyAutoLabs/PyAutoBrain/issues/574 - issued: 2026-11-04 diff --git a/active/gradient_correctness_sweep.md b/active/gradient_correctness_sweep.md index 2c108b1b8..f589336ce 100644 --- a/active/gradient_correctness_sweep.md +++ b/active/gradient_correctness_sweep.md @@ -71,7 +71,7 @@ Human request (2026-11-02): "find all gradient related issues that investigate b ### C. Bookkeeping, tests and corrections -10. **`gradient.json` `point` mislabel.** Source: `draft/bug/autolens_profiling/gradient_json_point_label_standard_cells.md` (glance; a quick win, do it early). +10. **`gradient.json` `point` mislabel.** Source: `draft/bug/autolens_profiling/gradient_json_point_label_standard_cells.md` (glance; a quick win, do it early). **Shipped** in autolens_profiling#518 (9d2ee2d3d, 2026-11-02); draft closed 2026-11-05 as `complete/2026/11/gradient-json-point-label.md`. 11. **Correct the #515 research note.** In autolens_profiling `wiki/research/gradient_campaign_impact_border_tie.md`, the table row for `point_source_image/image_plane` and `cluster/image_plane` says *autodiff* is exactly zero. It is the **FD** that is zero and autodiff that is nonzero (mechanism E). Fix that row and link item 9. 12. **Verify the rectangular mapper row-weights bug is fixed.** Source: `draft/bug/autoarray/rectangular_mapper_bilinear_row_weights.md` (filed 2026-08-26, Status: draft). The code in `autoarray/inversion/mesh/interpolator/rectangular.py` now carries comments saying the mirrored row weights and the `ceil` bracketing were fixed (autolens_workspace_test#279). Verify, then retire it with the fixing commit. 13. **Critical-curve / caustic `jit` / `grad` parity test.** Source: `draft/test/autolens_workspace_test/jax_zero_contour.md` (notify). diff --git a/draft/bug/pyautomind/arxiv_edge_refuses_the_stdlib_urllib_client.md b/complete/2026/11/arxiv-edge-refuses-stdlib-urllib.md similarity index 79% rename from draft/bug/pyautomind/arxiv_edge_refuses_the_stdlib_urllib_client.md rename to complete/2026/11/arxiv-edge-refuses-stdlib-urllib.md index 9fca8f235..fe67a3d21 100644 --- a/draft/bug/pyautomind/arxiv_edge_refuses_the_stdlib_urllib_client.md +++ b/complete/2026/11/arxiv-edge-refuses-stdlib-urllib.md @@ -1,3 +1,11 @@ +- summary: superseded by a different fix — closed. Commit 4d8290555 (2026-09-20, "fix: fall back to curl when arXiv rejects urllib with 406") keeps urllib but retries any 406 once through `curl` (already on the runner) before the back-off ladder, rather than moving `_get()` to `requests`. The 406 retry from #412 is kept, so prompt items 2–3 are covered by a dependency-free route. Item 4 (PyAutoMemory) shipped separately in PyAutoMemory#143 (record `arxiv-refs-api-errors`). +- evidence: `arxiv_papers.yml` scheduled runs 2026-10-29..11-05 all green. Of the two failures in the last 10 runs, 2026-10-27 was a pyautolabs-bot token 403 pushing to PyAutoMemory (not arXiv), and 2026-10-28 was HTTP 429 on all six attempts from the shared runner egress (rate-limiting, not the 406 fingerprint block). +- witness: the cache-busted urllib-vs-requests live probe (prompt item 1) was NOT run; this close rests on the run history above, not on a fingerprint measurement. +- follow-up candidate (not filed): on a 429 day, `--livecheck` spends a full ~6 min ladder before the fetch step spends another, doubling load on a throttled egress. Worth filing only if 429 days recur. +- found by: queue check-in 2026-11-05. + +## Original prompt + # arXiv's Fastly edge refuses `urllib.request` outright — retrying a 406 only delays the failure Type: bug diff --git a/draft/bug/pyautomemory/arxiv_refs_swallows_every_api_error_silently.md b/complete/2026/11/arxiv-refs-api-errors.md similarity index 72% rename from draft/bug/pyautomemory/arxiv_refs_swallows_every_api_error_silently.md rename to complete/2026/11/arxiv-refs-api-errors.md index f0fae130c..9c5c94c9c 100644 --- a/draft/bug/pyautomemory/arxiv_refs_swallows_every_api_error_silently.md +++ b/complete/2026/11/arxiv-refs-api-errors.md @@ -1,3 +1,11 @@ +- summary: already shipped — closed as stale draft. PyAutoMemory#143 (merged 2026-11-03, merge 1f22de7; commits 0c3e2dc, 625b583): `resolve_title()` raises `ArxivAPIError` on transport/parse failure so `None` means only "arXiv answered, no unique match"; `_api_query()` has a back-off ladder shaped like Mind's `_get()` (406/429/5xx, Retry-After capped) plus the curl-on-406 fallback; `backfill_arxiv_refs.py` gains `api_failed`/`unattempted` counters, stops at the first API failure and exits 1 (stricter than "when transport failure dominates"); `arxiv_refs.yml` writes an "arXiv API failure" step-summary banner and goes red; `--mark-unresolved` never NOTE-marks after a transport failure. +- witness: `test_witness_a_429_is_an_api_failure_not_a_non_match` in tests/test_arxiv_refs.py — fails on the pre-0c3e2dc source, passes now; Memory suite 286 passed, test_arxiv_refs.py 38 passed, `make validate` passes (2026-11-05). +- history check: 2026-09-13..20 touched reading-queue.md/arxiv-inbox.md in 575978a and b3233c6 only; neither added a NOTE line — nothing was mis-marked during the outage. +- not done: client not switched to `requests` (curl fallback makes it unnecessary). +- found by: queue check-in 2026-11-05. + +## Original prompt + # `arxiv_refs.py` swallows every API error, so an arXiv outage resolves nothing and still reports green Type: bug diff --git a/draft/bug/autocti_visualization/render_yml_blocked_until_pyautocti_release.md b/complete/2026/11/autocti-render-yml-blocked-dup.md similarity index 82% rename from draft/bug/autocti_visualization/render_yml_blocked_until_pyautocti_release.md rename to complete/2026/11/autocti-render-yml-blocked-dup.md index 54246420c..8b9e906d9 100644 --- a/draft/bug/autocti_visualization/render_yml_blocked_until_pyautocti_release.md +++ b/complete/2026/11/autocti-render-yml-blocked-dup.md @@ -1,3 +1,8 @@ +- summary: superseded/shipped — autocti_visualization#8 (2026-10-23), record `complete/2026/10/autocti-viz-render-from-mains.md`: render.yml renders from the library mains instead of waiting for a PyAutoCTI release; render 40032877406 went green and dispatched eyes-refresh (the Witness). That record's original prompt duplicates this draft. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # autocti_visualization render.yml fails on the released stack until PyAutoCTI releases Type: bug diff --git a/draft/feature/pyautobrain/board_without_gh_phase2_legs.md b/complete/2026/11/board-without-gh-phase2-legs.md similarity index 70% rename from draft/feature/pyautobrain/board_without_gh_phase2_legs.md rename to complete/2026/11/board-without-gh-phase2-legs.md index 3473b1e2b..5b532210d 100644 --- a/draft/feature/pyautobrain/board_without_gh_phase2_legs.md +++ b/complete/2026/11/board-without-gh-phase2-legs.md @@ -1,3 +1,9 @@ +- summary: already shipped, closed as a stale draft. PyAutoBrain 15317af (merged via #564, 2026-11-03) "phase 2 — the remaining GitHub legs onto the --github-data seam". The upkeep leg now reads through the seam. The versions, community and resume legs had already been retired from the board by 41ec5c5 (2026-10-08). So a remote render has zero unread legs, which meets the umbrella's headline criterion. +- witness: `test_a_remote_render_reads_all_four_phase2_legs` in Brain `tests/test_board_github_data.py`; the file gives 10 passed, 2026-11-05. +- found by: stale-draft sweep 2026-11-05. The shipping session merged without closing the draft. Closure approved by the human. + +## Original prompt + # Board phase 2: the remaining four legs onto the seam Type: feature diff --git a/complete/2026/11/compile-drift-single-sample.md b/complete/2026/11/compile-drift-single-sample.md new file mode 100644 index 000000000..c392b16b4 --- /dev/null +++ b/complete/2026/11/compile-drift-single-sample.md @@ -0,0 +1,60 @@ +- summary: shipped in PyAutoBrain#588 (merge e822697, 2026-11-05), commit ed0782c. Decision: option (a), taken by the agent as decide-and-flag and accepted by the human on 2026-11-05. The 2x `COMPILE_DRIFT_RATIO` band and the 1 s floor stay as a gross flag. Each drifted row from `ingest --axis compile` now carries `comparison` (`single-sample` / `repeat-summarised`), `pinned_repeats`, `observed_repeats` and `caveat` (`SINGLE_SAMPLE_CAVEAT`: "single-sample endpoint(s): a gross 2x-band flag from one pinned timing vs one observed timing, not a measured change"). `triage --axis compile` passes these through. A row counts as repeat-summarised only when both endpoints carry `compile_repeats` >= 2 (P7's rule). Compile cost only. +- witness: `test_compile_drift_is_reported_as_a_single_sample_comparison` (synthetic: 4.0 s → 10.0 s drifts with the caveat, 4.0 s → 6.0 s does not) and `test_compile_drift_reports_repeat_counts_when_the_data_carries_them`. Brain suite 1578 passed, 1 skipped. CI pytest 3.12/3.13 green at 0f82a07. +- follow-up (not filed): no producer writes `compile_repeats` yet, so every real drift reports single-sample. autolens_profiling's `jax_compile` tooling could write it. +- also in #588: the intake `census()` epic-companion skip (dashboard 286 → 239 prompts) and the organ-target Memory-gate spelling test (record `intake-memory-line-organ-targets`). + +## Original prompt + +# Profiling conductor compile drift compares one point against one point + +Type: bug +Target: pyautobrain +Repos: +- PyAutoBrain +Themes: +- measurement-tools +Difficulty: small +Autonomy: supervised +Priority: medium +Consequence: judge +Status: draft +Filed: 2026-10-09 +Related: https://github.com/PyAutoLabs/autolens_profiling/issues/362 + +## Context + +The timing-noise audit of autolens_profiling (`results/notes/timing_noise_audit_2026_10.md`, #362) +found that the project dashboard's release drift badge (P7) compared single-sample endpoints, and +fixed it there (#405: within-band → `insufficient` unless both endpoints carry a repeat summary; +#408: compare like estimators only). The audit note records that the Brain profiling conductor's +`COMPILE_DRIFT_RATIO` rule (`agents/conductors/profiling/_profiling.py:88`, used at ~513) shares +P7's point-vs-point limitation, and that "a separate Brain task should decide whether compile drift +follows; this audit does not edit Brain". + +## Decide + +Whether the conductor's compile-drift check should (a) keep its generous 2x band as a gross flag +with an explicit "single-sample" caveat, as P7's `drifted`/`improved` now do, (b) require repeats or +an interval before reporting drift, or (c) stay as is with a documented reason. Keep compile and +execution costs separate. Synthetic witness required for any change. + +## Original request (chat 2026-10-09) + +"prm and then do 3b and leftovers fully wrap up --auto" — filed as the Brain hand-off named in the +audit note; not part of the #362 PRs. + +## Implemented 2026-11-05 — awaiting the human's call on option (a) and a PR + +Decide-and-flag: the agent took **option (a)**. The change is on PyAutoBrain branch +`ccr-f98d2a4d-92r7rv`, commit ed0782c, unmerged with no PR yet. The 2x +`COMPILE_DRIFT_RATIO` band and 1 s floor stay as a gross flag. Each drifted row now +carries `comparison` (`single-sample` / `repeat-summarised`), `pinned_repeats`, +`observed_repeats` and `caveat` ("single-sample endpoint(s): a gross 2x-band flag from +one pinned timing vs one observed timing, not a measured change"), and +`triage --axis compile` passes them through. Repeat counts come from an optional +`compile_repeats` field (both sides ≥ 2, P7's rule), which no producer writes yet, so +every real drift reports single-sample today. Compile cost only. +Tests: `test_compile_drift_is_reported_as_a_single_sample_comparison`, +`test_compile_drift_reports_repeat_counts_when_the_data_carries_them`. Brain suite 1576 +passed. Possible follow-up: autolens_profiling's `jax_compile` tooling writes `compile_repeats`. +Tier stays judge, so this needs a human /prm. diff --git a/draft/feature/cortex/human_readable_projects_dashboard.md b/complete/2026/11/cortex-projects-dashboard-parent.md similarity index 91% rename from draft/feature/cortex/human_readable_projects_dashboard.md rename to complete/2026/11/cortex-projects-dashboard-parent.md index d3b39f290..149464877 100644 --- a/draft/feature/cortex/human_readable_projects_dashboard.md +++ b/complete/2026/11/cortex-projects-dashboard-parent.md @@ -1,3 +1,8 @@ +- summary: parent closed. Phase 1, the presentation change, shipped in PyAutoBrain#526 (merge 92de427, 2026-10-15; record `complete/2026/10/cortex-project-readability.md`). Phase 2, output accounting, stays open as its own draft, `draft/feature/cortex/output_summary.md`, which carries the human's two-phase approval and the verbatim request reference. It still needs plan approval before any source change. +- found by: stale-draft sweep 2026-11-05. Closure approved by the human. + +## Original prompt + # Human-readable Cortex Projects dashboard Targets: @PyAutoBrain @PyAutoCortex diff --git a/draft/bug/euclid/euclid_dr1_flip_rgb_jpg_upside_down.md b/complete/2026/11/dr1-rgb-flip-superseded.md similarity index 90% rename from draft/bug/euclid/euclid_dr1_flip_rgb_jpg_upside_down.md rename to complete/2026/11/dr1-rgb-flip-superseded.md index 68244c1e4..098ae2773 100644 --- a/draft/bug/euclid/euclid_dr1_flip_rgb_jpg_upside_down.md +++ b/complete/2026/11/dr1-rgb-flip-superseded.md @@ -1,3 +1,8 @@ +- summary: superseded by the human 2026-10-30 (the draft's own banner); `complete/2026/10/sky-orientation-dr1-p1.md` records "AGREED: the old rgb-flip bug draft … is superseded". It was never moved out of draft/. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # euclid_dr1: every dataset rgb.jpg is upside down relative to the VIS FITS — flip them all, locally and on RAL > **SUPERSEDED 2026-10-30 (human).** The flip ran on 2026-09-20 (`preprocess/flip_rgb.py`, originals kept as diff --git a/draft/feature/autogalaxy/ell_comps_joint_disk_constraint.md b/complete/2026/11/ell-comps-disk-constraint-dup.md similarity index 92% rename from draft/feature/autogalaxy/ell_comps_joint_disk_constraint.md rename to complete/2026/11/ell-comps-disk-constraint-dup.md index e18838df5..066fd50a5 100644 --- a/draft/feature/autogalaxy/ell_comps_joint_disk_constraint.md +++ b/complete/2026/11/ell-comps-disk-constraint-dup.md @@ -1,3 +1,8 @@ +- summary: already shipped before it was filed — PyAutoFit#1538 (96dad519) + PyAutoGalaxy#589 (merge 0fbe863d, 2026-08-28), record `complete/2026/08/ell-comps-disk-constraint.md`; the draft was filed 2026-09-01 (duplicate). Unfiled residue per that record: a workspace example and a campaign re-measure. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # A joint unit-disk constraint (or reparameterisation) for `ell_comps` Type: feature diff --git a/draft/feature/pyautoeyes/group_cluster_gallery.md b/complete/2026/11/eyes-group-cluster-gallery.md similarity index 77% rename from draft/feature/pyautoeyes/group_cluster_gallery.md rename to complete/2026/11/eyes-group-cluster-gallery.md index 9f7c50fc7..23db5ed4b 100644 --- a/draft/feature/pyautoeyes/group_cluster_gallery.md +++ b/complete/2026/11/eyes-group-cluster-gallery.md @@ -1,3 +1,8 @@ +- summary: superseded by human decision — autolens_visualization#5 and #14, record `complete/2026/10/viz-all-dataset-types.md`: group and cluster producers shipped (dataset.png and fit.png, cluster per source plane); full figures were replaced by "bespoke via Eyes" follow-ups. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # autolens_visualization: group and cluster galleries (point-source + extended) Type: feature diff --git a/draft/feature/pyautoeyes/multi_galaxy_gallery.md b/complete/2026/11/eyes-multi-galaxy-gallery.md similarity index 78% rename from draft/feature/pyautoeyes/multi_galaxy_gallery.md rename to complete/2026/11/eyes-multi-galaxy-gallery.md index bbc654368..905407dc2 100644 --- a/draft/feature/pyautoeyes/multi_galaxy_gallery.md +++ b/complete/2026/11/eyes-multi-galaxy-gallery.md @@ -1,3 +1,8 @@ +- summary: superseded by human decision — autolens_visualization#5 (+ 465fc508 datasets), record `complete/2026/10/viz-all-dataset-types.md`: the multi_galaxy dataset, simulator and producer shipped, writing dataset.png and fit.png only (not the full all-true plots), as the human decided. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # autolens_visualization: multi-galaxy gallery — producer and dataset Type: feature diff --git a/draft/bug/pyautomind/glance_shadow_window_reached.md b/complete/2026/11/glance-shadow-window-reached.md similarity index 62% rename from draft/bug/pyautomind/glance_shadow_window_reached.md rename to complete/2026/11/glance-shadow-window-reached.md index 0fe3c6fed..dfee6fa22 100644 --- a/draft/bug/pyautomind/glance_shadow_window_reached.md +++ b/complete/2026/11/glance-shadow-window-reached.md @@ -1,3 +1,9 @@ +- summary: already shipped — closed as stale draft. Item 1 (code): commit 679b1319f (2026-10-16) made `shadow_count_line()` append "window reached" once graded rows ≥ SHADOW_TARGET; it now also cites the ruling (SHADOW_RULED). Item 2 (human doctrine call): the human ruled 2026-11-04 — `glance` granted, narrowed; rows keep accumulating, with unattended merges in a stage-2 sub-window (record `complete/2026/11/glance-tier-ruling.md`, PyAutoBrain#567, PyAutoMind#529). +- witness: `tests/test_autonomy_log_shadow.py` passes on main; autonomy_log.md count line reads "…window reached — ruled 2026-11-04: `glance` granted, narrowed…" (2026-11-05). +- found by: queue check-in 2026-11-05. + +## Original prompt + # Glance shadow window reached 20/20 clean — count line must say "reached"; record the glance confirmation decision Type: bug diff --git a/draft/bug/autolens_profiling/gradient_json_point_label_standard_cells.md b/complete/2026/11/gradient-json-point-label.md similarity index 77% rename from draft/bug/autolens_profiling/gradient_json_point_label_standard_cells.md rename to complete/2026/11/gradient-json-point-label.md index 44b0fc4f4..584a95add 100644 --- a/draft/bug/autolens_profiling/gradient_json_point_label_standard_cells.md +++ b/complete/2026/11/gradient-json-point-label.md @@ -1,3 +1,8 @@ +- summary: already shipped — autolens_profiling#518 (9d2ee2d3d, merged 2026-11-02 22:38, filed 16:18 the same day) records the real gradient evaluation point: 53 gradient.json records now say "iid draw 0"; the 18 still saying prior_medians are MGE cells, where that label is correct. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Standard-size gradient cells record `"point": "prior_medians"` while evaluating at iid draw 0 Type: bug diff --git a/draft/maintenance/workspaces/hpc_cache_off_home_phase2_euclid.md b/complete/2026/11/hpc-cache-off-home-euclid.md similarity index 91% rename from draft/maintenance/workspaces/hpc_cache_off_home_phase2_euclid.md rename to complete/2026/11/hpc-cache-off-home-euclid.md index 14d2a60eb..d37ef53d9 100644 --- a/draft/maintenance/workspaces/hpc_cache_off_home_phase2_euclid.md +++ b/complete/2026/11/hpc-cache-off-home-euclid.md @@ -1,3 +1,9 @@ +- summary: already shipped — euclid_strong_lens_modeling_pipeline 37034f22 (2026-09-25, default branch) "activate.sh: keep Python/JAX caches off $HOME on HPC"; code search finds `PYAUTO_HPC_CACHE` in activate.sh on main. +- not done: the fake-base witness was not re-run. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Keep caches off `$HOME` on HPC — phase 2 remainder: euclid pipeline `activate.sh` Type: maintenance diff --git a/draft/bug/pyautobrain/intake_classify_file_drops_declared_epic_phase.md b/complete/2026/11/intake-memory-line-organ-targets.md similarity index 80% rename from draft/bug/pyautobrain/intake_classify_file_drops_declared_epic_phase.md rename to complete/2026/11/intake-memory-line-organ-targets.md index 89754e293..b412d61d0 100644 --- a/draft/bug/pyautobrain/intake_classify_file_drops_declared_epic_phase.md +++ b/complete/2026/11/intake-memory-line-organ-targets.md @@ -1,3 +1,9 @@ +- summary: already shipped — closed as stale draft. The `_with_memory` gate in `agents/conductors/intake/_intake.py` landed in PyAutoBrain 557f8e0 and ba38413: organ targets get no `Memory:` line. The organ set comes from `PyAutoMind/repos.yaml` (`_sizing.ORGANISM_REPOS` = `category: organ`, plus `_intake._ORGANS_DIR_REPOS` for repos under `organs/`, which covers PyAutoScientist). `Target:` is normalised by `_sizing.normalise_repo` (case, leading `@`, path suffix). +- witness: PyAutoBrain branch `ccr-f98d2a4d-92r7rv` commit 906b5dd adds `test_organ_target_spellings_get_no_memory_line` (organ spellings `pyautobrain`, `@PyAutoBrain`, `PYAUTOMIND`, `@PyAutoBrain/agents`, PyAutoScientist get no line; a library target still gets one); tests/test_intake_memory.py 8 passed; Brain suite 1576 passed, 1 skipped (2026-11-05). The test-only commit is unmerged and needs a PR. +- found by: queue check-in 2026-11-05. + +## Original prompt + # intake classify --file injects an unrelated Memory: line on organ-targeted prompts Type: bug diff --git a/draft/feature/autolens_jax_joss/autolens_jax_joss_benchmark_repo.md b/complete/2026/11/jax-joss-benchmark-repo.md similarity index 93% rename from draft/feature/autolens_jax_joss/autolens_jax_joss_benchmark_repo.md rename to complete/2026/11/jax-joss-benchmark-repo.md index 19a920ed6..2effb4d98 100644 --- a/draft/feature/autolens_jax_joss/autolens_jax_joss_benchmark_repo.md +++ b/complete/2026/11/jax-joss-benchmark-repo.md @@ -1,3 +1,8 @@ +- summary: already shipped — PyAutoLabs/autolens_jax_joss: 9c66b020 (birth, 10 benchmark scripts), 64204f69 (A100 sweep of 8 benchmarks), 6b14c207 (paired_example refs); `complete/2026/09/workspace-dead-weight-cleanup.md` already flagged it as looking shipped. The 5-minute runtime targets stay tracked in joss_cluster_benchmark_tuning. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # autolens_jax_joss benchmark repo + real-data start_here pairing Type: feature diff --git a/draft/research/autolens_profiling/likelihood_lifecycle_p3_designation_proposals.md b/complete/2026/11/lifecycle-p3-designation-proposals.md similarity index 99% rename from draft/research/autolens_profiling/likelihood_lifecycle_p3_designation_proposals.md rename to complete/2026/11/lifecycle-p3-designation-proposals.md index c17607999..e010dffdb 100644 --- a/draft/research/autolens_profiling/likelihood_lifecycle_p3_designation_proposals.md +++ b/complete/2026/11/lifecycle-p3-designation-proposals.md @@ -1,3 +1,8 @@ +- summary: decided and shipped — the human approved all 39 designations (datacube/delaunay gpu_a100 held provisional); PyAutoPulse#84 (bcaf6b86, 2026-10-31), record `complete/2026/10/likelihood-lifecycle-p3-designation-records.md` (its Witness cites Appendix B of this proposals file as approved); epic ledger updated. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Likelihood lifecycle phase 3: designation proposals for the completed campaigns (2a imaging, 2b interferometer, 2c point source) — DRAFT for the human Type: research diff --git a/draft/bug/autofit/multistartgradient_searches_ignore_iterations_pe.md b/complete/2026/11/multistart-gradient-quick-update.md similarity index 92% rename from draft/bug/autofit/multistartgradient_searches_ignore_iterations_pe.md rename to complete/2026/11/multistart-gradient-quick-update.md index bfa55146a..ee838ed0f 100644 --- a/draft/bug/autofit/multistartgradient_searches_ignore_iterations_pe.md +++ b/complete/2026/11/multistart-gradient-quick-update.md @@ -1,3 +1,8 @@ +- summary: already shipped — PyAutoFit#1556 (merged 2026-09-01) wires iterations_per_quick_update into the MultiStart gradient step loop (ba22d5ba2 flips the tripwire to assert quick updates fire); 94a658b32 makes MultiStart* honour iterations_per_quick_update / live_visual_update. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # MultiStartGradient searches ignore iterations_per_quick_update and live_visual_update while announcing the cadence… Type: bug diff --git a/draft/bug/autofit/nautilus_ep_default_optimiser_reads_use_jax_unguarded.md b/complete/2026/11/nautilus-ep-use-jax-guard.md similarity index 70% rename from draft/bug/autofit/nautilus_ep_default_optimiser_reads_use_jax_unguarded.md rename to complete/2026/11/nautilus-ep-use-jax-guard.md index 3f6083637..81acea935 100644 --- a/draft/bug/autofit/nautilus_ep_default_optimiser_reads_use_jax_unguarded.md +++ b/complete/2026/11/nautilus-ep-use-jax-guard.md @@ -1,3 +1,9 @@ +- summary: superseded — PyAutoFit 196abf39a (2026-10-08) "Analysis.is_jax as the single JAX probe": Nautilus reads `analysis.is_jax`, whose body is `bool(getattr(self, "_use_jax", False))`, and `PriorFactor(FactorKW, Analysis)` inherits it, so the unguarded `_use_jax` read that crashed EP prior-factor steps is gone. +- not done: the EP regression test the draft asked for (Nautilus as default_optimiser over a FactorGraphModel with PriorFactors, one step) was not found; re-file as a small test task if wanted. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Nautilus as an EP default_optimiser crashes on PriorFactors (reads analysis._use_jax unguarded) Type: bug diff --git a/draft/bug/autonerves/nautilus_sampler_pin_drifts_from_pyautofit.md b/complete/2026/11/nautilus-pin-tracks-autofit.md similarity index 81% rename from draft/bug/autonerves/nautilus_sampler_pin_drifts_from_pyautofit.md rename to complete/2026/11/nautilus-pin-tracks-autofit.md index 190c38064..a151d7b90 100644 --- a/draft/bug/autonerves/nautilus_sampler_pin_drifts_from_pyautofit.md +++ b/complete/2026/11/nautilus-pin-tracks-autofit.md @@ -1,3 +1,8 @@ +- summary: already shipped — PyAutoNerves#169 (merge 8eca4b3, 2026-09-15), record `complete/2026/09/colab-bootstrap-lazy-deps.md`: `setup_colab.py` pins nautilus-sampler==1.0.5 and `TestSpecifiersTrackAutofit` reads PyAutoFit's pyproject at run time — the Witness. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Colab pins `nautilus-sampler==1.0.4` while PyAutoFit declares `1.0.5` Type: bug diff --git a/draft/bug/autonerves/pyautonerves_emits_a_false_workspace_is_stale.md b/complete/2026/11/nerves-false-workspace-stale.md similarity index 89% rename from draft/bug/autonerves/pyautonerves_emits_a_false_workspace_is_stale.md rename to complete/2026/11/nerves-false-workspace-stale.md index 90e4a4fa1..629cbf854 100644 --- a/draft/bug/autonerves/pyautonerves_emits_a_false_workspace_is_stale.md +++ b/complete/2026/11/nerves-false-workspace-stale.md @@ -1,3 +1,8 @@ +- summary: already shipped — PyAutoNerves#203 (issue #202, merged 2026-10-17), record `complete/2026/10/workspace-freshness-stamp.md`: floor-only workspaces no longer generate false staleness warnings; that record's original prompt is a twin of this draft. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # PyAutoNerves emits a false "workspace is stale, git pull" warning… Type: bug diff --git a/draft/feature/autoarray/interferometer_numba_gate_retune_70.md b/complete/2026/11/numba-gate-retune-superseded.md similarity index 86% rename from draft/feature/autoarray/interferometer_numba_gate_retune_70.md rename to complete/2026/11/numba-gate-retune-superseded.md index e1b0d8014..614520f01 100644 --- a/draft/feature/autoarray/interferometer_numba_gate_retune_70.md +++ b/complete/2026/11/numba-gate-retune-superseded.md @@ -1,3 +1,8 @@ +- summary: superseded — PyAutoArray#632 (17caf228), records `complete/2026/10/interferometer-numba-route-gate.md` and `decision-matrix-gate-wording.md`: a cost model (`nnz_per_source_max: null`) replaced the fixed 60 gate, so a retune to 70 no longer applies. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Retune the interferometer numba gate 60 → 70 (in-situ crossover, autolens_profiling#332) Type: feature diff --git a/draft/feature/autolens/point_magnification_api.md b/complete/2026/11/point-magnification-api.md similarity index 90% rename from draft/feature/autolens/point_magnification_api.md rename to complete/2026/11/point-magnification-api.md index f478f5042..54aa7de86 100644 --- a/draft/feature/autolens/point_magnification_api.md +++ b/complete/2026/11/point-magnification-api.md @@ -1,3 +1,8 @@ +- summary: already shipped — PyAutoLens#798 (f791ac77) + autolens_workspace#598 (0f8b4db5), records `complete/2026/10/point-magnification-signed-surface.md` and `point-magnification-workspace-docs.md` ("Phase 5 of the arc is complete (5a + 5b)"). +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Magnification at a point: surface the existing API in source_science + point package, extend to multi-plane Type: feature diff --git a/complete/2026/11/repos-sync-optin-block.md b/complete/2026/11/repos-sync-optin-block.md new file mode 100644 index 000000000..504614b05 --- /dev/null +++ b/complete/2026/11/repos-sync-optin-block.md @@ -0,0 +1,55 @@ +- summary: shipped in PyAutoMind#539 (commit dc471e1d6), narrowed scope: option (a) of the 2026-11-05 re-size, chosen by the human. A single `OptInBlock` dataclass (`noun`, `begin`, `end`, `organs_only`) drives both the drift check and `--write` for the three opt-in AGENTS.md blocks: map, history and remote. `check_map_blocks` / `check_history_blocks` / `check_remote_blocks` stay as thin wrappers. The deliverable, filing and standards blocks, the hooks and the mode-gated writers stay explicit, because their contracts differ. +- witness: byte-identical before/after for `--check` on the live workspace, `--write` on a scratch copy of the workspace, the follow-up `--check`, and the files `--write` produced. New `tests/test_repos_sync_opt_in_blocks.py` pins the shared contract per block. Mind suite 725 passed; 1 failure that also fails without this change (`test_the_hook_survives_an_unwritable_tools_dir`, root in the container). +- not done: the full one-declaration-per-surface collapse (option b). Re-file it only if a new generated surface makes it worth it. + +## Original prompt + +# Deduplicate repos_sync.py's check/write pairs + +Type: refactor +Target: pyautomind +Repos: +- PyAutoMind +Themes: +- mind-workflow +- hygiene +Difficulty: large +Autonomy: supervised +Priority: low +Status: formalised +Consequence: notify +Witness: `repos_sync.py` has one declaration per generated surface driving both `check` and `--write`; every CLI flag's output is byte-identical before and after (captured in a test); `tests/test_repos_sync_hygiene_coverage.py` and the firewall_gate.yml legs pass. +Review-minutes: 0 +Unattended: never +Filed: 2026-08-19 (backfilled from git) + +Found by the 2026-08-19 readability-pass census (#248). Behaviour-preserving +refactor of @PyAutoMind/scripts/repos_sync.py (940 lines, no dead functions): + +- Eleven `check_*` functions share the same shape — walk repos, compare a + generated block against the on-disk block, return `list[str]` of problems. +- The `--write` leg has 4 near-identical `write_block(...)` call sites. + +Collapse each check/write pair into one declaration per generated surface — +e.g. a small `Check` dataclass (name, target file, block renderer) driving both +the lazy `checks` dict in `main()` and the `--write` leg, so adding a generated +surface means one new declaration instead of a new function plus a new call +site. All existing CLI flags and outputs stay byte-identical; +`tests/test_repos_sync_hygiene_coverage.py` and the firewall_gate.yml legs are +the safety net. + +## Re-sized 2026-11-05 (queue check-in) — needs a human design call before start + +The premise has moved: `scripts/repos_sync.py` is now 3204 lines (was 940), with +23 check legs. The `--write` leg is no longer a set of uniform `write_block` +pairs: it carries mode gates (`codex_only_write`, `smoke_only_write`, +`standards_only_write`, the held smoke rollout), self-installing marker +insertion (`insert_deliverable_markers`, `write_filing_blocks`) whose ordering +matters, and standards pre-validation that must run before any writer. A +one-`Check`-dataclass collapse therefore has to model write ordering and +mode-exclusive writers — a design fork, not a mechanical dedup. + +Options for the human: (a) narrow to the uniform subset only — the five +`AGENTS.md` marker blocks (map/history/remote/deliverable/filing) plus public +tables — as one declaration table, leaving special writers explicit; (b) keep +the full refactor, re-sized large, phased; (c) park it. Recommendation: (a). diff --git a/draft/bug/pyautomind/repos_sync_test_keys_on_dir_name.md b/complete/2026/11/repos-sync-test-keys-on-dir-name.md similarity index 54% rename from draft/bug/pyautomind/repos_sync_test_keys_on_dir_name.md rename to complete/2026/11/repos-sync-test-keys-on-dir-name.md index 5592275b2..0549c92fe 100644 --- a/draft/bug/pyautomind/repos_sync_test_keys_on_dir_name.md +++ b/complete/2026/11/repos-sync-test-keys-on-dir-name.md @@ -1,3 +1,9 @@ +- summary: already shipped — closed as stale draft. Commit 679b1319f (2026-10-16, "test: Mind suite green on main — shadow line says window reached; standards test keys on PyAutoMind") changed `test_mind_owns_an_exact_generated_block` to key on the literal `specs["PyAutoMind"]`, so the lookup no longer depends on the checkout directory name. +- witness: `pytest tests/test_repos_sync_standards_block.py tests/test_autonomy_log_shadow.py` → 47 passed on main (2026-11-05). +- found by: queue check-in 2026-11-05 (the draft was never closed when the fix landed directly on main). + +## Original prompt + # repos_sync standards-block test keys on the checkout dir name (KeyError in non-canonical worktrees) Type: bug diff --git a/draft/docs/pyautobrain/rtd_organism_currency.md b/complete/2026/11/rtd-organism-currency.md similarity index 71% rename from draft/docs/pyautobrain/rtd_organism_currency.md rename to complete/2026/11/rtd-organism-currency.md index 23a553acf..3e6a1b3b0 100644 --- a/draft/docs/pyautobrain/rtd_organism_currency.md +++ b/complete/2026/11/rtd-organism-currency.md @@ -1,3 +1,9 @@ +- summary: already shipped, closed as a stale draft. PyAutoBrain 1aa2ed4 (#563) renamed `docs/organs/build` to `organs/hands` with a redirect and added Broca to the organ table. 7654757 (merged via #564), both dated 2026-11-03, brought the RTD organism pages up to date: new Nerves, DNA and Broca pages, and the hard-coded organ counts are gone. +- witness: `docs/organs/` on Brain main has nerves.md, hands.md, dna.md and broca.md, and no "five/six organs" phrasing remains in docs/. Commit message: Sphinx warnings 0→0. Both commits are on origin/main, checked 2026-11-05. +- found by: stale-draft sweep 2026-11-05. The shipping session merged without closing the draft. Closure approved by the human. + +## Original prompt + # RTD organism docs currency: Nerves page, organ-count drift, hands.md rename Type: docs diff --git a/draft/feature/pyautoscientist/scientist_minimal_starter.md b/complete/2026/11/scientist-minimal-starter.md similarity index 92% rename from draft/feature/pyautoscientist/scientist_minimal_starter.md rename to complete/2026/11/scientist-minimal-starter.md index 6e4da2328..53f1c1358 100644 --- a/draft/feature/pyautoscientist/scientist_minimal_starter.md +++ b/complete/2026/11/scientist-minimal-starter.md @@ -1,3 +1,8 @@ +- summary: already shipped — Mind#502 / PR #503, record `complete/2026/10/scientist-starter-acceptance.md`; slices PyAutoScientist#62, #64, Mind#499, PyAutoBrain#517/#518. The draft's own "next" points at the sibling `scientist_optional_organ_activation.md`, which stays open. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Minimal independent Scientist starter Type: feature diff --git a/draft/feature/autofit/search_seed_reproducibility.md b/complete/2026/11/search-seed-reproducibility.md similarity index 91% rename from draft/feature/autofit/search_seed_reproducibility.md rename to complete/2026/11/search-seed-reproducibility.md index 5dd4a061f..18c554c08 100644 --- a/draft/feature/autofit/search_seed_reproducibility.md +++ b/complete/2026/11/search-seed-reproducibility.md @@ -1,3 +1,8 @@ +- summary: already shipped — PyAutoFit#1686 (5bf057f2, 2026-10-14; search-ext A4b), record `complete/2026/10/search-ext-a4-decompose.md`: one search-level `seed` with SeedSequence fan-out, seeded dynesty/emcee and an identifier test. +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Give PyAutoFit searches a `seed` — today no search can be made reproducible Type: feature diff --git a/draft/bug/euclid/bundle_sersic_products_read_output_dir_not_sed_output_dir.md b/complete/2026/11/sersic-products-read-sed-output-dir.md similarity index 84% rename from draft/bug/euclid/bundle_sersic_products_read_output_dir_not_sed_output_dir.md rename to complete/2026/11/sersic-products-read-sed-output-dir.md index 354917a76..c4c6cb67e 100644 --- a/draft/bug/euclid/bundle_sersic_products_read_output_dir_not_sed_output_dir.md +++ b/complete/2026/11/sersic-products-read-sed-output-dir.md @@ -1,3 +1,8 @@ +- summary: already shipped — euclid_strong_lens_modeling_pipeline 126167b00 (2026-10-05) "catalogue: read Sersic fits from output_sed…"; `build_inspection_bundle.sh` now documents `SED_OUTPUT_DIR` as holding every Sersic fit (VIS sersic_lens_model/vis and the per-band SED fits). Stage numbering changed since filing (09-17). +- found by: draft-queue sweep 2026-11-05 (read-only audit against the Mind ledger + GitHub commit/PR/code search); closure approved by the human. + +## Original prompt + # Bundle stages 1/5/6 read OUTPUT_DIR, but the SED chain writes sersic_lens_model into SED_OUTPUT_DIR — the Sersic products never appear in a documented bundle build Type: bug diff --git a/draft/maintenance/pyautomind/session_start_hook_copies_regen.md b/complete/2026/11/session-start-hook-copies-regen.md similarity index 74% rename from draft/maintenance/pyautomind/session_start_hook_copies_regen.md rename to complete/2026/11/session-start-hook-copies-regen.md index 32ef9e59b..a3abdf0f6 100644 --- a/draft/maintenance/pyautomind/session_start_hook_copies_regen.md +++ b/complete/2026/11/session-start-hook-copies-regen.md @@ -1,3 +1,10 @@ +- summary: shipped, closed. The 2026-09-29 sweep PRs landed. On HEAD of all 27 swept repos, `.claude/hooks/session-start.sh` is byte-identical to Mind's canonical `policy/session_start_hook.sh`, and so are the Brain, Cortex and Memory copies. PyAutoMemory#106 merged 2026-09-30. +- witness: the Witness (`repos_sync.py --check` hooks leg reporting 0 mismatches across the organism) was NOT run, because the sibling repos are not cloned in this session. The evidence is a per-repo raw-file comparison against the canonical hook. In this session's 4-repo checkout, the hooks leg reads "OK (4 of 50 checked out, 1 excluded)". +- unverified: the human-only `.github/profile/README.md` patch. If it is still outstanding, it is the human's to apply. No task tracks it. +- found by: stale-draft sweep 2026-11-05. Closure approved by the human. + +## Original prompt + # Regenerate the 28 drifted `.claude/hooks/session-start.sh` copies after the organ-order change Type: maintenance diff --git a/complete/index.md b/complete/index.md index 27ca71010..6c0f6c7c8 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. -2141 records across 11 buckets. +2170 records across 11 buckets. ## Highlights @@ -123,6 +123,9 @@ markers; everything below GENERATED is rebuilt. - [alw-optdeps-escapes](2026/11/alw-optdeps-escapes.md) - [arcticpy-lazy-import](2026/11/arcticpy-lazy-import.md) +- [arxiv-edge-refuses-stdlib-urllib](2026/11/arxiv-edge-refuses-stdlib-urllib.md) — superseded by a different fix — closed. Commit 4d8290555 (2026-09-20, "fix: fall back to curl when arXiv rejec… +- [arxiv-refs-api-errors](2026/11/arxiv-refs-api-errors.md) — already shipped — closed as stale draft. PyAutoMemory#143 (merged 2026-11-03, merge 1f22de7; commits 0c3e2dc, … +- [autocti-render-yml-blocked-dup](2026/11/autocti-render-yml-blocked-dup.md) — superseded/shipped — autocti_visualization#8 (2026-10-23), record `complete/2026/10/autocti-viz-render-from-ma… - [autonomous-orchestrators-p1](2026/11/autonomous-orchestrators-p1.md) — phase 1 of 7; epic draft/feature/pyautobrain/autonomous_orchestrators_epic.md - [autonomous-orchestrators-p2](2026/11/autonomous-orchestrators-p2.md) — phase 2 of 7; epic draft/feature/pyautobrain/autonomous_orchestrators_epic.md - [autonomous-orchestrators-p3a](2026/11/autonomous-orchestrators-p3a.md) — phase 3a of 3a–3d; epic draft/feature/pyautobrain/autonomous_orchestrators_epic.md @@ -132,26 +135,39 @@ markers; everything below GENERATED is rebuilt. - [autonomous-orchestrators-p4a](2026/11/autonomous-orchestrators-p4a.md) — phase 4a of 4a–4c; epic draft/feature/pyautobrain/autonomous_orchestrators_epic.md - [autonomous-orchestrators-p4b](2026/11/autonomous-orchestrators-p4b.md) — phase 4b of 4a–4c; epic draft/feature/pyautobrain/autonomous_orchestrators_epic.md - [batch-watch-live-view](2026/11/batch-watch-live-view.md) — pilot 4c follow-up; issue PyAutoBrain#575 +- [board-without-gh-phase2-legs](2026/11/board-without-gh-phase2-legs.md) — already shipped, closed as a stale draft. PyAutoBrain 15317af (merged via #564, 2026-11-03) "phase 2 — the rem… - [brain-hygiene-cleanup-bugs](2026/11/brain-hygiene-cleanup-bugs.md) - [chapter2-continuation](2026/11/chapter2-continuation.md) — All continuation scope merged: Tutorials 5 and 6, optional speed and runnable model_centred prior passing, sum… - [cloud-validation-rehearsal-clock-skew](2026/11/cloud-validation-rehearsal-clock-skew.md) +- [compile-drift-single-sample](2026/11/compile-drift-single-sample.md) — shipped in PyAutoBrain#588 (merge e822697, 2026-11-05), commit ed0782c. Decision: option (a), taken by the age… +- [cortex-projects-dashboard-parent](2026/11/cortex-projects-dashboard-parent.md) — parent closed. Phase 1, the presentation change, shipped in PyAutoBrain#526 (merge 92de427, 2026-10-15; record… - [cti-database-examples-drift](2026/11/cti-database-examples-drift.md) - [cti-fits-fit-output-dir](2026/11/cti-fits-fit-output-dir.md) - [cti-likelihood-pins](2026/11/cti-likelihood-pins.md) — cti-upkeep phase 0b - [cti-release-train-wiring](2026/11/cti-release-train-wiring.md) +- [dr1-rgb-flip-superseded](2026/11/dr1-rgb-flip-superseded.md) — superseded by the human 2026-10-30 (the draft's own banner); `complete/2026/10/sky-orientation-dr1-p1.md` reco… +- [ell-comps-disk-constraint-dup](2026/11/ell-comps-disk-constraint-dup.md) — already shipped before it was filed — PyAutoFit#1538 (96dad519) + PyAutoGalaxy#589 (merge 0fbe863d, 2026-08-28… +- [eyes-group-cluster-gallery](2026/11/eyes-group-cluster-gallery.md) — superseded by human decision — autolens_visualization#5 and #14, record `complete/2026/10/viz-all-dataset-type… +- [eyes-multi-galaxy-gallery](2026/11/eyes-multi-galaxy-gallery.md) — superseded by human decision — autolens_visualization#5 (+ 465fc508 datasets), record `complete/2026/10/viz-al… - [generate-converter-preflight](2026/11/generate-converter-preflight.md) +- [glance-shadow-window-reached](2026/11/glance-shadow-window-reached.md) — already shipped — closed as stale draft. Item 1 (code): commit 679b1319f (2026-10-16) made `shadow_count_line(… - [glance-tier-ruling](2026/11/glance-tier-ruling.md) — prerequisite for phase 4 unattended merges; epic draft/feature/pyautobrain/autonomous_orchestrators_epic.md - [gradient-campaign-impact](2026/11/gradient-campaign-impact.md) — human-requested assessment of whether the two PyAutoArray#671 defects affected the likelihood-lifecycle phase-… +- [gradient-json-point-label](2026/11/gradient-json-point-label.md) — already shipped — autolens_profiling#518 (9d2ee2d3d, merged 2026-11-02 22:38, filed 16:18 the same day) record… - [howto-chapter2-format](2026/11/howto-chapter2-format.md) — Restored descriptive contents for Lens lessons 1–4 and complete ordered contents for Galaxy lessons 1–6, corre… - [howto-prose-format](2026/11/howto-prose-format.md) - [howtogalaxy-ch3-parity](2026/11/howtogalaxy-ch3-parity.md) — Ported the approved HowToLens Chapter 3 teaching improvements to directly observed galaxies: Goldilocks/log-ev… - [howtolens-ch2-explanations](2026/11/howtolens-ch2-explanations.md) — Completed the approved Chapter 2 rewrite, including explicit parameter-space explanations, delayed linear-prof… - [howtolens-ch3-approved](2026/11/howtolens-ch3-approved.md) — Implemented all 66 approved Chapter 3 prose blocks, restored Fit Problems and introductory positivity/mapping-… - [howtolens-chapter2](2026/11/howtolens-chapter2.md) — Applied approved tutorials 1–4, optional Prodigy introduction, notebook generation and navigation. Later Chapt… +- [hpc-cache-off-home-euclid](2026/11/hpc-cache-off-home-euclid.md) — already shipped — euclid_strong_lens_modeling_pipeline 37034f22 (2026-09-25, default branch) "activate.sh: kee… - [hpc-campaign-p5a-assistant](2026/11/hpc-campaign-p5a-assistant.md) — phase 5a; ledger draft/research/autofit/hpc_campaign_epic.md - [hygiene-extras-tomllib](2026/11/hygiene-extras-tomllib.md) - [hygiene-refs-false-positives](2026/11/hygiene-refs-false-positives.md) +- [intake-memory-line-organ-targets](2026/11/intake-memory-line-organ-targets.md) — already shipped — closed as stale draft. The `_with_memory` gate in `agents/conductors/intake/_intake.py` land… +- [jax-joss-benchmark-repo](2026/11/jax-joss-benchmark-repo.md) — already shipped — PyAutoLabs/autolens_jax_joss: 9c66b020 (birth, 10 benchmark scripts), 64204f69 (A100 sweep o… - [latest-per-test-tie](2026/11/latest-per-test-tie.md) — test_autofit/results/test_identity.py::test_latest_per_keeps_the_latest_sibling flaked (main red at 963ff296a, +- [lifecycle-p3-designation-proposals](2026/11/lifecycle-p3-designation-proposals.md) — decided and shipped — the human approved all 39 designations (datacube/delaunay gpu_a100 held provisional); Py… - [likelihood-lifecycle-p3-day-zero-pages](2026/11/likelihood-lifecycle-p3-day-zero-pages.md) - [likelihood-lifecycle-p3-day-zero-stamp](2026/11/likelihood-lifecycle-p3-day-zero-stamp.md) - [likelihood-lifecycle-p3-setup-baseline-close](2026/11/likelihood-lifecycle-p3-setup-baseline-close.md) @@ -167,18 +183,31 @@ markers; everything below GENERATED is rebuilt. - [magnification-maps-image-plane](2026/11/magnification-maps-image-plane.md) - [magnification-maps-source-plane](2026/11/magnification-maps-source-plane.md) - [magnification-maps-uncertainty](2026/11/magnification-maps-uncertainty.md) +- [multistart-gradient-quick-update](2026/11/multistart-gradient-quick-update.md) — already shipped — PyAutoFit#1556 (merged 2026-09-01) wires iterations_per_quick_update into the MultiStart gra… - [multistart-resume-cadence](2026/11/multistart-resume-cadence.md) — 2 → 100 +- [nautilus-ep-use-jax-guard](2026/11/nautilus-ep-use-jax-guard.md) — superseded — PyAutoFit 196abf39a (2026-10-08) "Analysis.is_jax as the single JAX probe": Nautilus reads `analy… +- [nautilus-pin-tracks-autofit](2026/11/nautilus-pin-tracks-autofit.md) — already shipped — PyAutoNerves#169 (merge 8eca4b3, 2026-09-15), record `complete/2026/09/colab-bootstrap-lazy-… +- [nerves-false-workspace-stale](2026/11/nerves-false-workspace-stale.md) — already shipped — PyAutoNerves#203 (issue #202, merged 2026-10-17), record `complete/2026/10/workspace-freshne… - [nightly-token-refresh](2026/11/nightly-token-refresh.md) - [numba-fork-safe-threading](2026/11/numba-fork-safe-threading.md) +- [numba-gate-retune-superseded](2026/11/numba-gate-retune-superseded.md) — superseded — PyAutoArray#632 (17caf228), records `complete/2026/10/interferometer-numba-route-gate.md` and `de… - [numba-num-threads-pin-delaunay-nn](2026/11/numba-num-threads-pin-delaunay-nn.md) - [one-line-auto-simulate-helper](2026/11/one-line-auto-simulate-helper.md) +- [point-magnification-api](2026/11/point-magnification-api.md) — already shipped — PyAutoLens#798 (f791ac77) + autolens_workspace#598 (0f8b4db5), records `complete/2026/10/poi… - [rectangular-gradient-rtu-sparse](2026/11/rectangular-gradient-rtu-sparse.md) — the filed symptom (|g| ~2e9 on the imaging/rectangular/hst fiducial, RTU all backends, Bilinear CPU sparse) sp… - [rectangular-mapper-bilinear-row-weights](2026/11/rectangular-mapper-bilinear-row-weights.md) — - **Retired as already-fixed** by the gradient-correctness sweep (autolens_profiling#517, item 12). The draft … - [registry-reconcile-app-token](2026/11/registry-reconcile-app-token.md) +- [repos-sync-optin-block](2026/11/repos-sync-optin-block.md) — shipped in PyAutoMind#539 (commit dc471e1d6), narrowed scope: option (a) of the 2026-11-05 re-size, chosen by … +- [repos-sync-test-keys-on-dir-name](2026/11/repos-sync-test-keys-on-dir-name.md) — already shipped — closed as stale draft. Commit 679b1319f (2026-10-16, "test: Mind suite green on main — shado… - [results-library-p2-completeness](2026/11/results-library-p2-completeness.md) — phase 2; ledger draft/feature/autofit/results_library_epic.md - [results-library-p3-exports](2026/11/results-library-p3-exports.md) — phase 3; ledger draft/feature/autofit/results_library_epic.md - [results-library-p4-package](2026/11/results-library-p4-package.md) — phase 4; ledger draft/feature/autofit/results_library_epic.md - [results-library-p5b-cortex](2026/11/results-library-p5b-cortex.md) — phase 5b; ledger draft/feature/autofit/results_library_epic.md +- [rtd-organism-currency](2026/11/rtd-organism-currency.md) — already shipped, closed as a stale draft. PyAutoBrain 1aa2ed4 (#563) renamed `docs/organs/build` to `organs/ha… +- [scientist-minimal-starter](2026/11/scientist-minimal-starter.md) — already shipped — Mind#502 / PR #503, record `complete/2026/10/scientist-starter-acceptance.md`; slices PyAuto… +- [search-seed-reproducibility](2026/11/search-seed-reproducibility.md) — already shipped — PyAutoFit#1686 (5bf057f2, 2026-10-14; search-ext A4b), record `complete/2026/10/search-ext-a… +- [sersic-products-read-sed-output-dir](2026/11/sersic-products-read-sed-output-dir.md) — already shipped — euclid_strong_lens_modeling_pipeline 126167b00 (2026-10-05) "catalogue: read Sersic fits fro… +- [session-start-hook-copies-regen](2026/11/session-start-hook-copies-regen.md) — shipped, closed. The 2026-09-29 sweep PRs landed. On HEAD of all 27 swept repos, `.claude/hooks/session-start.… - [shift-digest-readable-picks](2026/11/shift-digest-readable-picks.md) — pilot 4c follow-up; issue PyAutoBrain#579 - [simulate-if-needed-workspace-sweep](2026/11/simulate-if-needed-workspace-sweep.md) - [tutorial-link-sweep](2026/11/tutorial-link-sweep.md) diff --git a/dashboard.html b/dashboard.html index 24c8ed0aa..fb5e968a3 100644 --- a/dashboard.html +++ b/dashboard.html @@ -327,8 +327,8 @@ Keep track of decisions and outstanding questions throughout this conversation. After changes, report what was recorded, where it lives and what remains to do. Work on GitHub: -- Open Mind repository: https://github.com/PyAutoLabs/PyAutoMind
Last updated 2026-11-05 21:30:12 UTC
↻ Update

- +- Open Mind repository: https://github.com/PyAutoLabs/PyAutoMind
Last updated 2026-11-05 21:37:47 UTC
↻ Update

+
Batch 2026-11-05-pm — 0 in progress · 0 awaiting review

Nothing to review yet.

Start here

24
@@ -336,7 +336,6 @@

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

autolens_assistant leg of the PyAutoLabs AI-options page (deferred from #87)📖 docsautolens_assistantsmallsupervisedhigh

test_latent_euclid_variables_traces_under_jax_jit went red on main: total_source_flux differs by 6% between jax.jit…🐛 bugeuclidsmallsupervisedhigh

SED chain waveband fit can spin forever in Nautilus exploration…🐛 bugeuclidsmallsupervisedhigh

-

arXiv's Fastly edge refuses urllib.request outright — retrying a 406 only delays…🐛 bugpyautomindsmallsupervisedhigh

Fix KNN neighbor search for a partial final point block🐛 bugautoarraymediumsupervisedhigh

Sparse (w-tilde) inversion fits the unsubtracted image when a regular light profile…🐛 bugautoarraymediumsupervisedhigh

@autofit_inference B5c-2a-rerun: re-pilot the 80 Emcee/Zeus rows lost to the harness bug…🔬 researchautofit_inferencemediumsupervisedhigh

@@ -345,33 +344,33 @@

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

Fix Sibson interpolation at internal edges🐛 bugautoarraylargesupervisedhigh

-

Fits a slot (ready to run unattended, cheapest to review first) — showing 12 of 92

+ +

Fits a slot (ready to run unattended, cheapest to review first) — showing 12 of 81

Guard every workspace script against untimed network downloads🧪 testautolens_workspacesmallsafemedium

- -

Board phase 2: the remaining four legs onto the seam✨ featurepyautobrainsmallsafenormal

Use readthedocs or migrate to GitHub docs🔬 researchpyautohandssmallsupervisednormal

batch slice — the decomposition pass for needs-slicing prompts✨ featurepyautobrainmediumsupervisednormal

Remove the dead EDEN packaging tooling from PyAutoFit♻️ refactorpyautofitmediumsupervisednormal

PyAutoMemory canonical-key TODO sweep🧹 maintenancepyautomemorymediumsafenormal

+

Demo subplot_ellipse_errors from a real ellipse model-fit📖 docsworkspaceslargesupervisednormal

+

Epics

21

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.

-CTI upkeep parity — release-train wiring and first modern autocti release, arcticpy modernisation (upstream 2.7 / wheels, DNA, docs), integration-test parity (smoke coverage, workspace_test rebuild, 3.12–3.14 matrix, docs build), autocti_profiling + Pulse cti row, figures/assistant/docs currency, hygiene — 6 queued prompt(s), in order +CTI upkeep parity — release-train wiring and first modern autocti release, arcticpy modernisation (upstream 2.7 / wheels, DNA, docs), integration-test parity (smoke coverage, workspace_test rebuild, 3.12–3.14 matrix, docs build), autocti_profiling + Pulse cti row, figures/assistant/docs currency, hygiene — 5 queued prompt(s), in order

CTI upkeep parity — release-train wiring and first modern autocti release, arcticpy modernisation (upstream 2.7 / wheels, DNA, docs), integration-test parity (smoke coverage, workspace_test rebuild, 3.12–3.14 matrix, docs build), autocti_profiling + Pulse cti row, figures/assistant/docs currency, hygiene — ledger: draft/maintenance/autocti/cti_upkeep_epic.md — FILED 2026-11-04 — survey in draft/maintenance/autocti/cti_upkeep_epic_report.md; R1–R6 RULED 2026-11-04 (arcticpy fixed upstream…

-

Heart/DNA: bump the arcticpy pin after the upstream release, re-pin CTI values🧹 maintenancepyautoheartmediumhuman-requirednormal

-Likelihood lifecycle — optimal setups baked into PyAutoLens (setup="auto"), Pulse/Insight day zero, mirrored autolens_profiling / autolens_inference trees, and one repeatable profiling → validation → gradient → sampler sequence per likelihood — 8 queued prompt(s), in order +Likelihood lifecycle — optimal setups baked into PyAutoLens (setup="auto"), Pulse/Insight day zero, mirrored autolens_profiling / autolens_inference trees, and one repeatable profiling → validation → gradient → sampler sequence per likelihood — 7 queued prompt(s), in order

Likelihood lifecycle — optimal setups baked into PyAutoLens (setup="auto"), Pulse/Insight day zero, mirrored autolens_profiling / autolens_inference trees, and one repeatable profiling → validation → gradient → sampler sequence per likelihood — ledger: draft/research/autolens_profiling/likelihood_lifecycle_epic.md — PHASE 0 COMPLETE 2026-10-24 — 0A PyAutoPulse#70; 0B autolens_profiling#444/#447/#448/#449/#450/#451 + PyAutoPulse#74 (lens at…

Gradient cost hazard on RAL CPU: value_and_grad above 4x the forward call…✨ featureautolens_profilingmediumsupervisedlow

@@ -380,7 +379,6 @@

Fits a slot (ready to run unattended, cheapest to revie

Likelihood lifecycle epic: optimal setups baked into PyAutoLens, Pulse/Insight day zero…🔬 researchautolens_profilingtoo-largehuman-requiredhigh

-

Likelihood lifecycle phase 3: designation proposals for the completed campaigns…🔬 researchautolens_profilinglargehuman-requiredhigh

LensTwin — observation-anchored digital twins of fitted strong lenses: al.twins in PyAutoLens, mass-normalisation primitives in PyAutoGalaxy, used from ordinary Science/active projects, and the first stellar-plus-dark-matter identifiability experiment (ERC dark-matter cores vs cusps) — 2 queued prompt(s), in order @@ -451,11 +449,10 @@

Fits a slot (ready to run unattended, cheapest to revie

autolens_inference — inference benchmarking repo, birth to first base run — ledger: https://github.com/PyAutoLabs/PyAutoInsight/blob/main/campaigns.yaml

Linear-solver accuracy/tolerance programme — a standing autolens_profiling package for positive-only solver studies — ledger: autolens_profiling/wiki/campaigns/linear_solver_accuracy.md (contract: complete/2026/09/linear-solver-accuracy-study.md) — phase 2 SHIPPED 2026-09-30 — PyAutoArray#595 merged (7a89e19a0, forward polish; pending release) + autolens_profiling#357 merged…

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

Cluster strong lensing — Source & Cluster arc — ledger: draft/feature/autolens/source_cluster_arc.md — In progress — 1a–1d, phase 3a audit (profiling#364, workspace_test#341) and phase 3b field-preserving cap fix (Galaxy#646…

- @@ -470,14 +467,13 @@

Fits a slot (ready to run unattended, cheapest to revie

-Scientist adoption pilot — project resources, clear organ destinations and a growing independent Scientist — 7 queued prompt(s), in order +Scientist adoption pilot — project resources, clear organ destinations and a growing independent Scientist — 6 queued prompt(s), in order

Scientist adoption pilot — project resources, clear organ destinations and a growing independent Scientist — ledger: draft/feature/pyautoscientist/collaborator_led_pyautoscientist_adoption_pilot.md — In progress — project cards and organ-linked resource routing merged and published (Scientist PRs #56 and #58); remaining members…

Broca communication ownership and inventory contract✨ featurepyautobrocamediumsupervised

Broca communication documentation and workspaces✨ featurepyautobrocalargesupervisednormal

Broca documentation and workspace upkeep pilot✨ featurepyautobrocamediumsupervised

Collaborator-led PyAutoScientist adoption pilot✨ featurepyautoscientisttoo-largesupervisednormal

Independent collaborator validation✨ featurepyautoscientistmediumsupervised

-

Minimal independent Scientist starter✨ featurepyautoscientistmediumsupervised

Progressive optional organ activation✨ featurepyautoscientistmediumsupervised

@@ -486,13 +482,12 @@

Fits a slot (ready to run unattended, cheapest to revie

-interferometer-likelihood-campaign — 6 queued prompt(s) — ⚠️ not in epics.md +interferometer-likelihood-campaign — 5 queued prompt(s) — ⚠️ not in epics.md -
certified-positive-solver — 2 queued prompt(s) — ⚠️ not in epics.md @@ -500,9 +495,7 @@

Fits a slot (ready to run unattended, cheapest to revie

-pyautoeyes-birth — 4 queued prompt(s) — ⚠️ not in epics.md -

autolens_visualization: multi-galaxy gallery — producer and dataset✨ featurepyautoeyesmediumsupervisednormal

- +pyautoeyes-birth — 2 queued prompt(s) — ⚠️ not in epics.md

Hands release.yml fires the visualization re-render dispatches✨ featurepyautohandssmallsupervisednormal

autofit_visualization — seed every sampler so re-renders are byte-stable🧹 maintenanceautofit_visualizationsmallsafenormal

@@ -532,8 +525,8 @@

Fits a slot (ready to run unattended, cheapest to revie

interferometer-primary-beam-persistence-mirror — filed 2026-10-21 — ready — PyAutoLens claim released 2026-10-21 (point-dataset-positions-panel shipped…

point-plots-yaml-keys-assistant — filed 2026-10-22 — unblocked 2026-10-23 — cosmos-web-ring-notebook merged (autolens_assistant#161, complete/2026/10/cosmos-web-ring-notebook.md)…

-

Backlog

268
-

Lanes: any 258 · local-dev 8

+

Backlog

240
+

Lanes: any 232 · local-dev 6

Human review — 2

Human review: the scaling_relation slam parks (imaging un-parked, multi_galaxy kept)👀 human_reviewautolens_workspacenormal — flagged for review 2026-08-29

-bug — 66 +feature — 35 + + + + + + +

COOLEST: export MGE lens light and pixelized sources as pixel grids✨ featureautolensmediumsupervisedmedium

+

A dedicated Documentation conductor in PyAutoBrain✨ featurepyautobrainmediumsupervisedmedium

+

Nightly run of one HowTo tutorial per chapter at real settings✨ featurepyautoheartmediumsupervisedmedium

+

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

+

bump_colab_urls.sh: cover autolens_assistant Colab links✨ featurepyautohandssmallsafenormal

+

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

+

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

+ +

batch slice — the decomposition pass for needs-slicing prompts✨ featurepyautobrainmediumsupervisednormal

+ + +

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

+ +

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

+

Multi-plane time delays✨ featureautolenslargesupervisednormal

+

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

+

Restore lensing-of-lens in the multiple_sources workspace example✨ featureworkspaceslargesupervisednormal

+

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

+

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

+ +

Animated logos for PyAutoGalaxy and PyAutoFit✨ featurepyautoscientistmediumsafelow

+

Deferred: make the *Power adapt classes the defaults (breaking)✨ featureautoarraylargehuman-requiredlow

+ +

Simplify reading-queue token management✨ featurepyautomemory

+
+
+bug — 53 -

Fix KNN neighbor search for a partial final point block🐛 bugautoarraymediumsupervisedhigh

Fix Sibson interpolation at internal edges🐛 bugautoarraylargesupervisedhigh

@@ -580,10 +610,7 @@

Fits a slot (ready to run unattended, cheapest to revie - - - @@ -592,19 +619,15 @@

Fits a slot (ready to run unattended, cheapest to revie - - -

SLaM simultaneous subhalo grid search fits last band only🐛 bugautolens_workspacesmallsafenormal

- @@ -612,69 +635,22 @@

Fits a slot (ready to run unattended, cheapest to revie -

CI timing must compare equivalent executed job coverage🐛 bughealth_fixesmediumsupervisednormal

Heart Health rerun cannot publish after main advances🐛 bughealth_fixesmediumsupervisednormal

-

Resolve release-profile timeout scripts deliberately🐛 bughealth_fixestoo-largesupervisednormal

Priors & Messages cleanup — tracker🐛 bugpriorstoo-largesupervisednormal

-

Colab pins nautilus-sampler==1.0.4 while PyAutoFit declares 1.0.5🐛 bugautonervestrivialsupervisednormal

Point-source JSON datasets record no resolution regime🐛 bugpyautolensmediumsupervisedlow

- - -

-
-feature — 39 - - - - - - -

COOLEST: export MGE lens light and pixelized sources as pixel grids✨ featureautolensmediumsupervisedmedium

-

A dedicated Documentation conductor in PyAutoBrain✨ featurepyautobrainmediumsupervisedmedium

-

Nightly run of one HowTo tutorial per chapter at real settings✨ featurepyautoheartmediumsupervisedmedium

-

Board phase 2: the remaining four legs onto the seam✨ featurepyautobrainsmallsafenormal

-

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

-

bump_colab_urls.sh: cover autolens_assistant Colab links✨ featurepyautohandssmallsafenormal

-

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

-

A joint unit-disk constraint (or reparameterisation) for ell_comps✨ featureautogalaxymediumsupervisednormal

-

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

- -

batch slice — the decomposition pass for needs-slicing prompts✨ featurepyautobrainmediumsupervisednormal

- - -

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

- -

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

-

Multi-plane time delays✨ featureautolenslargesupervisednormal

-

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

-

Restore lensing-of-lens in the multiple_sources workspace example✨ featureworkspaceslargesupervisednormal

-

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

- -

Animated logos for PyAutoGalaxy and PyAutoFit✨ featurepyautoscientistmediumsafelow

-

Deferred: make the *Power adapt classes the defaults (breaking)✨ featureautoarraylargehuman-requiredlow

- - -

Simplify reading-queue token management✨ featurepyautomemory

research — 20 @@ -700,7 +676,7 @@

Fits a slot (ready to run unattended, cheapest to revie

-docs — 25 +docs — 24

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

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

@@ -708,7 +684,6 @@

Fits a slot (ready to run unattended, cheapest to revie

Adapt image is the S/N map: fix the prose and assess…📖 docsautogalaxylargesupervisedmedium

-

docs/api/plot.rst omits already-exported plot symbols📖 docsautolensmediumsafenormal

Demo subplot_ellipse_errors from a real ellipse model-fit📖 docsworkspaceslargesupervisednormal

@@ -728,10 +703,9 @@

Fits a slot (ready to run unattended, cheapest to revie

-maintenance — 17 +maintenance — 15

Reduce the organism's per-session and per-task token load by half🧹 maintenanceorgansmediumsupervisedhigh

CTI upkeep parity — bring PyAutoCTI and its satellites to the same…🧹 maintenanceautoctitoo-largehuman-requiredhigh

-

Keep caches off $HOME on HPC — phase 2 remainder: euclid pipeline…🧹 maintenanceworkspacessmallsupervisedmedium

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

@@ -745,10 +719,9 @@

Fits a slot (ready to run unattended, cheapest to revie

Deferred Heart dashboard housekeeping after release recovery🧹 maintenancepyautoheartlargehuman-requiredlow

-

-refactor — 13 +refactor — 12

Example Analysis should reduce with xp.sum not builtin sum♻️ refactorautofitsmallsafenormal

@@ -760,7 +733,6 @@

Fits a slot (ready to run unattended, cheapest to revie

Repo cleanup: retire the Abell 1201 worktree and local raw data♻️ refactorworkspacessmallhuman-requiredlow

Trim autogalaxy_assistant skills toward their autolens size♻️ refactorautogalaxy_assistantmediumsupervisedlow

-

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

@@ -804,6 +776,12 @@

Fits a slot (ready to run unattended, cheapest to revie 2026-11-05 +filed +Close-out guard: catch shipped work whose Mind draft was never… + + + +2026-11-05 issued A shift opens at dispatched:, not when its brief lands @@ -815,12 +793,6 @@

Fits a slot (ready to run unattended, cheapest to revie -2026-11-03 -filed -intake classify --file injects an unrelated Memory: line on… - - - 2026-11-02 filed Unexplained autodiff-vs-FD gaps in the phase-6 gradient records… @@ -828,12 +800,6 @@

Fits a slot (ready to run unattended, cheapest to revie 2026-11-02 -filed -Standard-size gradient cells record "point": "prior_medians" while… - - - -2026-11-02 issued Magnification maps 8d: wire into fit subplots and make them pretty @@ -844,7 +810,7 @@

Fits a slot (ready to run unattended, cheapest to revie Issued: 2026-11-02 - + 2026-11-02 filed Imaging sparse-operator path gives a very different log L from dense… @@ -961,22 +927,10 @@

Fits a slot (ready to run unattended, cheapest to revie 2026-10-16 filed -repos_sync standards-block test keys on the checkout dir name… - - - -2026-10-16 -filed Re-measure the shapelets/modeling.py SLOW park (#586) under the… -2026-10-16 -filed -Glance shadow window reached 20/20 clean — count line must say… - - - 2026-10-14 filed @autofit_workspace six searches/ scripts fail on main at… @@ -985,22 +939,10 @@

Fits a slot (ready to run unattended, cheapest to revie 2026-10-14 filed -Human-readable Cortex Projects dashboard - - - -2026-10-14 -filed Cortex output summaries — phase 2 -2026-10-09 -filed -Profiling conductor compile drift compares one point against one point - - - 2026-10-08 filed JAX_ENABLE_X64=False is overridden to True, so the fp32 inference… @@ -1061,12 +1003,6 @@

Fits a slot (ready to run unattended, cheapest to revie -2026-09-29 -filed -Regenerate the 28 drifted .claude/hooks/session-start.sh copies… - - - 2026-09-27 filed Sparse interferometer inversion: jax.grad of the log-evidence terms… @@ -1084,6 +1020,42 @@

Fits a slot (ready to run unattended, cheapest to revie Building a JAX Fitness then calling register_tracer_classes raises… + +2026-09-26 +filed +bump_colab_urls.sh: cover autolens_assistant Colab links + + + +2026-09-26 +filed +Repo cleanup: retire the Abell 1201 worktree and local raw data + + + +2026-09-25 +filed +test_latent_euclid_variables_traces_under_jax_jit went red on main… + + + +2026-09-24 +filed +euclid_dr1: run the positions gate over DR1 and submit the remodel set + + + +2026-09-23 +filed +multi_dataset/jax_likelihood/delaunay.py asserts the wrong likelihood… + + + +2026-09-18 +filed +autolens_workspace: __Model__ bullets whose profiles or parameter… + +

Pending release

2
diff --git a/dashboard.md b/dashboard.md index f7be0ad90..a302eea41 100644 --- a/dashboard.md +++ b/dashboard.md @@ -12,7 +12,7 @@ | [Epics](#epics) | 21 | | [In flight](#in-flight) | 8 | | [Planned](#planned) | 9 | -| [Backlog](#backlog) | 268 | +| [Backlog](#backlog) | 240 | | [Recent](#recent) | 50 | | [Pending release](#pending-release) | 2 | @@ -49,14 +49,6 @@ Use the start-dev skill. draft/bug/euclid/sed_chain_waveband_fit_can_spin_foreve
-
📋 arXiv's Fastly edge refuses urllib.request outright — retrying a 406 only delays… — pyautomind · small · supervised · high - -``` -Use the start-dev skill. draft/bug/pyautomind/arxiv_edge_refuses_the_stdlib_urllib_client.md -``` - -
-
📋 Fix KNN neighbor search for a partial final point block — autoarray · medium · supervised · high ``` @@ -121,7 +113,15 @@ Use the start-dev skill. draft/research/euclid/euclid_dr1_positions_gate_remodel
-**Fits a slot** (ready to run unattended, cheapest to review first) — showing 12 of 92 +
📋 Close-out guard: catch shipped work whose Mind draft was never closed, whatever… — pyautobrain · large · supervised · high + +``` +Use the start-dev skill. draft/feature/pyautobrain/close_out_guard_catch_shipped_work_whose.md +``` + +
+ +**Fits a slot** (ready to run unattended, cheapest to review first) — showing 12 of 81
📋 Guard every workspace script against untimed network downloads — autolens_workspace · small · safe · medium @@ -163,58 +163,58 @@ Use the start-dev skill. draft/test/autolens_workspace_test/latent_smoke_asserti
-
📋 RTD organism docs currency: Nerves page, organ-count drift, hands.md rename — pyautobrain · small · supervised · normal +
📋 Use readthedocs or migrate to GitHub docs — pyautohands · small · supervised · normal ``` -Use the start-dev skill. draft/docs/pyautobrain/rtd_organism_currency.md +Use the start-dev skill. draft/research/pyautohands/git_docs.md ```
-
📋 Board phase 2: the remaining four legs onto the seam — pyautobrain · small · safe · normal +
📋 Verify jax.jit / jax.grad parity on the critical-curve and caustic calculations — autolens_workspace_test · medium · safe · normal ``` -Use the start-dev skill. draft/feature/pyautobrain/board_without_gh_phase2_legs.md +Use the start-dev skill. draft/test/autolens_workspace_test/jax_zero_contour.md ```
-
📋 Use readthedocs or migrate to GitHub docs — pyautohands · small · supervised · normal +
📋 batch slice — the decomposition pass for needs-slicing prompts — pyautobrain · medium · supervised · normal ``` -Use the start-dev skill. draft/research/pyautohands/git_docs.md +Use the start-dev skill. draft/feature/pyautobrain/batch_slice.md ```
-
📋 Verify jax.jit / jax.grad parity on the critical-curve and caustic calculations — autolens_workspace_test · medium · safe · normal +
📋 Remove the dead EDEN packaging tooling from PyAutoFit — pyautofit · medium · supervised · normal ``` -Use the start-dev skill. draft/test/autolens_workspace_test/jax_zero_contour.md +Use the start-dev skill. draft/refactor/pyautofit/remove_eden_packaging_tooling.md ```
-
📋 batch slice — the decomposition pass for needs-slicing prompts — pyautobrain · medium · supervised · normal +
📋 PyAutoMemory canonical-key TODO sweep — pyautomemory · medium · safe · normal ``` -Use the start-dev skill. draft/feature/pyautobrain/batch_slice.md +Use the start-dev skill. draft/maintenance/pyautomemory/canonical_key_todo_sweep.md ```
-
📋 Remove the dead EDEN packaging tooling from PyAutoFit — pyautofit · medium · supervised · normal +
📋 Demo subplot_ellipse_errors from a real ellipse model-fit — workspaces · large · supervised · normal ``` -Use the start-dev skill. draft/refactor/pyautofit/remove_eden_packaging_tooling.md +Use the start-dev skill. draft/docs/workspaces/demo_subplot_ellipse_errors.md ```
-
📋 PyAutoMemory canonical-key TODO sweep — pyautomemory · medium · safe · normal +
📋 cluster/mass_parameterizations*.py promise model.info prints (and figures) they never make — autolens_workspace · small · supervised · low ``` -Use the start-dev skill. draft/maintenance/pyautomemory/canonical_key_todo_sweep.md +Use the start-dev skill. draft/docs/autolens_workspace/cluster_mass_parameterizations_print_and_draw_every_model.md ```
@@ -224,7 +224,7 @@ Use the start-dev skill. draft/maintenance/pyautomemory/canonical_key_todo_sweep Long-running multi-phase programmes. Each epic's 📋 prompt has the assistant 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).
-CTI upkeep parity — release-train wiring and first modern autocti release, arcticpy modernisation (upstream 2.7 / wheels, DNA, docs), integration-test parity (smoke coverage, workspace_test rebuild, 3.12–3.14 matrix, docs build), autocti_profiling + Pulse cti row, figures/assistant/docs currency, hygiene — 6 queued prompt(s), in order +CTI upkeep parity — release-train wiring and first modern autocti release, arcticpy modernisation (upstream 2.7 / wheels, DNA, docs), integration-test parity (smoke coverage, workspace_test rebuild, 3.12–3.14 matrix, docs build), autocti_profiling + Pulse cti row, figures/assistant/docs currency, hygiene — 5 queued prompt(s), in order
📋 CTI upkeep parity — release-train wiring and first modern autocti release, arcticpy modernisation (upstream 2.7 / wheels, DNA, docs), integration-test parity (smoke coverage, workspace_test rebuild, 3.12–3.14 matrix, docs build), autocti_profiling + Pulse cti row, figures/assistant/docs currency, hygiene — ledger: `draft/maintenance/autocti/cti_upkeep_epic.md` — FILED 2026-11-04 — survey in draft/maintenance/autocti/cti_upkeep_epic_report.md; R1–R6 RULED 2026-11-04 (arcticpy fixed upstream… @@ -242,14 +242,6 @@ Use the start-dev skill. draft/bug/autocti_visualization/manifest_rendered_with_
-
📋 autocti_visualization render.yml fails on the released stack until PyAutoCTI releases — autocti_visualization · small · supervised · normal - -``` -Use the start-dev skill. draft/bug/autocti_visualization/render_yml_blocked_until_pyautocti_release.md -``` - -
-
📋 Rewrite PyAutoCTI docs/api — 55 of 89 autosummary entries are dead — autocti · medium · supervised · normal ``` @@ -285,7 +277,7 @@ Use the start-dev skill. draft/release/arcticpy/upstream_packaging_pr.md
-Likelihood lifecycle — optimal setups baked into PyAutoLens (setup="auto"), Pulse/Insight day zero, mirrored autolens_profiling / autolens_inference trees, and one repeatable profiling → validation → gradient → sampler sequence per likelihood — 8 queued prompt(s), in order +Likelihood lifecycle — optimal setups baked into PyAutoLens (setup="auto"), Pulse/Insight day zero, mirrored autolens_profiling / autolens_inference trees, and one repeatable profiling → validation → gradient → sampler sequence per likelihood — 7 queued prompt(s), in order
📋 Likelihood lifecycle — optimal setups baked into PyAutoLens (setup="auto"), Pulse/Insight day zero, mirrored autolens_profiling / autolens_inference trees, and one repeatable profiling → validation → gradient → sampler sequence per likelihood — ledger: `draft/research/autolens_profiling/likelihood_lifecycle_epic.md` — PHASE 0 COMPLETE 2026-10-24 — 0A PyAutoPulse#70; 0B autolens_profiling#444/#447/#448/#449/#450/#451 + PyAutoPulse#74 (lens at… @@ -351,14 +343,6 @@ Use the start-dev skill. draft/research/autolens_profiling/likelihood_lifecycle_
-
📋 Likelihood lifecycle phase 3: designation proposals for the completed campaigns… — autolens_profiling · large · human-required · high - -``` -Use the start-dev skill. draft/research/autolens_profiling/likelihood_lifecycle_p3_designation_proposals.md -``` - -
-
@@ -716,7 +700,7 @@ Continue the 'Linear-solver accuracy/tolerance programme — a standing autolens
-Cluster strong lensing — Source & Cluster arc — 15 queued prompt(s), in order +Cluster strong lensing — Source & Cluster arc — 14 queued prompt(s), in order
📋 Cluster strong lensing — Source & Cluster arc — ledger: `draft/feature/autolens/source_cluster_arc.md` — In progress — 1a–1d, phase 3a audit (profiling#364, workspace_test#341) and phase 3b field-preserving cap fix (Galaxy#646… @@ -742,14 +726,6 @@ Use the start-dev skill. draft/test/workspaces/mesh_magnification_correctness.md
-
📋 Magnification at a point: surface the existing API in source_science + point… — autolens · large · supervised · high - -``` -Use the start-dev skill. draft/feature/autolens/point_magnification_api.md -``` - -
-
📋 Magnification maps: image-plane contour maps, source-plane mesh maps, uncertainty maps — autolens · large · supervised · high ``` @@ -849,7 +825,7 @@ Use the start-dev skill. draft/research/autolens_inference/kernel_regularization
-Scientist adoption pilot — project resources, clear organ destinations and a growing independent Scientist — 7 queued prompt(s), in order +Scientist adoption pilot — project resources, clear organ destinations and a growing independent Scientist — 6 queued prompt(s), in order
📋 Scientist adoption pilot — project resources, clear organ destinations and a growing independent Scientist — ledger: `draft/feature/pyautoscientist/collaborator_led_pyautoscientist_adoption_pilot.md` — In progress — project cards and organ-linked resource routing merged and published (Scientist PRs #56 and #58); remaining members… @@ -899,14 +875,6 @@ Use the start-dev skill. draft/feature/pyautoscientist/scientist_collaborator_va
-
📋 Minimal independent Scientist starter — pyautoscientist · medium · supervised - -``` -Use the start-dev skill. draft/feature/pyautoscientist/scientist_minimal_starter.md -``` - -
-
📋 Progressive optional organ activation — pyautoscientist · medium · supervised ``` @@ -939,7 +907,7 @@ Use the start-dev skill. draft/feature/pyautobrain/autonomous_orchestrators_epic
-interferometer-likelihood-campaign — 6 queued prompt(s) — ⚠️ not in `epics.md` +interferometer-likelihood-campaign — 5 queued prompt(s) — ⚠️ not in `epics.md`
📋 RAL PyAuto venv: third-party packages below the library floors… — pyautoheart · easy · supervised · medium @@ -981,14 +949,6 @@ Use the start-dev skill. draft/feature/autoarray/interferometer_direct_conv_pran
-
📋 Retune the interferometer numba gate 60 → 70 (in-situ crossover, autolens_profiling#332) — autoarray · small · supervised · low - -``` -Use the start-dev skill. draft/feature/autoarray/interferometer_numba_gate_retune_70.md -``` - -
-
@@ -1013,23 +973,7 @@ Use the start-dev skill. draft/feature/autofit/certified_solver_batched_guard_c2
-pyautoeyes-birth — 4 queued prompt(s) — ⚠️ not in `epics.md` - -
📋 autolens_visualization: multi-galaxy gallery — producer and dataset — pyautoeyes · medium · supervised · normal - -``` -Use the start-dev skill. draft/feature/pyautoeyes/multi_galaxy_gallery.md -``` - -
- -
📋 autolens_visualization: group and cluster galleries (point-source + extended) — pyautoeyes · large · supervised · normal - -``` -Use the start-dev skill. draft/feature/pyautoeyes/group_cluster_gallery.md -``` - -
+pyautoeyes-birth — 2 queued prompt(s) — ⚠️ not in `epics.md`
📋 Hands release.yml fires the visualization re-render dispatches — pyautohands · small · supervised · normal @@ -1211,7 +1155,7 @@ Use the start-dev skill. draft/docs/autolens_assistant/point_plots_yaml_keys.md ## Backlog -Lanes: any 258 · local-dev 8 +Lanes: any 232 · local-dev 6
@@ -1262,849 +1206,713 @@ regenerate the dashboard. If I do not sign it off, file the follow-up with
-bug — 66 +feature — 35 -
📋 test_latent_euclid_variables_traces_under_jax_jit went red on main: total_source_flux differs by 6% between jax.jit… — euclid · small · supervised · high +
📋 Eyes cluster visualization group: render every cluster/point-source figure for PyAutoEyes — autolens_visualization · large · supervised · high ``` -Use the start-dev skill. draft/bug/euclid/latent_total_source_flux_jax_vs_numpy_regression.md +Use the start-dev skill. draft/feature/autolens_visualization/eyes_cluster_visualization_group_render_every_cl.md ```
-
📋 SED chain waveband fit can spin forever in Nautilus exploration… — euclid · small · supervised · high +
📋 Close-out guard: catch shipped work whose Mind draft was never closed, whatever… — pyautobrain · large · supervised · high ``` -Use the start-dev skill. draft/bug/euclid/sed_chain_waveband_fit_can_spin_forever.md +Use the start-dev skill. draft/feature/pyautobrain/close_out_guard_catch_shipped_work_whose.md ```
-
📋 arXiv's Fastly edge refuses urllib.request outright — retrying a 406 only delays… — pyautomind · small · supervised · high +
📋 Inversion.source_clumps_from needs a robust scale — thresholding against the raw maximum finds… — autoarray · small · supervised · medium ``` -Use the start-dev skill. draft/bug/pyautomind/arxiv_edge_refuses_the_stdlib_urllib_client.md +Use the start-dev skill. draft/feature/autoarray/source_clumps_robust_scale.md ```
-
📋 Fix KNN neighbor search for a partial final point block — autoarray · medium · supervised · high +
📋 autofit_assistant: a skill that owns loading the user's data and its selection… — autofit_assistant · small · safe · medium ``` -Use the start-dev skill. draft/bug/autoarray/fix_knn_neighbor_search_for_a_partial.md +Use the start-dev skill. draft/feature/autofit_assistant/data_loading_and_selection_cuts_skill.md ```
-
📋 Sparse (w-tilde) inversion fits the unsubtracted image when a regular light profile… — autoarray · medium · supervised · high +
📋 Filed: 2026-11-05 (phase 2 of autolens_profiling#519; Pulse task PyAutoPulse/tasks/numba_num_threads_pin_and_delaunay_nn_remeasure.md steps 2-4) — autolens_profiling · small · medium ``` -Use the start-dev skill. draft/bug/autoarray/sparse_inversion_ignores_profile_subtracted_image.md +Use the start-dev skill. draft/feature/autolens_profiling/delaunay_nn_numba_optimal_remeasure_after_677.md ```
-
📋 Fix Sibson interpolation at internal edges — autoarray · large · supervised · high +
📋 Which other searches need prior-support handling — coverage audit after Prodigy — autofit · medium · safe · medium ``` -Use the start-dev skill. draft/bug/autoarray/fix_sibson_interpolation_at_internal_edges.md +Use the start-dev skill. draft/feature/autofit/prior_exit_sampler_coverage.md ```
-
📋 Investigate Euclid Einstein-radius latent uncertainty collapse — autofit · too-large · supervised · high +
📋 COOLEST: export MGE lens light and pixelized sources as pixel grids — autolens · medium · supervised · medium ``` -Use the start-dev skill. draft/bug/autofit/investigate_euclid_einstein_radius_latent_uncert.md +Use the start-dev skill. draft/feature/autolens/coolest_pixel_grid_export.md ```
-
📋 Fix release result/sample parameter-path regressions — health_fixes · too-large · supervised · high +
📋 A dedicated Documentation conductor in PyAutoBrain — pyautobrain · medium · supervised · medium ``` -Use the start-dev skill. draft/bug/health_fixes/samples_parameter_paths.md +Use the start-dev skill. draft/feature/pyautobrain/docs_conductor.md ```
-
📋 Filed: 2026-11-05 (found by the autolens_profiling#519 worker-route witness) — autoarray · small · medium +
📋 Nightly run of one HowTo tutorial per chapter at real settings — pyautoheart · medium · supervised · medium ``` -Use the start-dev skill. draft/bug/autoarray/sibson_serial_kernel_loses_allocation_hoisting.md +Use the start-dev skill. draft/feature/pyautoheart/howto_real_settings_nightly.md ```
-
📋 Interferometer galaxy_image_dict drops a mixed galaxy's ordinary light (dict merge overwrites) — autogalaxy · small · supervised · medium +
📋 Brain board follow-ups: what real mornings surface — pyautobrain · small · supervised · normal ``` -Use the start-dev skill. draft/bug/autogalaxy/galaxy_image_dict_mixed_galaxy_overwrites_ordinary_light.md +Use the start-dev skill. draft/feature/pyautobrain/brain_board_follow_ups.md ```
-
📋 Reverse-mode jax.grad of MGE deflections returns NaN when the profile centre lands… — autogalaxy · small · supervised · medium +
📋 bump_colab_urls.sh: cover autolens_assistant Colab links — pyautohands · small · safe · normal ``` -Use the start-dev skill. draft/bug/autogalaxy/mge_deflections_reverse_mode_nan_at_grid_centre.md +Use the start-dev skill. draft/feature/pyautohands/bump_colab_urls_autolens_assistant.md ```
-
📋 imaging/features/pixelization/delaunay.py sits on the 300 s smoke cap… — autolens_workspace · small · safe · medium +
📋 Can create a list of InversionMatrix objects for each dataset — autoarray · medium · supervised · normal ``` -Use the start-dev skill. draft/bug/autolens_workspace/delaunay_smoke_300s_cap.md +Use the start-dev skill. draft/feature/autoarray/multiwavelength_inversion.md ```
-
📋 subhalo/sensitivity/slam_source_pixelized.py fails on main: al.MapperValued no longer exists — autolens_workspace · small · supervised · medium +
📋 Tune cluster-scale JOSS benchmarks toward their 5-minute targets — autolens_workspace · medium · safe · normal ``` -Use the start-dev skill. draft/bug/autolens_workspace/sensitivity_slam_source_pixelized_mappervalued.md +Use the start-dev skill. draft/feature/autolens_workspace/joss_cluster_benchmark_tuning.md ```
-
📋 Bundle stages 1/5/6 read OUTPUT_DIR, but the SED chain writes sersic_lens_model… — euclid · small · supervised · medium +
📋 Upstream the DR1 final-catalogue tooling to the pipeline, with a vis_lp-only appendix… — euclid · medium · supervised · normal ``` -Use the start-dev skill. draft/bug/euclid/bundle_sersic_products_read_output_dir_not_sed_output_dir.md +Use the start-dev skill. draft/feature/euclid/upstream_dr1_final_catalogue_tooling.md ```
-
📋 vis_lp passes batch_size=50 to af.Nautilus, which has no such parameter — euclid · small · supervised · medium +
📋 batch slice — the decomposition pass for needs-slicing prompts — pyautobrain · medium · supervised · normal ``` -Use the start-dev skill. draft/bug/euclid/vis_lp_batch_size_kwarg_silently_ignored.md +Use the start-dev skill. draft/feature/pyautobrain/batch_slice.md ```
-
📋 Profiling conductor compile drift compares one point against one point — pyautobrain · small · supervised · medium +
📋 The imaging features/advanced/los_halos example needs improving and padding out before — workspaces · medium · safe · normal ``` -Use the start-dev skill. draft/bug/pyautobrain/profiling_compile_drift_point_vs_point.md +Use the start-dev skill. draft/feature/workspaces/group_los_halos.md ```
-
📋 arxiv_refs.py swallows every API error, so an arXiv outage resolves nothing… — pyautomemory · small · supervised · medium +
📋 The imaging features/advanced/subhalo/sensitivity example needs improving and padding out before — workspaces · medium · safe · normal ``` -Use the start-dev skill. draft/bug/pyautomemory/arxiv_refs_swallows_every_api_error_silently.md +Use the start-dev skill. draft/feature/workspaces/group_subhalo_sensitivity.md ```
-
📋 Adaptive Delaunay mesh places two mesh pixels 0.001" apart — a degenerate… — autoarray · medium · supervised · medium +
📋 EP analytic updates — implement the four planned work packages — autofit · large · supervised · normal ``` -Use the start-dev skill. draft/bug/autoarray/adaptive_mesh_degenerate_pixel_pair.md +Use the start-dev skill. draft/feature/autofit/ep_analytic_updates.md ```
-
📋 Interferometer log_evidence fails (LinAlgError / NaN) at large regularization coefficients the jitted… — autoarray · medium · supervised · medium +
📋 Skip the likelihood for assertion-violating samples on the JAX path — autofit · large · supervised · normal ``` -Use the start-dev skill. draft/bug/autoarray/interferometer_log_evidence_large_regularization_coefficient_cholesky.md +Use the start-dev skill. draft/feature/autofit/skip_the_likelihood_for_assertion_violating_samp.md ```
-
📋 Sparse interferometer terms: NUFFT ignores the mask origin and provenance cannot see… — autoarray · medium · supervised · medium +
📋 Remote-MCP deployment tiers (2 + 3) for the results-inspector server — autofit_assistant · large · human-required · normal ``` -Use the start-dev skill. draft/bug/autoarray/sparse_terms_nufft_origin_and_mask_compatibility.md +Use the start-dev skill. draft/feature/autofit_assistant/remote_mcp_deployment_tiers.md ```
-
📋 Imaging sparse-operator path gives a very different log L from dense… — autoarray · medium · supervised · medium +
📋 Multi-plane time delays — autolens · large · supervised · normal ``` -Use the start-dev skill. draft/bug/autoarray/sparse_vs_dense_log_likelihood_mismatch_nonlinear_lens_light.md +Use the start-dev skill. draft/feature/autolens/multi_plane_time_delays.md ```
-
📋 Cluster likelihood scripts: image-plane manual check disagrees with the library; point_0 truth… — autolens_workspace · medium · supervised · medium +
📋 Adopt oversampled PSFs in the start-here dataset chain (option a) — autolens_workspace · large · supervised · normal ``` -Use the start-dev skill. draft/bug/autolens_workspace/cluster_likelihood_scripts_preexisting_mismatches.md +Use the start-dev skill. draft/feature/autolens_workspace/oversampled_psf_dataset_adoption.md ```
-
📋 imaging/start_here: 26-minute XLA compile of the 48-start Prodigy multi-start on CPU — autolens_workspace · medium · supervised · medium +
📋 Restore lensing-of-lens in the multiple_sources workspace example — workspaces · large · supervised · normal ``` -Use the start-dev skill. draft/bug/autolens_workspace/start_here_multistart_compile_time.md +Use the start-dev skill. draft/feature/workspaces/restore_multiple_sources_lensing_of_lens.md ```
-
📋 Visualization warm-up swallowed for ellipse and point-source analyses — autofit · large · supervised · medium +
📋 Follow-up to rectangular_adapt_cdf.md (issue #322) and Path A — autoarray · too-large · supervised · normal ``` -Use the start-dev skill. draft/bug/autofit/visualization_warmup_swallowed_exception.md +Use the start-dev skill. draft/feature/autoarray/rectangular_multi_submesh.md ```
-
📋 SimulatorImaging draws Poisson noise before checking add_poisson_noise_to_data — autoarray · low · safe · medium +
📋 PIEMass.potential_2d_from: implement the missing lensing potential — autogalaxy · too-large · supervised · normal ``` -Use the start-dev skill. draft/bug/autoarray/simulator_imaging_poisson_drawn_before_flag_check.md +Use the start-dev skill. draft/feature/autogalaxy/piemass_potential.md ```
-
📋 Standard-size gradient cells record "point": "prior_medians" while evaluating at iid draw 0 — autolens_profiling · easy · supervised · medium +
📋 Context: PyAutoLens issue #542 follow-up (Gap 1, deferred during the — jax_substructure · too-large · supervised · normal ``` -Use the start-dev skill. draft/bug/autolens_profiling/gradient_json_point_label_standard_cells.md +Use the start-dev skill. draft/feature/jax_substructure/5_prng_key_vmap_noise.md ```
-
📋 Glance shadow window reached 20/20 clean — count line must say "reached"… — pyautomind · easy · supervised · medium +
📋 Context: PyAutoLens issue #542 follow-up (Gap 2, deferred during the — jax_substructure · too-large · supervised · normal ``` -Use the start-dev skill. draft/bug/pyautomind/glance_shadow_window_reached.md +Use the start-dev skill. draft/feature/jax_substructure/6_deflection_equivalence_test.md ```
-
📋 rectangular.py parity contract: absolute-nats bound, and import autogalaxy before jax — workspaces · easy · supervised · medium +
📋 dPIE: optional central-dispersion (sigma_0) parameterization — autogalaxy · small · supervised · low ``` -Use the start-dev skill. draft/bug/workspaces/rectangular_parity_absolute_bound_and_x64_import_order.md +Use the start-dev skill. draft/feature/autogalaxy/dpie_sigma0_parameterization.md ```
-
📋 Building a JAX Fitness then calling register_tracer_classes raises "Duplicate custom PyTreeDef type… — autoarray · small · supervised · normal +
📋 PyAutoLens mirror of the interferometer primary-beam persistence (docstring + round-trip test) — autolens · small · safe · low ``` -Use the start-dev skill. draft/bug/autoarray/galaxy_duplicate_pytree_registration_after_jax_fitness.md +Use the start-dev skill. draft/feature/autolens/interferometer_primary_beam_persistence_mirror.md ```
-
📋 DatasetModel with a free grid_offset cannot round-trip autofit.jax.register_model — autofit · small · safe · normal +
📋 Release board: local run_logs enrichment — pyautohands · small · supervised · low ``` -Use the start-dev skill. draft/bug/autofit/dataset_model_free_grid_offset_pytree_roundtrip.md +Use the start-dev skill. draft/feature/pyautohands/release_board_run_logs_enrichment.md ```
-
📋 Nautilus as an EP default_optimiser crashes on PriorFactors (reads analysis._use_jax unguarded) — autofit · small · safe · normal +
📋 Gallery runner: add visualization_upper + decide the modeling_visualization_jit tier — workspaces · small · safe · low ``` -Use the start-dev skill. draft/bug/autofit/nautilus_ep_default_optimiser_reads_use_jax_unguarded.md +Use the start-dev skill. draft/feature/workspaces/gallery_runner_missing_tiers.md ```
-
📋 autofit: Samples.with_paths / without_paths break on factor-graph fits with shared priors — autofit · small · supervised · normal +
📋 Animated logos for PyAutoGalaxy and PyAutoFit — pyautoscientist · medium · safe · low ``` -Use the start-dev skill. draft/bug/autofit/samples_with_paths_shared_prior_factor_graph.md +Use the start-dev skill. draft/feature/pyautoscientist/animated_logos_for_pyautogalaxy_and_pyautofit.md ```
-
📋 Stale enable_pytrees register_model advice in NUTS and SMC errors and searches docs — autofit · small · safe · normal +
📋 Deferred: make the *Power adapt classes the defaults (breaking) — autoarray · large · human-required · low ``` -Use the start-dev skill. draft/bug/autofit/stale_enable_pytrees_register_model_advice_in.md +Use the start-dev skill. draft/feature/autoarray/adapt_linear_default_flip.md ```
-
📋 PlotterEllipse.fit_ellipse writes every variant to ellipse_fit.png, so only the last survives — autogalaxy · small · normal +
📋 Cortex output summaries — phase 2 — cortex ``` -Use the start-dev skill. draft/bug/autogalaxy/ellipse_plotter_fit_ellipse_overwrites.md +Use the start-dev skill. draft/feature/cortex/output_summary.md ```
-
📋 Move the positions_threshold test fixture off the symmetry axis — autolens · small · safe · normal +
📋 Simplify reading-queue token management — pyautomemory ``` -Use the start-dev skill. draft/bug/autolens/positions_threshold_fixture_off_axis.md +Use the start-dev skill. draft/feature/pyautomemory/reading-queue-token-management.md ```
-
📋 SLaM simultaneous subhalo grid search fits last band only — autolens_workspace · small · safe · normal +
+ +
+bug — 53 + +
📋 test_latent_euclid_variables_traces_under_jax_jit went red on main: total_source_flux differs by 6% between jax.jit… — euclid · small · supervised · high ``` -Use the start-dev skill. draft/bug/autolens_workspace/slam_simultaneous_subhalo_grid_search_fits_last.md +Use the start-dev skill. draft/bug/euclid/latent_total_source_flux_jax_vs_numpy_regression.md ```
-
📋 JAX_ENABLE_X64=False is overridden to True, so the fp32 inference leg runs fp64… — autonerves · small · supervised · normal +
📋 SED chain waveband fit can spin forever in Nautilus exploration… — euclid · small · supervised · high ``` -Use the start-dev skill. draft/bug/autonerves/jax_enable_x64_env_ignored_and_fp32_leg_runs_fp64.md +Use the start-dev skill. draft/bug/euclid/sed_chain_waveband_fit_can_spin_forever.md ```
-
📋 intake classify --file injects an unrelated Memory: line on organ-targeted prompts — pyautobrain · small · supervised · normal +
📋 Fix KNN neighbor search for a partial final point block — autoarray · medium · supervised · high ``` -Use the start-dev skill. draft/bug/pyautobrain/intake_classify_file_drops_declared_epic_phase.md +Use the start-dev skill. draft/bug/autoarray/fix_knn_neighbor_search_for_a_partial.md ```
-
📋 Convolver "No blurring_image provided" warning in canonical workspace scripts — workspaces · small · safe · normal +
📋 Sparse (w-tilde) inversion fits the unsubtracted image when a regular light profile… — autoarray · medium · supervised · high ``` -Use the start-dev skill. draft/bug/workspaces/convolver_blurring_image_warning.md +Use the start-dev skill. draft/bug/autoarray/sparse_inversion_ignores_profile_subtracted_image.md ```
-
📋 A non-uniform over_sample_size costs several times more JAX compile than a uniform… — autoarray · medium · supervised · normal +
📋 Fix Sibson interpolation at internal edges — autoarray · large · supervised · high ``` -Use the start-dev skill. draft/bug/autoarray/non_uniform_over_sample_jax_compile_cost.md +Use the start-dev skill. draft/bug/autoarray/fix_sibson_interpolation_at_internal_edges.md ```
-
📋 vmap(jit) likelihood recompiles once per distinct Nautilus batch length — autofit · medium · supervised · normal +
📋 Investigate Euclid Einstein-radius latent uncertainty collapse — autofit · too-large · supervised · high ``` -Use the start-dev skill. draft/bug/autofit/vmap_jit_recompiles_per_nautilus_batch_length.md +Use the start-dev skill. draft/bug/autofit/investigate_euclid_einstein_radius_latent_uncert.md ```
-
📋 LensCalc tangential caustic on a masked grid differs ~27 % in ellipticity… — autogalaxy · medium · supervised · normal +
📋 Fix release result/sample parameter-path regressions — health_fixes · too-large · supervised · high ``` -Use the start-dev skill. draft/bug/autogalaxy/lenscalc_masked_grid_caustic_differs_from_unmasked.md +Use the start-dev skill. draft/bug/health_fixes/samples_parameter_paths.md ```
-
📋 JIT cache not hit in modeling_visualization delaunay/rectangular scripts — autolens · medium · safe · normal +
📋 Filed: 2026-11-05 (found by the autolens_profiling#519 worker-route witness) — autoarray · small · medium ``` -Use the start-dev skill. draft/bug/autolens/jit_cache_not_hit_modeling_visualization.md +Use the start-dev skill. draft/bug/autoarray/sibson_serial_kernel_loses_allocation_hoisting.md ```
-
📋 Profile multi_galaxy/start_here.py's release cost and retire its 3600s override — autolens_workspace · medium · supervised · normal +
📋 Interferometer galaxy_image_dict drops a mixed galaxy's ordinary light (dict merge overwrites) — autogalaxy · small · supervised · medium ``` -Use the start-dev skill. draft/bug/autolens_workspace/multi_galaxy_start_here_release_cost.md +Use the start-dev skill. draft/bug/autogalaxy/galaxy_image_dict_mixed_galaxy_overwrites_ordinary_light.md ```
-
📋 multi_dataset/jax_likelihood/delaunay.py asserts the wrong likelihood on main (−72070 vs 1995) — autolens_workspace_test · medium · supervised · normal +
📋 Reverse-mode jax.grad of MGE deflections returns NaN when the profile centre lands… — autogalaxy · small · supervised · medium ``` -Use the start-dev skill. draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_delaunay_wrong_likelihood.md +Use the start-dev skill. draft/bug/autogalaxy/mge_deflections_reverse_mode_nan_at_grid_centre.md ```
-
📋 PyAutoNerves emits a false "workspace is stale, git pull" warning… — autonerves · medium · supervised · normal +
📋 imaging/features/pixelization/delaunay.py sits on the 300 s smoke cap… — autolens_workspace · small · safe · medium ``` -Use the start-dev skill. draft/bug/autonerves/pyautonerves_emits_a_false_workspace_is_stale.md +Use the start-dev skill. draft/bug/autolens_workspace/delaunay_smoke_300s_cap.md ```
-
📋 CI timing must compare equivalent executed job coverage — health_fixes · medium · supervised · normal +
📋 subhalo/sensitivity/slam_source_pixelized.py fails on main: al.MapperValued no longer exists — autolens_workspace · small · supervised · medium ``` -Use the start-dev skill. draft/bug/health_fixes/ci_timing_execution_coverage.md +Use the start-dev skill. draft/bug/autolens_workspace/sensitivity_slam_source_pixelized_mappervalued.md ```
-
📋 Heart Health rerun cannot publish after main advances — health_fixes · medium · supervised · normal +
📋 vis_lp passes batch_size=50 to af.Nautilus, which has no such parameter — euclid · small · supervised · medium ``` -Use the start-dev skill. draft/bug/health_fixes/heart_health_rerun_stale_push.md +Use the start-dev skill. draft/bug/euclid/vis_lp_batch_size_kwarg_silently_ignored.md ```
-
📋 @PyAutoFit TransformedMessage.logpdf/pdf omit the transform Jacobian — priors · medium · supervised · normal +
📋 Adaptive Delaunay mesh places two mesh pixels 0.001" apart — a degenerate… — autoarray · medium · supervised · medium ``` -Use the start-dev skill. draft/bug/priors/15_transformed_message_logpdf_jacobian.md -``` - -
- -
📋 MultiStartGradient searches ignore iterations_per_quick_update and live_visual_update while announcing the cadence… — autofit · large · supervised · normal - -``` -Use the start-dev skill. draft/bug/autofit/multistartgradient_searches_ignore_iterations_pe.md -``` - -
- -
📋 Resolve release-profile timeout scripts deliberately — health_fixes · too-large · supervised · normal - -``` -Use the start-dev skill. draft/bug/health_fixes/release_timeout_policy.md -``` - -
- -
📋 @PyAutoFit Refactor: each density should live in one place, not three — priors · too-large · supervised · normal - -``` -Use the start-dev skill. draft/bug/priors/12_single_source_density_refactor.md -``` - -
- -
📋 @PyAutoFit Refactor: collapse the Prior / Message two-layer hierarchy — priors · too-large · supervised · normal - -``` -Use the start-dev skill. draft/bug/priors/13_collapse_prior_and_message.md -``` - -
- -
📋 @PyAutoFit Refactor: replace hand-rolled AbstractDensityTransform with tfp.bijectors / numpyro.distributions.transforms — priors · too-large · supervised · normal - -``` -Use the start-dev skill. draft/bug/priors/14_replace_transform_stack_with_bijectors.md -``` - -
- -
📋 Priors & Messages cleanup — tracker — priors · too-large · supervised · normal - -``` -Use the start-dev skill. draft/bug/priors/z_features.md -``` - -
- -
📋 Colab pins nautilus-sampler==1.0.4 while PyAutoFit declares 1.0.5 — autonerves · trivial · supervised · normal - -``` -Use the start-dev skill. draft/bug/autonerves/nautilus_sampler_pin_drifts_from_pyautofit.md -``` - -
- -
📋 sub_slim_indexes_for_pix_index appends -1 row padding to the last pixel's list — autoarray · small · supervised · low - -``` -Use the start-dev skill. draft/bug/autoarray/sub_slim_indexes_for_pix_index_padding.md -``` - -
- -
📋 Aggregator reload of an in-memory sparse-operator interferometer fit silently falls back… — autogalaxy · small · supervised · low - -``` -Use the start-dev skill. draft/bug/autogalaxy/aggregator_reload_drops_sparse_operator.md -``` - -
- -
📋 Database-path searches cannot reload dataset.fits (written to disk, never registered via save_fits) — autogalaxy · small · supervised · low - -``` -Use the start-dev skill. draft/bug/autogalaxy/database_paths_dataset_fits_not_registered.md -``` - -
- -
📋 @autolens_profiling stale auto-simulated dataset/cluster/simple is never regenerated — autolens_profiling · small · supervised · low - -``` -Use the start-dev skill. draft/bug/autolens_profiling/stale_auto_simulated_cluster_dataset.md -``` - -
- -
📋 The reconstruction noise map is not the truncated posterior the NNLS solve… — autoarray · medium · human-required · low - -``` -Use the start-dev skill. draft/bug/autoarray/reconstruction_noise_map_truncated_posterior.md -``` - -
- -
📋 Point-source JSON datasets record no resolution regime — pyautolens · medium · supervised · low - -``` -Use the start-dev skill. draft/bug/pyautolens/point_source_json_datasets_record_no_regime.md -``` - -
- -
📋 repos_sync standards-block test keys on the checkout dir name… — pyautomind · easy · safe-capped · low - -``` -Use the start-dev skill. draft/bug/pyautomind/repos_sync_test_keys_on_dir_name.md -``` - -
- -
📋 Same-class q-clamp and bare-sqrt ellipticity gradient sites (follow-up to PyAutoGalaxy#631) — autogalaxy - -``` -Use the start-dev skill. draft/bug/autogalaxy/q_clamp_and_bare_sqrt_ellipticity_grad_sweep.md -``` - -
- -
📋 autolens_workspace point_source/plot.py crashes: residual_map (4,2) vs (5,2) broadcast; the model solves 5… — autolens · human-required - -``` -Use the start-dev skill. draft/bug/autolens/point_source_plot_script_residual_shape_mismatch.md -``` - -
- -
📋 euclid_dr1: every dataset rgb.jpg is upside down relative to the VIS FITS… — euclid · supervised - -``` -Use the start-dev skill. draft/bug/euclid/euclid_dr1_flip_rgb_jpg_upside_down.md +Use the start-dev skill. draft/bug/autoarray/adaptive_mesh_degenerate_pixel_pair.md ```
-
- -
-feature — 39 - -
📋 Eyes cluster visualization group: render every cluster/point-source figure for PyAutoEyes — autolens_visualization · large · supervised · high +
📋 Interferometer log_evidence fails (LinAlgError / NaN) at large regularization coefficients the jitted… — autoarray · medium · supervised · medium ``` -Use the start-dev skill. draft/feature/autolens_visualization/eyes_cluster_visualization_group_render_every_cl.md +Use the start-dev skill. draft/bug/autoarray/interferometer_log_evidence_large_regularization_coefficient_cholesky.md ```
-
📋 Inversion.source_clumps_from needs a robust scale — thresholding against the raw maximum finds… — autoarray · small · supervised · medium +
📋 Sparse interferometer terms: NUFFT ignores the mask origin and provenance cannot see… — autoarray · medium · supervised · medium ``` -Use the start-dev skill. draft/feature/autoarray/source_clumps_robust_scale.md +Use the start-dev skill. draft/bug/autoarray/sparse_terms_nufft_origin_and_mask_compatibility.md ```
-
📋 autofit_assistant: a skill that owns loading the user's data and its selection… — autofit_assistant · small · safe · medium +
📋 Imaging sparse-operator path gives a very different log L from dense… — autoarray · medium · supervised · medium ``` -Use the start-dev skill. draft/feature/autofit_assistant/data_loading_and_selection_cuts_skill.md +Use the start-dev skill. draft/bug/autoarray/sparse_vs_dense_log_likelihood_mismatch_nonlinear_lens_light.md ```
-
📋 Filed: 2026-11-05 (phase 2 of autolens_profiling#519; Pulse task PyAutoPulse/tasks/numba_num_threads_pin_and_delaunay_nn_remeasure.md steps 2-4) — autolens_profiling · small · medium +
📋 Cluster likelihood scripts: image-plane manual check disagrees with the library; point_0 truth… — autolens_workspace · medium · supervised · medium ``` -Use the start-dev skill. draft/feature/autolens_profiling/delaunay_nn_numba_optimal_remeasure_after_677.md +Use the start-dev skill. draft/bug/autolens_workspace/cluster_likelihood_scripts_preexisting_mismatches.md ```
-
📋 Which other searches need prior-support handling — coverage audit after Prodigy — autofit · medium · safe · medium +
📋 imaging/start_here: 26-minute XLA compile of the 48-start Prodigy multi-start on CPU — autolens_workspace · medium · supervised · medium ``` -Use the start-dev skill. draft/feature/autofit/prior_exit_sampler_coverage.md +Use the start-dev skill. draft/bug/autolens_workspace/start_here_multistart_compile_time.md ```
-
📋 Give PyAutoFit searches a seed — today no search can be made… — autofit · medium · safe · medium +
📋 Visualization warm-up swallowed for ellipse and point-source analyses — autofit · large · supervised · medium ``` -Use the start-dev skill. draft/feature/autofit/search_seed_reproducibility.md +Use the start-dev skill. draft/bug/autofit/visualization_warmup_swallowed_exception.md ```
-
📋 COOLEST: export MGE lens light and pixelized sources as pixel grids — autolens · medium · supervised · medium +
📋 SimulatorImaging draws Poisson noise before checking add_poisson_noise_to_data — autoarray · low · safe · medium ``` -Use the start-dev skill. draft/feature/autolens/coolest_pixel_grid_export.md +Use the start-dev skill. draft/bug/autoarray/simulator_imaging_poisson_drawn_before_flag_check.md ```
-
📋 A dedicated Documentation conductor in PyAutoBrain — pyautobrain · medium · supervised · medium +
📋 rectangular.py parity contract: absolute-nats bound, and import autogalaxy before jax — workspaces · easy · supervised · medium ``` -Use the start-dev skill. draft/feature/pyautobrain/docs_conductor.md +Use the start-dev skill. draft/bug/workspaces/rectangular_parity_absolute_bound_and_x64_import_order.md ```
-
📋 Nightly run of one HowTo tutorial per chapter at real settings — pyautoheart · medium · supervised · medium +
📋 Building a JAX Fitness then calling register_tracer_classes raises "Duplicate custom PyTreeDef type… — autoarray · small · supervised · normal ``` -Use the start-dev skill. draft/feature/pyautoheart/howto_real_settings_nightly.md +Use the start-dev skill. draft/bug/autoarray/galaxy_duplicate_pytree_registration_after_jax_fitness.md ```
-
📋 Board phase 2: the remaining four legs onto the seam — pyautobrain · small · safe · normal +
📋 DatasetModel with a free grid_offset cannot round-trip autofit.jax.register_model — autofit · small · safe · normal ``` -Use the start-dev skill. draft/feature/pyautobrain/board_without_gh_phase2_legs.md +Use the start-dev skill. draft/bug/autofit/dataset_model_free_grid_offset_pytree_roundtrip.md ```
-
📋 Brain board follow-ups: what real mornings surface — pyautobrain · small · supervised · normal +
📋 autofit: Samples.with_paths / without_paths break on factor-graph fits with shared priors — autofit · small · supervised · normal ``` -Use the start-dev skill. draft/feature/pyautobrain/brain_board_follow_ups.md +Use the start-dev skill. draft/bug/autofit/samples_with_paths_shared_prior_factor_graph.md ```
-
📋 bump_colab_urls.sh: cover autolens_assistant Colab links — pyautohands · small · safe · normal +
📋 Stale enable_pytrees register_model advice in NUTS and SMC errors and searches docs — autofit · small · safe · normal ``` -Use the start-dev skill. draft/feature/pyautohands/bump_colab_urls_autolens_assistant.md +Use the start-dev skill. draft/bug/autofit/stale_enable_pytrees_register_model_advice_in.md ```
-
📋 Can create a list of InversionMatrix objects for each dataset — autoarray · medium · supervised · normal +
📋 PlotterEllipse.fit_ellipse writes every variant to ellipse_fit.png, so only the last survives — autogalaxy · small · normal ``` -Use the start-dev skill. draft/feature/autoarray/multiwavelength_inversion.md +Use the start-dev skill. draft/bug/autogalaxy/ellipse_plotter_fit_ellipse_overwrites.md ```
-
📋 A joint unit-disk constraint (or reparameterisation) for ell_comps — autogalaxy · medium · supervised · normal +
📋 Move the positions_threshold test fixture off the symmetry axis — autolens · small · safe · normal ``` -Use the start-dev skill. draft/feature/autogalaxy/ell_comps_joint_disk_constraint.md +Use the start-dev skill. draft/bug/autolens/positions_threshold_fixture_off_axis.md ```
-
📋 Tune cluster-scale JOSS benchmarks toward their 5-minute targets — autolens_workspace · medium · safe · normal +
📋 SLaM simultaneous subhalo grid search fits last band only — autolens_workspace · small · safe · normal ``` -Use the start-dev skill. draft/feature/autolens_workspace/joss_cluster_benchmark_tuning.md +Use the start-dev skill. draft/bug/autolens_workspace/slam_simultaneous_subhalo_grid_search_fits_last.md ```
-
📋 Upstream the DR1 final-catalogue tooling to the pipeline, with a vis_lp-only appendix… — euclid · medium · supervised · normal +
📋 JAX_ENABLE_X64=False is overridden to True, so the fp32 inference leg runs fp64… — autonerves · small · supervised · normal ``` -Use the start-dev skill. draft/feature/euclid/upstream_dr1_final_catalogue_tooling.md +Use the start-dev skill. draft/bug/autonerves/jax_enable_x64_env_ignored_and_fp32_leg_runs_fp64.md ```
-
📋 batch slice — the decomposition pass for needs-slicing prompts — pyautobrain · medium · supervised · normal +
📋 Convolver "No blurring_image provided" warning in canonical workspace scripts — workspaces · small · safe · normal ``` -Use the start-dev skill. draft/feature/pyautobrain/batch_slice.md +Use the start-dev skill. draft/bug/workspaces/convolver_blurring_image_warning.md ```
-
📋 The imaging features/advanced/los_halos example needs improving and padding out before — workspaces · medium · safe · normal +
📋 A non-uniform over_sample_size costs several times more JAX compile than a uniform… — autoarray · medium · supervised · normal ``` -Use the start-dev skill. draft/feature/workspaces/group_los_halos.md +Use the start-dev skill. draft/bug/autoarray/non_uniform_over_sample_jax_compile_cost.md ```
-
📋 The imaging features/advanced/subhalo/sensitivity example needs improving and padding out before — workspaces · medium · safe · normal +
📋 vmap(jit) likelihood recompiles once per distinct Nautilus batch length — autofit · medium · supervised · normal ``` -Use the start-dev skill. draft/feature/workspaces/group_subhalo_sensitivity.md +Use the start-dev skill. draft/bug/autofit/vmap_jit_recompiles_per_nautilus_batch_length.md ```
-
📋 EP analytic updates — implement the four planned work packages — autofit · large · supervised · normal +
📋 LensCalc tangential caustic on a masked grid differs ~27 % in ellipticity… — autogalaxy · medium · supervised · normal ``` -Use the start-dev skill. draft/feature/autofit/ep_analytic_updates.md +Use the start-dev skill. draft/bug/autogalaxy/lenscalc_masked_grid_caustic_differs_from_unmasked.md ```
-
📋 Skip the likelihood for assertion-violating samples on the JAX path — autofit · large · supervised · normal +
📋 JIT cache not hit in modeling_visualization delaunay/rectangular scripts — autolens · medium · safe · normal ``` -Use the start-dev skill. draft/feature/autofit/skip_the_likelihood_for_assertion_violating_samp.md +Use the start-dev skill. draft/bug/autolens/jit_cache_not_hit_modeling_visualization.md ```
-
📋 Remote-MCP deployment tiers (2 + 3) for the results-inspector server — autofit_assistant · large · human-required · normal +
📋 Profile multi_galaxy/start_here.py's release cost and retire its 3600s override — autolens_workspace · medium · supervised · normal ``` -Use the start-dev skill. draft/feature/autofit_assistant/remote_mcp_deployment_tiers.md +Use the start-dev skill. draft/bug/autolens_workspace/multi_galaxy_start_here_release_cost.md ```
-
📋 Multi-plane time delays — autolens · large · supervised · normal +
📋 multi_dataset/jax_likelihood/delaunay.py asserts the wrong likelihood on main (−72070 vs 1995) — autolens_workspace_test · medium · supervised · normal ``` -Use the start-dev skill. draft/feature/autolens/multi_plane_time_delays.md +Use the start-dev skill. draft/bug/autolens_workspace_test/multi_dataset_jax_likelihood_delaunay_wrong_likelihood.md ```
-
📋 Adopt oversampled PSFs in the start-here dataset chain (option a) — autolens_workspace · large · supervised · normal +
📋 CI timing must compare equivalent executed job coverage — health_fixes · medium · supervised · normal ``` -Use the start-dev skill. draft/feature/autolens_workspace/oversampled_psf_dataset_adoption.md +Use the start-dev skill. draft/bug/health_fixes/ci_timing_execution_coverage.md ```
-
📋 Restore lensing-of-lens in the multiple_sources workspace example — workspaces · large · supervised · normal +
📋 Heart Health rerun cannot publish after main advances — health_fixes · medium · supervised · normal ``` -Use the start-dev skill. draft/feature/workspaces/restore_multiple_sources_lensing_of_lens.md +Use the start-dev skill. draft/bug/health_fixes/heart_health_rerun_stale_push.md ```
-
📋 Follow-up to rectangular_adapt_cdf.md (issue #322) and Path A — autoarray · too-large · supervised · normal +
📋 @PyAutoFit TransformedMessage.logpdf/pdf omit the transform Jacobian — priors · medium · supervised · normal ``` -Use the start-dev skill. draft/feature/autoarray/rectangular_multi_submesh.md +Use the start-dev skill. draft/bug/priors/15_transformed_message_logpdf_jacobian.md ```
-
📋 PIEMass.potential_2d_from: implement the missing lensing potential — autogalaxy · too-large · supervised · normal +
📋 Resolve release-profile timeout scripts deliberately — health_fixes · too-large · supervised · normal ``` -Use the start-dev skill. draft/feature/autogalaxy/piemass_potential.md +Use the start-dev skill. draft/bug/health_fixes/release_timeout_policy.md ```
-
📋 autolens_jax_joss benchmark repo + real-data start_here pairing — autolens_jax_joss · too-large · supervised · normal +
📋 @PyAutoFit Refactor: each density should live in one place, not three — priors · too-large · supervised · normal ``` -Use the start-dev skill. draft/feature/autolens_jax_joss/autolens_jax_joss_benchmark_repo.md +Use the start-dev skill. draft/bug/priors/12_single_source_density_refactor.md ```
-
📋 Context: PyAutoLens issue #542 follow-up (Gap 1, deferred during the — jax_substructure · too-large · supervised · normal +
📋 @PyAutoFit Refactor: collapse the Prior / Message two-layer hierarchy — priors · too-large · supervised · normal ``` -Use the start-dev skill. draft/feature/jax_substructure/5_prng_key_vmap_noise.md +Use the start-dev skill. draft/bug/priors/13_collapse_prior_and_message.md ```
-
📋 Context: PyAutoLens issue #542 follow-up (Gap 2, deferred during the — jax_substructure · too-large · supervised · normal +
📋 @PyAutoFit Refactor: replace hand-rolled AbstractDensityTransform with tfp.bijectors / numpyro.distributions.transforms — priors · too-large · supervised · normal ``` -Use the start-dev skill. draft/feature/jax_substructure/6_deflection_equivalence_test.md +Use the start-dev skill. draft/bug/priors/14_replace_transform_stack_with_bijectors.md ```
-
📋 dPIE: optional central-dispersion (sigma_0) parameterization — autogalaxy · small · supervised · low +
📋 Priors & Messages cleanup — tracker — priors · too-large · supervised · normal ``` -Use the start-dev skill. draft/feature/autogalaxy/dpie_sigma0_parameterization.md +Use the start-dev skill. draft/bug/priors/z_features.md ```
-
📋 PyAutoLens mirror of the interferometer primary-beam persistence (docstring + round-trip test) — autolens · small · safe · low +
📋 sub_slim_indexes_for_pix_index appends -1 row padding to the last pixel's list — autoarray · small · supervised · low ``` -Use the start-dev skill. draft/feature/autolens/interferometer_primary_beam_persistence_mirror.md +Use the start-dev skill. draft/bug/autoarray/sub_slim_indexes_for_pix_index_padding.md ```
-
📋 Release board: local run_logs enrichment — pyautohands · small · supervised · low +
📋 Aggregator reload of an in-memory sparse-operator interferometer fit silently falls back… — autogalaxy · small · supervised · low ``` -Use the start-dev skill. draft/feature/pyautohands/release_board_run_logs_enrichment.md +Use the start-dev skill. draft/bug/autogalaxy/aggregator_reload_drops_sparse_operator.md ```
-
📋 Gallery runner: add visualization_upper + decide the modeling_visualization_jit tier — workspaces · small · safe · low +
📋 Database-path searches cannot reload dataset.fits (written to disk, never registered via save_fits) — autogalaxy · small · supervised · low ``` -Use the start-dev skill. draft/feature/workspaces/gallery_runner_missing_tiers.md +Use the start-dev skill. draft/bug/autogalaxy/database_paths_dataset_fits_not_registered.md ```
-
📋 Animated logos for PyAutoGalaxy and PyAutoFit — pyautoscientist · medium · safe · low +
📋 @autolens_profiling stale auto-simulated dataset/cluster/simple is never regenerated — autolens_profiling · small · supervised · low ``` -Use the start-dev skill. draft/feature/pyautoscientist/animated_logos_for_pyautogalaxy_and_pyautofit.md +Use the start-dev skill. draft/bug/autolens_profiling/stale_auto_simulated_cluster_dataset.md ```
-
📋 Deferred: make the *Power adapt classes the defaults (breaking) — autoarray · large · human-required · low +
📋 The reconstruction noise map is not the truncated posterior the NNLS solve… — autoarray · medium · human-required · low ``` -Use the start-dev skill. draft/feature/autoarray/adapt_linear_default_flip.md +Use the start-dev skill. draft/bug/autoarray/reconstruction_noise_map_truncated_posterior.md ```
-
📋 Human-readable Cortex Projects dashboard — cortex +
📋 Point-source JSON datasets record no resolution regime — pyautolens · medium · supervised · low ``` -Use the start-dev skill. draft/feature/cortex/human_readable_projects_dashboard.md +Use the start-dev skill. draft/bug/pyautolens/point_source_json_datasets_record_no_regime.md ```
-
📋 Cortex output summaries — phase 2 — cortex +
📋 Same-class q-clamp and bare-sqrt ellipticity gradient sites (follow-up to PyAutoGalaxy#631) — autogalaxy ``` -Use the start-dev skill. draft/feature/cortex/output_summary.md +Use the start-dev skill. draft/bug/autogalaxy/q_clamp_and_bare_sqrt_ellipticity_grad_sweep.md ```
-
📋 Simplify reading-queue token management — pyautomemory +
📋 autolens_workspace point_source/plot.py crashes: residual_map (4,2) vs (5,2) broadcast; the model solves 5… — autolens · human-required ``` -Use the start-dev skill. draft/feature/pyautomemory/reading-queue-token-management.md +Use the start-dev skill. draft/bug/autolens/point_source_plot_script_residual_shape_mismatch.md ```
@@ -2277,7 +2085,7 @@ Use the start-dev skill. draft/research/autoarray/delaunay_interpolator_pure_cal
-docs — 25 +docs — 24
📋 autolens_assistant leg of the PyAutoLabs AI-options page (deferred from #87) — autolens_assistant · small · supervised · high @@ -2335,14 +2143,6 @@ Use the start-dev skill. draft/docs/autolens_workspace/multi_plane_guide_richard
-
📋 RTD organism docs currency: Nerves page, organ-count drift, hands.md rename — pyautobrain · small · supervised · normal - -``` -Use the start-dev skill. draft/docs/pyautobrain/rtd_organism_currency.md -``` - -
-
📋 docs/api/plot.rst omits already-exported plot symbols — autolens · medium · safe · normal ``` @@ -2482,7 +2282,7 @@ Use the start-dev skill. draft/docs/howtolens/tutorial_correctness_and_howtogala
-maintenance — 17 +maintenance — 15
📋 Reduce the organism's per-session and per-task token load by half — organs · medium · supervised · high @@ -2500,14 +2300,6 @@ Use the start-dev skill. draft/maintenance/autocti/cti_upkeep_epic.md
-
📋 Keep caches off $HOME on HPC — phase 2 remainder: euclid pipeline… — workspaces · small · supervised · medium - -``` -Use the start-dev skill. draft/maintenance/workspaces/hpc_cache_off_home_phase2_euclid.md -``` - -
-
📋 autolens_workspace_developer: broad stale-API rot (56 symbols, no CI) — autolens_workspace_developer · medium · supervised · normal ``` @@ -2612,18 +2404,10 @@ Use the start-dev skill. draft/maintenance/euclid/skip_fit_output_no_longer_gate
-
📋 Regenerate the 28 drifted .claude/hooks/session-start.sh copies after the organ-order change — pyautomind · small - -``` -Use the start-dev skill. draft/maintenance/pyautomind/session_start_hook_copies_regen.md -``` - -
-
-refactor — 13 +refactor — 12
📋 Cache autonerves config parsing — 308 YAML files parsed per script run — autonerves · medium · safe · medium @@ -2713,14 +2497,6 @@ Use the start-dev skill. draft/refactor/autolens/witt_wynne_solver_library_home.
-
📋 Deduplicate repos_sync.py's check/write pairs — pyautomind · medium · supervised · low - -``` -Use the start-dev skill. draft/refactor/pyautomind/repos_sync_check_dedup.md -``` - -
-
📋 Sparse CPU operator: shrink the 172 MB per-dataset payload… — autoarray · supervised ``` @@ -2833,19 +2609,18 @@ Use the start-dev skill. draft/triage/autolens/jit_fit_from_is_vacuous.md | 2026-11-05 | filed | autofit: Samples.with_paths / without_paths break on factor-graph… | | 2026-11-05 | filed | Filed: 2026-11-05 (phase 2 of autolens_profiling#519; Pulse task… | | 2026-11-05 | filed | Filed: 2026-11-05 (found by the autolens_profiling#519 worker-route… | +| 2026-11-05 | filed | Close-out guard: catch shipped work whose Mind draft was never… | | 2026-11-05 | issued | A shift opens at dispatched:, not when its brief lands | | 2026-11-04 | issued | Autonomous orchestrators phase 4c: run the Dev orchestrator pilot… | -| 2026-11-03 | filed | intake classify --file injects an unrelated Memory: line on… | | 2026-11-02 | filed | Unexplained autodiff-vs-FD gaps in the phase-6 gradient records… | -| 2026-11-02 | filed | Standard-size gradient cells record "point": "prior_medians" while… | | 2026-11-02 | issued | Magnification maps 8d: wire into fit subplots and make them pretty | | 2026-11-02 | issued | Issued: 2026-11-02 | +| 2026-11-02 | filed | Imaging sparse-operator path gives a very different log L from dense… |
… 10 more (40 left) | Date | Event | Task | |------|-------|------| -| 2026-11-02 | filed | Imaging sparse-operator path gives a very different log L from dense… | | 2026-11-02 | issued | Gradient-correctness sweep: triage and investigate every open… | | 2026-10-31 | issued | Sky orientation (north/east): euclid_dr1 catalogue, paper and… | | 2026-10-30 | filed | Should PyAutoArray flip FITS rows at load so +y is north | @@ -2855,12 +2630,12 @@ Use the start-dev skill. draft/triage/autolens/jit_fit_from_is_vacuous.md | 2026-10-25 | filed | CI timing must compare equivalent executed job coverage | | 2026-10-23 | filed | autolens_assistant leg of the PyAutoLabs AI-options page (deferred… | | 2026-10-23 | filed | @autolens_profiling stale auto-simulated dataset/cluster/simple… | +| 2026-10-23 | filed | A dedicated Documentation conductor in PyAutoBrain |
… 10 more (30 left) | Date | Event | Task | |------|-------|------| -| 2026-10-23 | filed | A dedicated Documentation conductor in PyAutoBrain | | 2026-10-22 | filed | point-plots-yaml-keys-assistant | | 2026-10-21 | filed | interferometer-primary-beam-persistence-mirror | | 2026-10-21 | filed | PyAutoLens mirror of the interferometer primary-beam persistence… | @@ -2869,37 +2644,38 @@ Use the start-dev skill. draft/triage/autolens/jit_fit_from_is_vacuous.md | 2026-10-21 | issued | Matrix-free interferometer inversion for very large rectangular… | | 2026-10-21 | filed | Interferometer primary beam: workspace example and docs | | 2026-10-21 | filed | Cluster likelihood scripts: image-plane manual check disagrees with… | -| 2026-10-16 | filed | repos_sync standards-block test keys on the checkout dir name… | +| 2026-10-16 | filed | Re-measure the shapelets/modeling.py SLOW park (#586) under the… | +| 2026-10-14 | filed | @autofit_workspace six searches/ scripts fail on main at… |
… 10 more (20 left) | Date | Event | Task | |------|-------|------| -| 2026-10-16 | filed | Re-measure the shapelets/modeling.py SLOW park (#586) under the… | -| 2026-10-16 | filed | Glance shadow window reached 20/20 clean — count line must say… | -| 2026-10-14 | filed | @autofit_workspace six searches/ scripts fail on main at… | -| 2026-10-14 | filed | Human-readable Cortex Projects dashboard | | 2026-10-14 | filed | Cortex output summaries — phase 2 | -| 2026-10-09 | filed | Profiling conductor compile drift compares one point against one point | | 2026-10-08 | filed | JAX_ENABLE_X64=False is overridden to True, so the fp32 inference… | | 2026-10-07 | filed | Upstream the DR1 final-catalogue tooling to the pipeline, with a… | | 2026-10-02 | filed | sibson-internal-edge-continuity | | 2026-10-02 | filed | knn-partial-point-block | - -
… 10 more (10 left) - -| Date | Event | Task | -|------|-------|------| | 2026-10-02 | filed | Fix Sibson interpolation at internal edges | | 2026-10-02 | filed | Fix KNN neighbor search for a partial final point block | | 2026-10-01 | filed | Sparse interferometer terms: NUFFT ignores the mask origin and… | | 2026-10-01 | filed | Interferometer log_evidence fails (LinAlgError / NaN) at large… | | 2026-10-01 | filed | Interferometer galaxy_image_dict drops a mixed galaxy's ordinary… | + +
… 10 more (10 left) + +| Date | Event | Task | +|------|-------|------| | 2026-09-29 | filed | PlotterEllipse.fit_ellipse writes every variant to… | -| 2026-09-29 | filed | Regenerate the 28 drifted .claude/hooks/session-start.sh copies… | | 2026-09-27 | filed | Sparse interferometer inversion: jax.grad of the log-evidence terms… | | 2026-09-27 | filed | Same-class q-clamp and bare-sqrt ellipticity gradient sites… | | 2026-09-27 | filed | Building a JAX Fitness then calling register_tracer_classes raises… | +| 2026-09-26 | filed | bump_colab_urls.sh: cover autolens_assistant Colab links | +| 2026-09-26 | filed | Repo cleanup: retire the Abell 1201 worktree and local raw data | +| 2026-09-25 | filed | test_latent_euclid_variables_traces_under_jax_jit went red on main… | +| 2026-09-24 | filed | euclid_dr1: run the positions gate over DR1 and submit the remodel set | +| 2026-09-23 | filed | multi_dataset/jax_likelihood/delaunay.py asserts the wrong likelihood… | +| 2026-09-18 | filed | autolens_workspace: __Model__ bullets whose profiles or parameter… |
@@ -2926,7 +2702,7 @@ _Dates come from each task's registry entry — `lifecycle.py dates` reports any
-99 prompt(s) with no `Witness:` — the machine-checkable claim that would make the work reviewable in minutes. Absent, a prompt grades `judge` (a PI's quarter-hour) whatever its size, which is the intended default and not a bug. Nothing derives or backfills a witness — an invented one is plausible prose with nothing behind it — so this is a human writing one, a prompt at a time. +91 prompt(s) with no `Witness:` — the machine-checkable claim that would make the work reviewable in minutes. Absent, a prompt grades `judge` (a PI's quarter-hour) whatever its size, which is the intended default and not a bug. Nothing derives or backfills a witness — an invented one is plausible prose with nothing behind it — so this is a human writing one, a prompt at a time.
Prompts with no witness @@ -2935,16 +2711,13 @@ _Dates come from each task's registry entry — `lifecycle.py dates` reports any - `draft/feature/autoarray/rectangular_multi_submesh.md` - `draft/feature/autofit/model_figures_epic.md` - `draft/feature/autofit_assistant/remote_mcp_deployment_tiers.md` -- `draft/feature/autogalaxy/ell_comps_joint_disk_constraint.md` - `draft/feature/autogalaxy/piemass_potential.md` - `draft/feature/autolens/magnification_maps_visualization.md` - `draft/feature/autolens/source_cluster_arc.md` -- `draft/feature/autolens_jax_joss/autolens_jax_joss_benchmark_repo.md` - `draft/feature/autolens_profiling/delaunay_nn_numba_optimal_remeasure_after_677.md` - `draft/feature/autolens_profiling/gradient_cost_hazard_on_ral_cpu_value.md` - `draft/feature/autolens_workspace/cluster_point_solver_validation_check.md` - `draft/feature/autolens_workspace/pointsolver_grid_extent_per_package.md` -- `draft/feature/cortex/human_readable_projects_dashboard.md` - `draft/feature/cortex/output_summary.md` - `draft/feature/euclid/euclid_dr1_prep_epic.md` - `draft/feature/jax_substructure/5_prng_key_vmap_noise.md` @@ -2955,13 +2728,10 @@ _Dates come from each task's registry entry — `lifecycle.py dates` reports any - `draft/feature/pyautobroca/broca_communication_documentation_and_workspaces.md` - `draft/feature/pyautobroca/broca_communication_pilot.md` - `draft/feature/pyautoears/community_organ_birth.md` -- `draft/feature/pyautoeyes/group_cluster_gallery.md` -- `draft/feature/pyautoeyes/multi_galaxy_gallery.md` - `draft/feature/pyautohands/bump_colab_urls_autolens_assistant.md` - `draft/feature/pyautomemory/reading-queue-token-management.md` - `draft/feature/pyautoscientist/collaborator_led_pyautoscientist_adoption_pilot.md` - `draft/feature/pyautoscientist/scientist_collaborator_validation.md` -- `draft/feature/pyautoscientist/scientist_minimal_starter.md` - `draft/feature/pyautoscientist/scientist_optional_organ_activation.md` - `draft/feature/workspaces/model_figures_6_rollout.md` - `draft/bug/autoarray/reconstruction_noise_map_truncated_posterior.md` @@ -2971,11 +2741,17 @@ _Dates come from each task's registry entry — `lifecycle.py dates` reports any - `draft/bug/autocti_visualization/manifest_rendered_with_stale_in_mains_mode.md` - `draft/bug/autofit/investigate_euclid_einstein_radius_latent_uncert.md` - `draft/bug/autogalaxy/area_magnification_critical_curve_fragments.md` -- _… and 59 more_ +- `draft/bug/autogalaxy/q_clamp_and_bare_sqrt_ellipticity_grad_sweep.md` +- `draft/bug/autogalaxy/wrong_jax_gradient_on_mge_likelihoods_fd.md` +- `draft/bug/autolens/point_solver_error_bisect_health.md` +- `draft/bug/autolens/point_source_plot_script_residual_shape_mismatch.md` +- `draft/bug/autolens/runtime_single_jit_median_reach_and_a100_witness.md` +- `draft/bug/autolens_workspace/cluster_likelihood_scripts_preexisting_mismatches.md` +- _… and 51 more_
-68 prompt(s) with unknown theme keyword(s) — not in [`themes.md`](themes.md), so they group loudly rather than silently. Correct the prompt, or add the keyword to the vocabulary. +60 prompt(s) with unknown theme keyword(s) — not in [`themes.md`](themes.md), so they group loudly rather than silently. Correct the prompt, or add the keyword to the vocabulary.
Unknown theme keywords @@ -2984,7 +2760,6 @@ _Dates come from each task's registry entry — `lifecycle.py dates` reports any - `draft/feature/autoarray/edge_zeroed_log_det_cholesky_reuse.md — unknown theme keyword(s): inversion` - `draft/feature/autoarray/interferometer_chunked_transform_mapping_matrix.md — unknown theme keyword(s): jax-gpu, vram` - `draft/feature/autoarray/interferometer_curvature_preload_phase1.md — unknown theme keyword(s): inversion, likelihood-profiling` -- `draft/feature/autoarray/interferometer_numba_gate_retune_70.md — unknown theme keyword(s): config` - `draft/feature/autoarray/source_clumps_robust_scale.md — unknown theme keyword(s): source-reconstruction` - `draft/feature/autofit/certified_solver_batched_guard_c2.md — unknown theme keyword(s): inversion` - `draft/feature/autofit/results_library_epic.md — unknown theme keyword(s): hpc, euclid, results, aggregator` @@ -3006,9 +2781,7 @@ _Dates come from each task's registry entry — `lifecycle.py dates` reports any - `draft/bug/autoarray/sparse_inversion_ignores_profile_subtracted_image.md — unknown theme keyword(s): inversion, sparse-operator, correctness` - `draft/bug/autoarray/sparse_terms_nufft_origin_and_mask_compatibility.md — unknown theme keyword(s): sparse-operator` - `draft/bug/autoarray/sparse_vs_dense_log_likelihood_mismatch_nonlinear_lens_light.md — unknown theme keyword(s): source-reconstruction` -- `draft/bug/autocti_visualization/render_yml_blocked_until_pyautocti_release.md — unknown theme keyword(s): infrastructure` - `draft/bug/autofit/dataset_model_free_grid_offset_pytree_roundtrip.md — unknown theme keyword(s): jax` -- `draft/bug/autofit/nautilus_ep_default_optimiser_reads_use_jax_unguarded.md — unknown theme keyword(s): nautilus` - `draft/bug/autofit/samples_with_paths_shared_prior_factor_graph.md — unknown theme keyword(s): samples, factor-graph` - `draft/bug/autofit/vmap_jit_recompiles_per_nautilus_batch_length.md — unknown theme keyword(s): jax, nautilus` - `draft/bug/autogalaxy/aggregator_reload_drops_sparse_operator.md — unknown theme keyword(s): sparse-operator, aggregator` @@ -3020,17 +2793,12 @@ _Dates come from each task's registry entry — `lifecycle.py dates` reports any - `draft/bug/autolens/runtime_single_jit_median_reach_and_a100_witness.md — unknown theme keyword(s): jax` - `draft/bug/autolens_profiling/stale_auto_simulated_cluster_dataset.md — unknown theme keyword(s): datasets` - `draft/bug/autolens_workspace/start_here_multistart_compile_time.md — unknown theme keyword(s): jax, compile-time, first-contact` -- `draft/bug/euclid/bundle_sersic_products_read_output_dir_not_sed_output_dir.md — unknown theme keyword(s): euclid, catalogue` - `draft/bug/euclid/drawer_pix_initializer_exception_flake.md — unknown theme keyword(s): euclid, ci, source-reconstruction` -- `draft/bug/euclid/euclid_dr1_flip_rgb_jpg_upside_down.md — unknown theme keyword(s): euclid, hpc` - `draft/bug/euclid/gpu_per_lens_time_vs_documented_10_min.md — unknown theme keyword(s): euclid, jax, hpc` - `draft/bug/euclid/latent_total_source_flux_jax_vs_numpy_regression.md — unknown theme keyword(s): euclid, jax, latent` - `draft/bug/euclid/sed_chain_waveband_fit_can_spin_forever.md — unknown theme keyword(s): euclid, hpc, catalogue` - `draft/bug/euclid/vis_lp_batch_size_kwarg_silently_ignored.md — unknown theme keyword(s): euclid` -- `draft/bug/pyautobrain/profiling_compile_drift_point_vs_point.md — unknown theme keyword(s): measurement-tools` - `draft/bug/pyautoheart/ral_venv_dependency_floor_drift.md — unknown theme keyword(s): hpc, dependencies, reproducibility` -- `draft/bug/pyautomemory/arxiv_refs_swallows_every_api_error_silently.md — unknown theme keyword(s): ci, robustness` -- `draft/bug/pyautomind/arxiv_edge_refuses_the_stdlib_urllib_client.md — unknown theme keyword(s): ci, robustness` - `draft/refactor/autofit/ep_analysis_level_compile_cache.md — unknown theme keyword(s): jax` - `draft/refactor/autolens/cache_readers_fall_back_to_zip_member.md — unknown theme keyword(s): aggregator, paths` - `draft/refactor/autolens/witt_wynne_solver_library_home.md — unknown theme keyword(s): euclid` diff --git a/draft/bug/autofit/stale_enable_pytrees_register_model_advice_in.md b/draft/bug/autofit/stale_enable_pytrees_register_model_advice_in.md index 98d780df9..33f299492 100644 --- a/draft/bug/autofit/stale_enable_pytrees_register_model_advice_in.md +++ b/draft/bug/autofit/stale_enable_pytrees_register_model_advice_in.md @@ -17,3 +17,10 @@ Unattended: ready autofit/non_linear/search/mcmc/blackjax/nuts/search.py:270 and autofit/non_linear/search/mcmc/blackjax/smc/search.py:328 tell users to call enable_pytrees() / register_model(model), and the workspace script scripts/searches/mcmc.py lines 244-247 and 283-286 do the same in prose and code. Neither function is exposed on the af namespace and Fitness.__init__ (autofit/non_linear/fitness.py:261-265) already calls them internally; scripts/searches/mle.py:232-235 in the same workspace says the opposite. NUTS was verified to run without them on 2026-09-10. Fix the two error strings and the mcmc.py prose (the workspace half lands in autofit_workspace). + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Library advice removed: PyAutoFit now has `enable_pytrees` only in jax/pytrees.py, jax/__init__.py and fitness.py, not in the blackjax nuts/smc searches (commit not pinned). +- **Remaining:** autofit_workspace `scripts/searches/mcmc.py` (and its notebook) still teaches `enable_pytrees()` / `register_model` — fix the workspace leg. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/bug/autolens/runtime_single_jit_median_reach_and_a100_witness.md b/draft/bug/autolens/runtime_single_jit_median_reach_and_a100_witness.md index 8a4ca2b4d..0fb7b4b2f 100644 --- a/draft/bug/autolens/runtime_single_jit_median_reach_and_a100_witness.md +++ b/draft/bug/autolens/runtime_single_jit_median_reach_and_a100_witness.md @@ -31,3 +31,10 @@ Contract: PyAutoPulse `tasks/runtime_cell_single_jit_gpu_warmup.md`. beside the unchanged `full_pipeline_single_jit`. Do not re-base committed rows. Do step 2 only once step 1 confirms the median removes the post-compile transient. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Step 2 "Reach": autolens_profiling#408 (2026-10-09, record `complete/2026/10/timing-noise-audit-p6-median-headline-gpu-marker.md`) — 11 runtime cells write `_median_ms/_p10/_p90`. +- **Remaining:** Step 1 only: the A100 witness — no committed row carries a median yet (per that record). + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/bug/pyautobrain/profiling_compile_drift_point_vs_point.md b/draft/bug/pyautobrain/profiling_compile_drift_point_vs_point.md deleted file mode 100644 index 4aa3e5f31..000000000 --- a/draft/bug/pyautobrain/profiling_compile_drift_point_vs_point.md +++ /dev/null @@ -1,37 +0,0 @@ -# Profiling conductor compile drift compares one point against one point - -Type: bug -Target: pyautobrain -Repos: -- PyAutoBrain -Themes: -- measurement-tools -Difficulty: small -Autonomy: supervised -Priority: medium -Consequence: judge -Status: draft -Filed: 2026-10-09 -Related: https://github.com/PyAutoLabs/autolens_profiling/issues/362 - -## Context - -The timing-noise audit of autolens_profiling (`results/notes/timing_noise_audit_2026_10.md`, #362) -found that the project dashboard's release drift badge (P7) compared single-sample endpoints, and -fixed it there (#405: within-band → `insufficient` unless both endpoints carry a repeat summary; -#408: compare like estimators only). The audit note records that the Brain profiling conductor's -`COMPILE_DRIFT_RATIO` rule (`agents/conductors/profiling/_profiling.py:88`, used at ~513) shares -P7's point-vs-point limitation, and that "a separate Brain task should decide whether compile drift -follows; this audit does not edit Brain". - -## Decide - -Whether the conductor's compile-drift check should (a) keep its generous 2x band as a gross flag -with an explicit "single-sample" caveat, as P7's `drifted`/`improved` now do, (b) require repeats or -an interval before reporting drift, or (c) stay as is with a documented reason. Keep compile and -execution costs separate. Synthetic witness required for any change. - -## Original request (chat 2026-10-09) - -"prm and then do 3b and leftovers fully wrap up --auto" — filed as the Brain hand-off named in the -audit note; not part of the #362 PRs. diff --git a/draft/docs/autogalaxy/adapt_image_is_the_s_n_map.md b/draft/docs/autogalaxy/adapt_image_is_the_s_n_map.md index dd229bcaf..bed64a116 100644 --- a/draft/docs/autogalaxy/adapt_image_is_the_s_n_map.md +++ b/draft/docs/autogalaxy/adapt_image_is_the_s_n_map.md @@ -129,3 +129,10 @@ paragraph; the assessment report is attached to the issue with a recommendation. Where it came from: autolens_workspace#521 / PR #522 review, 2026-09-02. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Library docstrings: PyAutoGalaxy#644 (merged 2026-10-02). +- **Remaining:** Workspace prose still saying "estimate of the": autolens_workspace `slam_start_here.py`, `multi_galaxy/.../adaptive.py`, subhalo `slam_source_pixelized.py`. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/docs/autolens_assistant/ai_options_page_autolens_leg.md b/draft/docs/autolens_assistant/ai_options_page_autolens_leg.md index 5ae24de12..4e67182e1 100644 --- a/draft/docs/autolens_assistant/ai_options_page_autolens_leg.md +++ b/draft/docs/autolens_assistant/ai_options_page_autolens_leg.md @@ -34,3 +34,10 @@ PyAutoScientist#87 (record `complete/2026/10/assistant-ai-options-page.md`) ship ## Done when README shorter and linking to the shared page; listed legacy gone; wiki-currency and boundary CI green. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** README rewrite: autolens_assistant#163 (record `complete/2026/10/assistant-readmes-human-style.md`). +- **Remaining:** The legacy deletions (`opencode_cli` refs, `docs/archive/*`) and the AI_OPTIONS.md stub. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/docs/autolens_assistant/cosmos_web_ring_guided_walkthrough_p3_front_doors.md b/draft/docs/autolens_assistant/cosmos_web_ring_guided_walkthrough_p3_front_doors.md index 48887c249..a3f02c4aa 100644 --- a/draft/docs/autolens_assistant/cosmos_web_ring_guided_walkthrough_p3_front_doors.md +++ b/draft/docs/autolens_assistant/cosmos_web_ring_guided_walkthrough_p3_front_doors.md @@ -26,3 +26,10 @@ Depends on phases 1–2. HowToLens tutorial 2 shows the vendored schematic; README/first_prompts open with it; website hand-off file written; PRs open (HowToLens, autolens_assistant). + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** HowToLens `tutorial_2_ray_tracing.py` now uses strong_lens_schematic.png (imgur link gone); autolens_assistant README opens with the schematic. +- **Remaining:** The website hand-off (`docs/archive/website_cosmos_web_ring_section.md` 404s) and a re-check of first_prompts.md. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/docs/workspaces/assistants_regime_extension.md b/draft/docs/workspaces/assistants_regime_extension.md index 4da19dec8..d8b59ddc8 100644 --- a/draft/docs/workspaces/assistants_regime_extension.md +++ b/draft/docs/workspaces/assistants_regime_extension.md @@ -79,3 +79,10 @@ cluster_regime_narrative, autogalaxy packages. The workspace/docs core shipped 2026-07-25 (autolens_workspace#346 + companions), so the autolens_assistant leg is now unblocked; the autogalaxy-side leg still waits on the autogalaxy packages. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** autolens leg: autolens_assistant#91. +- **Remaining:** The autogalaxy_assistant leg (no multi_galaxy in its wiki/). + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/feature/autolens/cluster_fit_visualizer_cluster_wide_model_fit.md b/draft/feature/autolens/cluster_fit_visualizer_cluster_wide_model_fit.md index ecd1de636..468574ec6 100644 --- a/draft/feature/autolens/cluster_fit_visualizer_cluster_wide_model_fit.md +++ b/draft/feature/autolens/cluster_fit_visualizer_cluster_wide_model_fit.md @@ -80,3 +80,10 @@ visualizer, so model-fit output never uses it. at cluster scale. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Multi-source cluster fit.png and fit_per_image.png written in a real search.fit: PyAutoLens#794, record `complete/2026/10/cluster-point-figures.md`. +- **Remaining:** The Witness's `cluster_fit_overlay.png`; the defaults audit; Include2D. (Per-system zooms were dropped by design.) + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/feature/autolens/magnification_maps_visualization.md b/draft/feature/autolens/magnification_maps_visualization.md index 6d4c37d95..f1df5381f 100644 --- a/draft/feature/autolens/magnification_maps_visualization.md +++ b/draft/feature/autolens/magnification_maps_visualization.md @@ -65,3 +65,10 @@ Work: 8a SHIPPED 2026-11-02 (record `complete/2026/11/magnification-maps-image-plane.md`; Galaxy#690, Lens#815, ws#614) → 8b SHIPPED 2026-11-02 (record `complete/2026/11/magnification-maps-source-plane.md`; Array#674, Galaxy#691, Lens#816, ws#615) → 8c SHIPPED 2026-11-02 (record `complete/2026/11/magnification-maps-uncertainty.md`; Galaxy#693, Lens#817, ws#616) → 8d `magnification_maps_8d_wiring_pretty.md`. One at a time via /start_dev. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** 8a (PyAutoGalaxy#690, PyAutoLens#815, autolens_workspace#614), 8b (PyAutoArray#674, PyAutoGalaxy#691, PyAutoLens#816), 8c (PyAutoGalaxy#693, PyAutoLens#817, autolens_workspace#616). +- **Remaining:** 8d (wiring + "pretty" pass) only, already issued as `active/magnification_maps_8d_wiring_pretty.md`. Close this draft when 8d ships. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/feature/autolens_visualization/eyes_cluster_visualization_group_render_every_cl.md b/draft/feature/autolens_visualization/eyes_cluster_visualization_group_render_every_cl.md index 4d8c5ecf0..2fbcdbbb6 100644 --- a/draft/feature/autolens_visualization/eyes_cluster_visualization_group_render_every_cl.md +++ b/draft/feature/autolens_visualization/eyes_cluster_visualization_group_render_every_cl.md @@ -56,3 +56,10 @@ cluster scale; the Eyes review loop is where that gets caught and routed back as cluster figures after its next render; the human reviews them through `/eyes`. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Cluster producers and cluster point figures render: autolens_visualization#5, #14, #15 (merged 2026-10-21/22). +- **Remaining:** The A2744 zooms and the `viz_manifest` cluster rows the Witness names — nothing else. This is a high-priority dashboard pick; size it against this remainder, not the original scope. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/feature/cortex/output_summary.md b/draft/feature/cortex/output_summary.md index e7853473b..86b1468fd 100644 --- a/draft/feature/cortex/output_summary.md +++ b/draft/feature/cortex/output_summary.md @@ -4,7 +4,7 @@ Targets: @PyAutoBrain @PyAutoCortex Type: feature Filed: 2026-10-14 -Parent request and verbatim user text: human_readable_projects_dashboard.md. +Parent request and verbatim user text: `complete/2026/11/cortex-projects-dashboard-parent.md` (parent closed 2026-11-05; phase 1 shipped in PyAutoBrain#526). After the presentation phase, inspect supported project output metadata and define explicit read-only collection of structured summary receipts. Distinguish unique datasets with completed outputs from fit counts; report CPU core-hours and GPU device-hours independently, with timestamp, provenance, measured/estimated basis and coverage. Never equate resource requests with consumption or infer scientific acceptance. Rendering reads saved receipts without filesystem crawls or cluster calls. Validate duplicates/restarts, partial coverage, absent metadata, stale receipts and offline rendering. Final collector details depend on source inspection; await human plan approval before source changes. diff --git a/draft/feature/euclid/catalogue_extension_coolest_mass_fits.md b/draft/feature/euclid/catalogue_extension_coolest_mass_fits.md index b8d585f15..9b355d9f2 100644 --- a/draft/feature/euclid/catalogue_extension_coolest_mass_fits.md +++ b/draft/feature/euclid/catalogue_extension_coolest_mass_fits.md @@ -118,3 +118,10 @@ FITS, even if by a one-off script that is not promoted to permanent infrastructu - The retroactive-update question has an explicit recommendation, whichever way it falls. - Magnification maps in the FITS product should carry phase 6b's trust caveat if that phase found the estimates unreliable. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Mass FITS and the retroactive-update verdict: pipeline PR #81 + PyAutoFit#1633, record `complete/2026/09/catalogue-mass-maps-fits.md`. +- **Remaining:** The COOLEST per-lens .csv and the magnification plane. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/feature/pyautobrain/brain_board_follow_ups.md b/draft/feature/pyautobrain/brain_board_follow_ups.md index 39afbf7da..09cfec2e6 100644 --- a/draft/feature/pyautobrain/brain_board_follow_ups.md +++ b/draft/feature/pyautobrain/brain_board_follow_ups.md @@ -44,6 +44,6 @@ Remaining candidates — pick up only when a real morning shows the need: own copies (the keep-in-step comments then come out). 3. **Whatever a week of mornings surfaces** — append here before starting. -Filed separately, because it is not a nit: **`board_without_gh.md`** (umbrella archived 2026-09-17 under `complete/archive/epics/`; phase 2 is `board_without_gh_phase2_legs.md`) — the +Filed separately, because it is not a nit: **`board_without_gh.md`** (umbrella archived 2026-09-17 under `complete/archive/epics/`; phase 2 shipped 2026-11-03, record `complete/2026/11/board-without-gh-phase2-legs.md`) — the eleven legs that read GitHub through `gh api` are dark in a remote session, which has no `gh`. A mobile morning is mostly blind until that is closed. diff --git a/draft/feature/pyautobrain/close_out_guard_catch_shipped_work_whose.md b/draft/feature/pyautobrain/close_out_guard_catch_shipped_work_whose.md new file mode 100644 index 000000000..7ab6d022b --- /dev/null +++ b/draft/feature/pyautobrain/close_out_guard_catch_shipped_work_whose.md @@ -0,0 +1,69 @@ +# Close-out guard: catch shipped work whose Mind draft was never closed, whatever… + +Type: feature +Target: PyAutoBrain +Repos: +- PyAutoBrain +- PyAutoMind +Themes: +- mind-workflow +- dashboard +Difficulty: large +Autonomy: supervised +Priority: high +Status: formalised +Filed: 2026-11-05 +Consequence: judge +Witness: a fixture Mind + fixture commit/PR history where (i) a draft's Witness test name now exists in its target repo, (ii) a merged PR body or commit message names the draft's path or slug, and (iii) a completion record's `## Original prompt` duplicates an open draft — the guard flags all three as `looks-shipped` with the evidence cited, flags none of a control set (shared vocabulary only), writes nothing under draft/, and the batch planner drops flagged drafts from its proposals; `pytest PyAutoBrain/tests -q` and the Mind suite green. +Review-minutes: 15 +Unattended: ready + +## Why (measured 2026-11-05) + +A queue check-in picked five tasks and found four already shipped. A full sweep of all 280 +drafts then closed **27 shipped/superseded drafts** and re-scoped 24 partly-done ones +(PyAutoMind#539). This morning's batch (`batches/2026-11-05-am.md`) had proposed two of the +shipped ones. Every case bypassed `/prm`, whose close-out already runs a folder-scoped +`intake reconcile` (`skills/prm/reference.md` §4): + +- fixed directly on main with no issue or PR (Mind 679b1319f, 4d8290555); +- merged by a session that never ran the close-out (PyAutoBrain#564 shipped + `rtd_organism_currency` and `board_without_gh_phase2_legs`; PyAutoMemory#143); +- re-filed as a duplicate — several completion records carry an open draft's twin as their + `## Original prompt` (e.g. `workspace-freshness-stamp`, `autocti-viz-render-from-mains`), and + `ell_comps_joint_disk_constraint` was filed four days after its work merged. + +`intake reconcile` exists but is read-only, opt-in and vocabulary-based (2026-08-25: 24 suspects +of 138, mostly weak), so nothing runs it across the whole backlog with strong evidence. + +## Ask + +Add a detector that runs outside `/prm` and only *flags* (retiring stays human, as now): + +1. **Strong evidence signals** in `intake reconcile` (or a sibling mode), graded above the + existing vocabulary signals: + - the draft's Witness names a test/function that now exists in the target repo + (search API or the checked-out organs); + - a merged PR body / commit message on an organism `main` since `Filed:` names the draft's + path, filename or slug; + - a `complete/` record's `## Original prompt` duplicates an open draft (title or body + near-match). +2. **Schedule it**: a daily Mind workflow (beside `registry_reconcile.yml`, odd minute) that + writes the strong-evidence suspects into a dashboard **"Looks shipped — confirm"** section + (state.json too), each with its evidence line and a one-line close command. +3. **Batch backpressure**: the Batch Agent excludes `looks-shipped` drafts from proposals until + a human confirms or dismisses them. +4. Optional, decide in the plan: a merge-time hook (`ship_*` / `prm`'s tiered path already + close out; the gap is merges outside them) — e.g. warn in the PR when a branch's commits + name a draft that the PR does not retire. + +## Not in scope + +Auto-closing anything; the 34 sweep `UNCLEAR` drafts (runtime/CI checks, separate work). + +## Original request (chat 2026-11-05) + +"/prm and file the close out guard" — following the recommendation: "make `/prm` or the merge +workflow refuse to finish while the task's draft is still in `draft/`". + + diff --git a/draft/feature/pyautobroca/broca_communication_pilot.md b/draft/feature/pyautobroca/broca_communication_pilot.md index ad54bfbc2..950fc928b 100644 --- a/draft/feature/pyautobroca/broca_communication_pilot.md +++ b/draft/feature/pyautobroca/broca_communication_pilot.md @@ -32,3 +32,10 @@ mapped skills that no longer exist, max per-notebook context size vs the 20k cap (mapping commit older than the newest skill or workspace-folder change) — and show a "refresh needed" action pointing at the assistant's `*_refresh_colab_contexts` maintainer skill. The AI scan itself lives in each assistant. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Presentation slice: record `complete/2026/10/broca-communication-resource-dropdowns.md` (PyAutoHeart#295, PyAutoBroca#7, PyAutoScientist#66). +- **Remaining:** Evidence ingestion. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/feature/pyautoears/community_organ_birth.md b/draft/feature/pyautoears/community_organ_birth.md index 6c63d0cef..4f58b0715 100644 --- a/draft/feature/pyautoears/community_organ_birth.md +++ b/draft/feature/pyautoears/community_organ_birth.md @@ -249,3 +249,10 @@ phase: phase4 assistant distribution of /feedback. Phases5–6 remain unissued. Production witness: Ears board run37137496430 succeeded; published snapshot generated 2026-10-03T16:37:04.144623+00:00 contains 13 conversations. Discussion hub receipt is complete. Only euclid_assistant remains unavailable. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Bootstrap and feedback slices: records `complete/2026/10/ears-bootstrap.md`, `community-feedback.md` (both say the programme is not complete). +- **Remaining:** The remaining programme items those records list as open. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/feature/pyautoscientist/scientist_optional_organ_activation.md b/draft/feature/pyautoscientist/scientist_optional_organ_activation.md index 7b5d64b07..ae7194c46 100644 --- a/draft/feature/pyautoscientist/scientist_optional_organ_activation.md +++ b/draft/feature/pyautoscientist/scientist_optional_organ_activation.md @@ -81,3 +81,10 @@ independent-organ acceptance is still unproven: select an adopter/synthetic host destination and exercise publication through connection/resume when appropriate. Record-preserving upgrades/recovery and actual collaborator acceptance remain their separate programme milestones; no collaborator access or live deployment is implied. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Discovery, setup and publication slices: PyAutoScientist#68, PyAutoBroca#17, #19. +- **Remaining:** Actual activation, upgrade and rollback. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/feature/workspaces/model_figures_6_rollout.md b/draft/feature/workspaces/model_figures_6_rollout.md index 848032a4a..a92b84c97 100644 --- a/draft/feature/workspaces/model_figures_6_rollout.md +++ b/draft/feature/workspaces/model_figures_6_rollout.md @@ -123,3 +123,10 @@ text. Canonical wording: `complete/2026/09/model-figures-rollout-lens.md`. Any **tutorial prose** written or revised in this rollout stays Opus-or-above per the tutorial-prose split in `PyAutoBrain/skills/WORKFLOW.md`. The figure call itself is mechanical and delegates normally. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** (a) PyAutoFit#1621, autofit_workspace#154, HowToFit#52; (b) record `complete/2026/09/model-figures-rollout-lens.md`; (c) partly. +- **Remaining:** (c) the HowToGalaxy leg (untouched); (d) and (e) in full. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/maintenance/autoarray/small_datasets_followups_after_8c.md b/draft/maintenance/autoarray/small_datasets_followups_after_8c.md index fc589bfde..6ee9720e8 100644 --- a/draft/maintenance/autoarray/small_datasets_followups_after_8c.md +++ b/draft/maintenance/autoarray/small_datasets_followups_after_8c.md @@ -27,3 +27,10 @@ both gated on releases that do not exist yet: cap in PyAutoArray#529 resolves to the same `(16, 16)` and makes them redundant. Revert the four guards (and regenerate the notebooks) once the PyAutoArray release with the cap is what the HowTo smoke gates install. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** PyAutoArray floor bumped to `autonerves>2026.10.4.1`. +- **Remaining:** Revert the HowToLens ch3 tutorial_1/2 mesh_shape guards; verify/remove the #529 fallback. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/maintenance/organs/reduce_session_token_load.md b/draft/maintenance/organs/reduce_session_token_load.md index 26e684c9e..7e8f577a0 100644 --- a/draft/maintenance/organs/reduce_session_token_load.md +++ b/draft/maintenance/organs/reduce_session_token_load.md @@ -66,3 +66,10 @@ Every session pays the first number before it does anything; every task pays the second twice (start and close) and writes the third once. At ~100 tasks a week the September record volume alone was ~1,800 agent-written lines a day that the memory faculty greps by title. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** `scripts/token_load.py` and the Mind instruction slimming (d01f8f484); `complete/2026/09/codex-context-efficiency.md`. +- **Remaining:** The ≤6k target: AGENTS.md across Mind/Brain/Cortex/Memory still totals ~11.9k tokens, Cortex grew to ~5.4k; completion-record work not done. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/maintenance/workspaces/pynufft_removal_downstream_residue.md b/draft/maintenance/workspaces/pynufft_removal_downstream_residue.md index 92c864715..6943d2a46 100644 --- a/draft/maintenance/workspaces/pynufft_removal_downstream_residue.md +++ b/draft/maintenance/workspaces/pynufft_removal_downstream_residue.md @@ -205,3 +205,10 @@ agent, so this routed through the Feature Agent; recorded as a follow-up. data plus a differing `SMALLDAT` header stamp. 3. **@autolens_workspace_developer has no test CI** (one Copilot workflow), which is why the phase-1 break rotted unnoticed and why #129 merged unchecked. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Phases 1–3: `complete/2026/08/pynufft-removal-residue-phase-{1,2,3}.md`. +- **Remaining:** autogalaxy_workspace markdown only: `pynufft` still in `markdown/interferometer/simulator.md` and `start_here.md`. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/refactor/autogalaxy/critical_curves_dispatch_cluster.md b/draft/refactor/autogalaxy/critical_curves_dispatch_cluster.md index dfbae4010..17031de9b 100644 --- a/draft/refactor/autogalaxy/critical_curves_dispatch_cluster.md +++ b/draft/refactor/autogalaxy/critical_curves_dispatch_cluster.md @@ -77,3 +77,10 @@ This is the next Source & Cluster arc step after extraction of its old phase-1 remainder and phase-2 profiling into cluster-pointsolver-speed. No blanket PointSolver-health gate applies. Re-audit the historical findings against current source and slice this too-large prompt through start_dev before issuing one task. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** 3a audit (autolens_profiling#364), 3b cap fix (PyAutoGalaxy#646), cluster dispatch (PyAutoLens#808); records in complete/2026/10/. +- **Remaining:** The rest of phase 3 the ledger deferred: seed-coverage robustness and engine dedupe. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/refactor/pyautofit/remove_eden_packaging_tooling.md b/draft/refactor/pyautofit/remove_eden_packaging_tooling.md index 3e420f3c5..b838dc967 100644 --- a/draft/refactor/pyautofit/remove_eden_packaging_tooling.md +++ b/draft/refactor/pyautofit/remove_eden_packaging_tooling.md @@ -67,3 +67,10 @@ tooling is orphaned. - Ship library-first per the workflow; no downstream workspace impact expected. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** The eden module is gone from PyAutoFit. +- **Remaining:** Delete `eden.yaml` from PyAutoFit main. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/refactor/pyautomind/repos_sync_check_dedup.md b/draft/refactor/pyautomind/repos_sync_check_dedup.md deleted file mode 100644 index 6929722fd..000000000 --- a/draft/refactor/pyautomind/repos_sync_check_dedup.md +++ /dev/null @@ -1,33 +0,0 @@ -# Deduplicate repos_sync.py's check/write pairs - -Type: refactor -Target: pyautomind -Repos: -- PyAutoMind -Themes: -- mind-workflow -- hygiene -Difficulty: medium -Autonomy: supervised -Priority: low -Status: formalised -Consequence: notify -Witness: `repos_sync.py` has one declaration per generated surface driving both `check` and `--write`; every CLI flag's output is byte-identical before and after (captured in a test); `tests/test_repos_sync_hygiene_coverage.py` and the firewall_gate.yml legs pass. -Review-minutes: 0 -Unattended: ready -Filed: 2026-08-19 (backfilled from git) - -Found by the 2026-08-19 readability-pass census (#248). Behaviour-preserving -refactor of @PyAutoMind/scripts/repos_sync.py (940 lines, no dead functions): - -- Eleven `check_*` functions share the same shape — walk repos, compare a - generated block against the on-disk block, return `list[str]` of problems. -- The `--write` leg has 4 near-identical `write_block(...)` call sites. - -Collapse each check/write pair into one declaration per generated surface — -e.g. a small `Check` dataclass (name, target file, block renderer) driving both -the lazy `checks` dict in `main()` and the `--write` leg, so adding a generated -surface means one new declaration instead of a new function plus a new call -site. All existing CLI flags and outputs stay byte-identical; -`tests/test_repos_sync_hygiene_coverage.py` and the firewall_gate.yml legs are -the safety net. diff --git a/draft/research/autoarray/delaunay_research.md b/draft/research/autoarray/delaunay_research.md index 2f5b4a6ab..ab7352de9 100644 --- a/draft/research/autoarray/delaunay_research.md +++ b/draft/research/autoarray/delaunay_research.md @@ -466,3 +466,10 @@ Phase 2 (B): closed 2026-05-11) + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** kNN option failed (PyAutoArray#317/#318); option A built and shelved (`complete/archive/shelved/delaunay_jax_find_simplex_split.md`); frozen-tables gradient shipped (`complete/2026/07/delaunay-frozen-tables-gradient.md`). +- **Remaining:** Option B (batched callback) only — consider re-scoping to that or closing. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/research/autolens/lenstwin_p4_identifiability.md b/draft/research/autolens/lenstwin_p4_identifiability.md index 308bcd185..e3613babe 100644 --- a/draft/research/autolens/lenstwin_p4_identifiability.md +++ b/draft/research/autolens/lenstwin_p4_identifiability.md @@ -39,3 +39,10 @@ Phase 4 of the `lenstwin` epic (ledger `draft/feature/autolens/lenstwin_epic.md` - Seed count and Nautilus settings for the RAL array. Out of scope: multi-galaxy budgets (phase 5, R7), misspecified fits (later), workspace/assistant (phase 6). + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** 4a: PyAutoLens#811 (bf18d5c) + PyAutoGalaxy#681, record `complete/2026/10/lenstwin-p4a-twin-fit-model.md`; RAL array 413331 submitted 2026-10-29. +- **Remaining:** Pull 413331's results (still open in Cortex) and run recover.py. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/research/autolens_profiling/likelihood_lifecycle_epic.md b/draft/research/autolens_profiling/likelihood_lifecycle_epic.md index 160b2482e..1a8a5fc7b 100644 --- a/draft/research/autolens_profiling/likelihood_lifecycle_epic.md +++ b/draft/research/autolens_profiling/likelihood_lifecycle_epic.md @@ -269,7 +269,7 @@ explicit side, think hard about where this separation is for different likelihoo - 2026-10-25 (2x Pulse view DONE): PyAutoPulse#77 MERGED db5e7c02 (record complete/2026/10/likelihood-lifecycle-p2x-pulse-view.md). Phase 2x COMPLETE (#463, #465, Pulse#77). NEXT: 2b interferometer (now complete/2026/10/likelihood-lifecycle-p2b-interferometer.md), pin 2026.10.23.1. - 2026-10-25 (2b survey): read-only survey at likelihood_lifecycle_epic_surveys/p2b_interferometer_survey_2026_10_25.md (autolens_profiling 29caed89). 84 cells (RAL 50 / A100 34); no DFT planned; dense NUFFT above sma infeasible (61 GiB alma → 1.46 TiB jvla per transform); interferometer harnesses lack standard size / fit.png / parity / resources; rulings R1–R9 proposed to the human (R10 obsolete: Heart YELLOW). - 2026-10-29 (2b + 2c DONE; 2d–2g setup shipped; /prm close-out): all merged 2026-10-29 in autolens_profiling. **2b** #471 (PR A) + #483 (PR B: 72/73 legs, interferometer 60/60 current, 30/30 parity match; matrix-free alma 192² leg 413191_6 TIMEOUT recorded missing by human ruling) — record complete/2026/10/likelihood-lifecycle-p2b-interferometer.md. **2c** #480 (point source 10/10 current; human rulings: published runtime = Solved likelihood; dashboard refusal guard option A — host-change refusals allowed when no carried endpoint) — record complete/2026/10/likelihood-lifecycle-p2c-point-source.md. **Planner fix** #481 (human "fix the planner gap": GPU setups planned only on `gpu_hosts`). **2d** #484 + PyAutoPulse#81 (D12 decided: keep `--xla_cpu_multi_thread_eigen=false`, jaxlib 0.11.2 XLA:CPU deadlock), **2e** #478 (D3 solved headline decided, D4 settled by #481), **2f** #479, **2g** #477 (D5 settled by #481): campaign setup only, no RAL run (human held them for review) — records complete/2026/10/likelihood-lifecycle-p2{d-galaxy-group,e-cluster,f-dataset-datacube,g-weak}.md. Issues #469, #472–#476 closed. Re-filed: draft/research/autolens_profiling/likelihood_lifecycle_p2{d_galaxy_group,e_cluster,f_dataset_datacube,g_weak}_runs.md (open decisions, batch-0 go, RAL batches, PR B) and likelihood_lifecycle_p2bc_quiet_rerun_ingest.md. IN FLIGHT: quiet-node reruns of 38 2b + 2 2c RAL CPU legs (RAL 413267–413271, branches feature/likelihood-lifecycle-p2{b,c}-quiet-rerun, no PRs; they change the shared `_common.py`). NEXT: 2d–2g reviews and batch-0 goes; quiet-rerun ingest; then the human's "campaigns complete" gate for phase 3. -- 2026-10-29 (phase 3 designation proposals DRAFTED, not decided): draft/research/autolens_profiling/likelihood_lifecycle_p3_designation_proposals.md — 26 draft designations (likelihood × regime × hardware class) for 2a/2b/2c from autolens_profiling 32c0becd, with evidence, confirms/overturns §3.3, caveats, questions Q1–Q11 for the human, the release/tag interaction (the 2a–2c JAX rows record jax 0.10.2, which tag 2026.10.25.1 excludes) and the 2d–2g checklist. No Pulse record written; provisional_designations.json unchanged; gated on "campaigns complete". +- 2026-10-29 (phase 3 designation proposals DRAFTED, not decided): draft/research/autolens_profiling/likelihood_lifecycle_p3_designation_proposals.md (closed 2026-11-05; full text incl. the approved Appendix B folded into `complete/2026/11/lifecycle-p3-designation-proposals.md`) — 26 draft designations (likelihood × regime × hardware class) for 2a/2b/2c from autolens_profiling 32c0becd, with evidence, confirms/overturns §3.3, caveats, questions Q1–Q11 for the human, the release/tag interaction (the 2a–2c JAX rows record jax 0.10.2, which tag 2026.10.25.1 excludes) and the 2d–2g checklist. No Pulse record written; provisional_designations.json unchanged; gated on "campaigns complete". - 2026-10-30 (2d–2g batch 0 in; 2g DONE; 2d/2e/2f batch 1 submitted; /prm): batch 0 (2026-10-29, RAL 413272–413274/413292–413293, A100 413294–413297, jax 0.11.2) all 56 legs exit 0, every witness match. autolens_profiling#487 (walls from batch 0, 2d driver keeps the eigen flag off GPU legs) and #488 (2g rows, 6/6 current, coverage 182/272) and PyAutoPulse#82 (likelihood-lifecycle campaign row) MERGED 2026-10-30 (human /prm). Human rulings: loaded RAL nodes accepted (batch-0 RAL rows loadavg 95–109; no quiet gate for batch 1); fix the 2d GPU-leg flag. Batch 1 of 2d/2e/2f SUBMITTED from p2dg @ 830314e9 (RAL 413445–413452, A100 413453–413459). Record complete/2026/10/likelihood-lifecycle-p2g-weak-runs.md. NEXT: verify batch 1, PR B for 2d/2e/2f. - 2026-10-30 (2d/2e/2f DONE; phase 2 coverage complete; phase 3 gate passed; /prm): batch 1 all exit 0 (RAL 413445–413452, A100 413453–413459). PR B autolens_profiling#489 (2d, 48 rows, 24/24 match), #490 (2e, 10 rows, 5/5), #491 (2f, 32 rows, 16/16) MERGED 2026-10-30 (human /prm): coverage 272/272 current, 0 stale, 0 missing, no planned parity witness missing. Records complete/2026/10/likelihood-lifecycle-p2{d-galaxy-group,e-cluster,f-dataset-datacube}-runs.md. HUMAN GATE 2026-10-30 (chat): "yes phase 3 it is" — the phase-2 "campaigns complete" gate is passed. Open phase-2 follow-up: 2b/2c quiet-rerun ingest (draft likelihood_lifecycle_p2bc_quiet_rerun_ingest.md). NEXT: phase 3 from likelihood_lifecycle_p3_designation_proposals.md (extend to 2d–2g, then the human's designation decisions). - 2026-10-30 (phase 3 opened; human rulings): Q1+Q3 per-node axis, close calls stay provisional; Q2 gpu_a100 = A100s only; Q7 re-measure every 2a–2c JAX row on jax 0.11.2 + eigen flag (numba carried; 2b/2c RAL CPU legs covered by the quiet reruns 413319–413323); Q8 freeze on 2026.10.25.1; Q9 settled by the loaded-node ruling. Recorded in likelihood_lifecycle_p3_designation_proposals.md "Human rulings". First bounded phase-3 step: the 2a–2c JAX re-measure submits. diff --git a/draft/research/autolens_profiling/matrix_free_interferometer_phase5.md b/draft/research/autolens_profiling/matrix_free_interferometer_phase5.md index 71e21db53..02ba65ddf 100644 --- a/draft/research/autolens_profiling/matrix_free_interferometer_phase5.md +++ b/draft/research/autolens_profiling/matrix_free_interferometer_phase5.md @@ -54,3 +54,10 @@ What to measure (dense `"fft"` route vs `"matrix_free"`, unconstrained and posit Diagnostics on the inversion: `inversion.operator` (sparse `M`, `curvature_matvec`), `regularization_matrix_sparse`, `positive_result`. The dense route cannot run above ~100²; a matrix-free-only row there is expected, not a failure. Decision rule the note should produce for the assistant: the mesh size (and visibility count) above which `matrix_free` beats `fft` on time and memory, and whether the SLQ evidence error is below the sampler's resolution there. Workspace example (5c) is **dropped until this verdict**; the Settings docs in `autoarray/settings.py` are the only user-facing text. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** 5a: record `complete/2026/10/matrix-free-interferometer-wiring.md`. 5b measurements ran as RAL 413191 inside p2b: autolens_profiling#483 (merged 2026-10-29), 6 of 7 matrix-free rows (35² on 4 instruments + alma 64²/128²); alma 192² timed out and was dropped by human ruling (record `likelihood-lifecycle-p2b-interferometer.md`). +- **Remaining:** A 5b results note with a verdict / decision rules, and the real-dataset table. 5c stays dropped. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/research/euclid/euclid_dr1_positions_gate_remodel_run.md b/draft/research/euclid/euclid_dr1_positions_gate_remodel_run.md index 83d2a7c6d..e35f0e861 100644 --- a/draft/research/euclid/euclid_dr1_positions_gate_remodel_run.md +++ b/draft/research/euclid/euclid_dr1_positions_gate_remodel_run.md @@ -16,3 +16,10 @@ Unblocked 2026-09-25: phase 1 gate shipped (`complete/2026/09/euclid-dr1-positio Witness: positions_meta.json sidecars exist for every dataset/dr1_sep1_rest tile, positions_review.csv lists the review tiles (~280 expected), and the resubmitted locked set's vis_lp fits no longer end on the penalty plateau (f_live < 1, N_eff > 1) for >= 85% of the 736 previously locked tiles. Phase 3 of the positions work (phase 1: #103 gate; phase 2: finder SNR floor). Science/Cortex task in the euclid_dr1 clone (/mnt/c/Users/Jammy/Science/euclid_dr1): port the gate, run it over the 14,032 tiles (~12 CPU-h, RAL array), hold back review tiles, then resubmit the remodel set: 736 locked + 294 unlocked-central + 5 unlocked failing + 85 unfinished, and gate pending tiles before submission. Record the census and outcome in the euclid_dr1 Cortex ledger. Expected: 11,639 keep, 2,043 drop one image, 282 review; T at the 0.3" floor for 96%. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** Gate run and resubmission: Cortex `projects/euclid_dr1.md` (2026-09-25) — rewrite_positions over all DR1, positions_meta.json sidecars (14,029 rest tiles; 133 + 27 marked for review); remodel arrays on finder-2.1 positions 350804, 375700–375703, 366938. +- **Remaining:** The Witness: record whether ≥85% of the 736 locked tiles left the penalty plateau. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/draft/test/workspaces/mesh_magnification_correctness.md b/draft/test/workspaces/mesh_magnification_correctness.md index e95241b8c..094faf110 100644 --- a/draft/test/workspaces/mesh_magnification_correctness.md +++ b/draft/test/workspaces/mesh_magnification_correctness.md @@ -88,3 +88,10 @@ The Delaunay defect the same audit *did* establish was fixed separately — PR #525 merged 2026-09-05): `areas_for_magnification` now returns barycentric dual areas. + +## Re-scoped 2026-11-05 — what is left (draft-queue sweep) + +- **Done:** 4a/4b/4e: records `complete/2026/10/mesh-magnification-areas.md`, `mesh-magnification-knn-areas.md`, `pixelization-mesh-mag-docs.md`. +- **Remaining:** 4c flux-ratio μ and 4d recovery sweep. + +_Evidence from the 2026-11-05 read-only sweep (Mind ledger + GitHub search); remaining items are the live scope of this prompt._ diff --git a/scripts/repos_sync.py b/scripts/repos_sync.py index faf7b4554..25171fa53 100644 --- a/scripts/repos_sync.py +++ b/scripts/repos_sync.py @@ -129,6 +129,7 @@ import re import subprocess import sys +from dataclasses import dataclass from pathlib import Path import smoke_bootstrap_sync as smoke_sync @@ -1010,23 +1011,58 @@ def check_labels(root, repos): # reported as drift. +# The opt-in AGENTS.md blocks: one declaration per generated surface drives +# both the drift check and the --write leg. Opt-in means a repo that has not +# added the markers is skipped (never a problem), an absent AGENTS.md is +# skipped, and a present block must equal the generator byte-for-byte. The +# deliverable and filing blocks are NOT here: they self-install and report a +# missing block, so their contract differs. +@dataclass(frozen=True) +class OptInBlock: + noun: str # as the stale message names it: "'': block is stale" + begin: str + end: str + organs_only: bool = False + + def targets(self, root, repos): + for name, repo in repos.items(): + if self.organs_only and repo["category"] != "organ": + continue + yield name, repo_checkout(root, name) / "AGENTS.md" + + def check(self, root, repos, expected): + problems = [] + for name, agents in self.targets(root, repos): + if not agents.exists(): + continue # not checked out, or no AGENTS.md of its own + text = agents.read_text() + if self.begin not in text or self.end not in text: + continue # opt-in: the repo has not added these markers yet + if extract_block(text, self.begin, self.end) != expected: + problems.append( + f"'{name}': {self.noun} block is stale — run " + f"`python3 PyAutoMind/scripts/repos_sync.py --write`" + ) + return problems + + def write(self, path, content): + write_block(path, content, self.begin, self.end, required=False) + + +MAP_BLOCK = OptInBlock("organism-map", MAP_BEGIN, MAP_END, organs_only=True) +# The history policy is universal — written into every repo (not just organs) +# that has added the markers. Single source (policy/never_rewrite_history.md) +# + this check is what lets the safety text live inline in every repo without +# drifting. +HISTORY_BLOCK = OptInBlock("never-rewrite-history", HISTORY_BEGIN, HISTORY_END) +# Same contract as the history block. Opt-in, not mandatory, so a repo that has +# not added the markers is skipped rather than failing a session (or a CI leg) +# that cannot see it — see the module comment on REMOTE_SESSIONS_FILE. +REMOTE_BLOCK = OptInBlock("remote-session", REMOTE_BEGIN, REMOTE_END) + + def check_map_blocks(root, repos, smap): - problems = [] - for name, repo in repos.items(): - if repo["category"] != "organ": - continue - agents = repo_checkout(root, name) / "AGENTS.md" - if not agents.exists(): - continue # not checked out, or an organ without its own AGENTS.md - text = agents.read_text() - if MAP_BEGIN not in text or MAP_END not in text: - continue # opt-in: an organ that has not added the map markers - if extract_block(text, MAP_BEGIN, MAP_END) != smap: - problems.append( - f"'{name}': organism-map block is stale — run " - f"`python3 PyAutoMind/scripts/repos_sync.py --write`" - ) - return problems + return MAP_BLOCK.check(root, repos, smap) # The two `required=True` targets of --write — the workspace-root AGENTS.md @@ -1072,48 +1108,11 @@ def check_owner_map(root, categories, repos): def check_history_blocks(root, repos, hpol): - """Every AGENTS.md that opts into the repos_sync:history markers must carry - the canonical policy verbatim. Single source (policy/never_rewrite_history.md) - + this check is what lets the safety text live inline in every repo without - drifting.""" - problems = [] - for name in repos: - agents = repo_checkout(root, name) / "AGENTS.md" - if not agents.exists(): - continue - text = agents.read_text() - if HISTORY_BEGIN not in text or HISTORY_END not in text: - continue # opt-in: repo hasn't added the history markers yet - if extract_block(text, HISTORY_BEGIN, HISTORY_END) != hpol: - problems.append( - f"'{name}': never-rewrite-history block is stale — run " - f"`python3 PyAutoMind/scripts/repos_sync.py --write`" - ) - return problems + return HISTORY_BLOCK.check(root, repos, hpol) def check_remote_blocks(root, repos, remote): - """Same contract as the history block: opt in with the markers, and the copy - must then be the canonical text verbatim. - - Opt-in, not mandatory, so a repo that has not added the markers is skipped - rather than failing a session (or a CI leg) that cannot see it. That is also - the honest state of this rollout — see the module comment on - REMOTE_SESSIONS_FILE.""" - problems = [] - for name in repos: - agents = repo_checkout(root, name) / "AGENTS.md" - if not agents.exists(): - continue - text = agents.read_text() - if REMOTE_BEGIN not in text or REMOTE_END not in text: - continue # opt-in: repo hasn't added the remote-session markers yet - if extract_block(text, REMOTE_BEGIN, REMOTE_END) != remote: - problems.append( - f"'{name}': remote-session block is stale — run " - f"`python3 PyAutoMind/scripts/repos_sync.py --write`" - ) - return problems + return REMOTE_BLOCK.check(root, repos, remote) def check_deliverable_blocks(root, repos, policy): @@ -3068,16 +3067,8 @@ def main(): owner_map(categories, repos), required=True, ) - for name, repo in repos.items(): - if repo["category"] != "organ": - continue - write_block( - repo_checkout(root, name) / "AGENTS.md", - smap, - MAP_BEGIN, - MAP_END, - required=False, - ) + for _, agents in MAP_BLOCK.targets(root, repos): + MAP_BLOCK.write(agents, smap) # The history policy is universal — written into every repo (not just # organs) that has added the markers. # @@ -3088,22 +3079,11 @@ def main(): # each repo to opt in is how the long tail stays unprotected.) insert_deliverable_markers(root, repos) for name in repos: + agents = repo_checkout(root, name) / "AGENTS.md" + HISTORY_BLOCK.write(agents, hpol) + REMOTE_BLOCK.write(agents, remote) write_block( - repo_checkout(root, name) / "AGENTS.md", - hpol, - HISTORY_BEGIN, - HISTORY_END, - required=False, - ) - write_block( - repo_checkout(root, name) / "AGENTS.md", - remote, - REMOTE_BEGIN, - REMOTE_END, - required=False, - ) - write_block( - repo_checkout(root, name) / "AGENTS.md", + agents, deliverable, DELIVERABLE_BEGIN, DELIVERABLE_END, diff --git a/state.json b/state.json index 0b00143a3..be18681f5 100644 --- a/state.json +++ b/state.json @@ -4,7 +4,7 @@ "repo": "PyAutoMind", "status": "yellow", "headline": "YELLOW \u2014 24 picks \u00b7 8 in flight", - "updated": "2026-11-05T21:30:12Z", + "updated": "2026-11-05T21:37:48Z", "pages_url": "https://pyautolabs.github.io/PyAutoMind/", "items": [ { @@ -55,12 +55,6 @@ "url": "https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/euclid/sed_chain_waveband_fit_can_spin_forever.md", "prompt": "Use the start-dev skill. draft/bug/euclid/sed_chain_waveband_fit_can_spin_forever.md" }, - { - "severity": "info", - "text": "pick: arXiv's Fastly edge refuses `urllib.request` outright \u2014 retrying a 406 only delays\u2026", - "url": "https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/bug/pyautomind/arxiv_edge_refuses_the_stdlib_urllib_client.md", - "prompt": "Use the start-dev skill. draft/bug/pyautomind/arxiv_edge_refuses_the_stdlib_urllib_client.md" - }, { "severity": "info", "text": "pick: Fix KNN neighbor search for a partial final point block", @@ -109,6 +103,12 @@ "url": "https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/research/euclid/euclid_dr1_positions_gate_remodel_run.md", "prompt": "Use the start-dev skill. draft/research/euclid/euclid_dr1_positions_gate_remodel_run.md" }, + { + "severity": "info", + "text": "pick: Close-out guard: catch shipped work whose Mind draft was never closed, whatever\u2026", + "url": "https://github.com/PyAutoLabs/PyAutoMind/blob/main/draft/feature/pyautobrain/close_out_guard_catch_shipped_work_whose.md", + "prompt": "Use the start-dev skill. draft/feature/pyautobrain/close_out_guard_catch_shipped_work_whose.md" + }, { "severity": "info", "text": "pick: Guard every workspace script against untimed network downloads", diff --git a/tests/test_repos_sync_opt_in_blocks.py b/tests/test_repos_sync_opt_in_blocks.py new file mode 100644 index 000000000..b449e8be7 --- /dev/null +++ b/tests/test_repos_sync_opt_in_blocks.py @@ -0,0 +1,67 @@ +"""The opt-in AGENTS.md blocks share one declaration (`OptInBlock`). + +The map, history and remote blocks used to be three hand-copied check +functions plus hand-copied `write_block` calls; they are now one declaration per +surface driving both legs. This pins the shared contract for each declaration, +so a new opt-in surface inherits it rather than re-copying it. + +Conventions, as in the sibling repos_sync tests: fictional fixtures only +(`tests/**` is copied into the public template), and every leg is shown to FAIL. +""" + +import sys +from pathlib import Path + +import pytest + +sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "scripts")) + +import repos_sync # noqa: E402 + +REPOS = {"OrganCore": {"category": "organ"}, "LibAlpha": {"category": "library"}} +BLOCKS = [repos_sync.MAP_BLOCK, repos_sync.HISTORY_BLOCK, repos_sync.REMOTE_BLOCK] + + +def _agents(root, name, body): + (root / name).mkdir(parents=True, exist_ok=True) + path = root / name / "AGENTS.md" + path.write_text(body) + return path + + +def _with(block, content): + return f"# Repo\n\n{block.begin}\n{content}\n{block.end}\n" + + +@pytest.mark.parametrize("block", BLOCKS, ids=lambda b: b.noun) +def test_a_current_block_passes_and_a_stale_one_is_named(tmp_path, block): + _agents(tmp_path, "OrganCore", _with(block, "canonical")) + assert block.check(tmp_path, REPOS, "canonical") == [] + _agents(tmp_path, "OrganCore", _with(block, "hand-edited")) + assert block.check(tmp_path, REPOS, "canonical") == [ + f"'OrganCore': {block.noun} block is stale — run " + "`python3 PyAutoMind/scripts/repos_sync.py --write`" + ] + + +@pytest.mark.parametrize("block", BLOCKS, ids=lambda b: b.noun) +def test_absent_files_and_missing_markers_are_skipped(tmp_path, block): + assert block.check(tmp_path, REPOS, "canonical") == [] + _agents(tmp_path, "OrganCore", "# Repo\n\nno markers here\n") + assert block.check(tmp_path, REPOS, "canonical") == [] + + +@pytest.mark.parametrize("block", BLOCKS, ids=lambda b: b.noun) +def test_write_repairs_what_check_flags(tmp_path, block): + path = _agents(tmp_path, "OrganCore", _with(block, "stale")) + assert block.check(tmp_path, REPOS, "canonical") + block.write(path, "canonical") + assert block.check(tmp_path, REPOS, "canonical") == [] + + +def test_only_the_map_block_is_organs_only(tmp_path): + for block in BLOCKS: + _agents(tmp_path, "LibAlpha", _with(block, "stale")) + flagged = block.check(tmp_path, REPOS, "canonical") + assert bool(flagged) is (not block.organs_only), block.noun + assert [b.noun for b in BLOCKS if b.organs_only] == ["organism-map"]