diff --git a/active.md b/active.md index fb25a165..49f5026b 100644 --- a/active.md +++ b/active.md @@ -13,3 +13,35 @@ - registered: 2026-08-19 by the wake_up session — the issuing session (claude/autofit-priors-messages-audit-ylvenv) filed the prompt + issue but not this entry, tripping Lifecycle Drift on main. - repos-none-claimed: this entry claims NO repos — one line deliberately, not 2-space bullets. + +## pyautoconf-rename-leftovers +- issue: https://github.com/PyAutoLabs/PyAutoBrain/issues/267 +- issued: 2026-08-24 +- prompt: active/pyautoconf_rename_functional_leftovers.md +- status: library-shipped, awaiting-merge +- library-pr: https://github.com/PyAutoLabs/PyAutoBrain/pull/268 +- was-parked: https://github.com/PyAutoLabs/PyAutoBrain/issues/267#issuecomment-5401398548 + (supervised ship checkpoint; human signed off 2026-08-24 and the PR was opened) +- autonomy: supervised (--auto launch; effective = min(header supervised, bug cap supervised)) +- gate: tests PASS (467); smoke n/a (organism repo); review CLEAN (dispositions on the + question comment); Heart NOT EVALUATED — pyauto-heart unreachable in this web-github + session, so no YELLOW was acknowledged and no RED was seen +- worktree: n/a — web-github session, working from the session clones +- repos: + - PyAutoBrain: claude/pyautoconf-rename-leftovers-38ia48 + +## refactor-witness-map-audit +- issue: https://github.com/PyAutoLabs/PyAutoBrain/issues/269 +- issued: 2026-08-24 +- prompt: active/refactor_witness_map_missing_autonerves.md +- status: library-shipped, awaiting-merge +- library-pr: https://github.com/PyAutoLabs/PyAutoBrain/pull/271 +- autonomy: safe (--auto launch; effective = min(header safe, maintenance cap safe)) +- stacked-on: PyAutoBrain#268 (same policy.yaml maps) — branch based on + claude/pyautoconf-rename-leftovers-38ia48; merge #268 first +- gate: tests PASS (468); smoke n/a (organism repo); review CLEAN (claim + basis-cited on the PR); Heart NOT EVALUATED — pyauto-heart unreachable in this + web-github session +- worktree: n/a — web-github session, working from the session clones +- repos: + - PyAutoBrain: claude/refactor-witness-map-audit diff --git a/draft/bug/pyautobrain/pyautoconf_rename_functional_leftovers.md b/active/pyautoconf_rename_functional_leftovers.md similarity index 98% rename from draft/bug/pyautobrain/pyautoconf_rename_functional_leftovers.md rename to active/pyautoconf_rename_functional_leftovers.md index 9f5f0be8..ce5789f9 100644 --- a/draft/bug/pyautobrain/pyautoconf_rename_functional_leftovers.md +++ b/active/pyautoconf_rename_functional_leftovers.md @@ -9,6 +9,7 @@ Autonomy: supervised Priority: normal Status: formalised Filed: 2026-08-19 (backfilled from git) +Issued: 2026-08-24 Found by the 2026-08-19 readability census (#237). The PyAutoConf → PyAutoNerves rename (package `autoconf` → `autonerves`) was fixed in the reader-facing docs diff --git a/draft/maintenance/pyautobrain/refactor_witness_map_missing_autonerves.md b/active/refactor_witness_map_missing_autonerves.md similarity index 97% rename from draft/maintenance/pyautobrain/refactor_witness_map_missing_autonerves.md rename to active/refactor_witness_map_missing_autonerves.md index 8b0afb71..6f23b89c 100644 --- a/draft/maintenance/pyautobrain/refactor_witness_map_missing_autonerves.md +++ b/active/refactor_witness_map_missing_autonerves.md @@ -9,6 +9,7 @@ Autonomy: safe Priority: low Status: draft Filed: 2026-08-19 (backfilled from git) +Issued: 2026-08-24 ## Finding (2026-08-19, lazy-heavy-imports RefactorDecision) diff --git a/autonomy_log.md b/autonomy_log.md index 5775a598..a5679671 100644 --- a/autonomy_log.md +++ b/autonomy_log.md @@ -240,3 +240,5 @@ Outcome ∈ `merged-unchanged` / `amended` / `rejected` / `parked` / | 2026-07-29 | python-312-floor phase 1E (PyAutoLens#663 / PR#664) | safe (feature medium cap; same resumed acknowledged launch and campaign merge authorization) | tests PASS: 488p on 3.12 + 488p on clean 3.13 JAX profile; wheel METADATA Requires-Python >=3.12 with 3.12/3.13 classifiers and all dependencies/extras preserved / smoke accepted: parallel 61p/1 timeout/3s and isolated retry left only the identical accepted subhalo_recovery.py 300s timeout / Claude Opus 5 CLEAN on exact tree / heart YELLOW score 65, exact four-reason launch set unchanged, no RED / GitHub CI 5/5 green | merged-unchanged (PyAutoLens#664 merge b40fb0ba; head 5b42f3e4 tree-identical to reviewed 83b157014; issue left open; no release; Phase 1 core complete, advance to Phase 2) | | 2026-08-01 | interferometer start_here release-integrate OOM — corrective for Heart RED "release validation FAILED (stage integrate)" (autolens_workspace#449 / PR#450; sibling YELLOW cleared by PyAutoHeart#132) | human-authorized corrective-PR exception, live session 2026-07-31 (quote + approval recorded on #449) | control-vs-patched release-profile runs: unchanged script reproduces RESOURCE_EXHAUSTED, batch_size=4 exit 0 ~5min <4GB / smoke+navigator CI on PR / no review-faculty pass (one-line workspace dial + regenerated notebook) / heart RED — the named reason, shipped under the exception | corrective (merge human-authorized in the same session; validation = tonight's nightly rehearse→integrate on fresh wheels) | | 2026-08-01 | nautilus 1-core serial-pool — corrective for Heart RED "release validation FAILED (stage integrate)" (PyAutoFit#1442 / PR#1443) | corrective-PR exception; authorization = human session instruction quoted verbatim on #1442, given at launch ("fine if any blockers need sorting") rather than after the reason string was surfaced — deviation noted | regression test red-on-main/green-patched; test_autofit/non_linear 411p; py-spy deadlock stacks; control-vs-patched release-env run | corrective (PR-open; merge under the same session authorization; validation = Stage 2/3 dispatch + nightly on fresh wheels) | +| 2026-08-24 | refactor-witness-map-audit (PyAutoBrain#269 / PR#271) | safe (header safe, maintenance cap safe) | tests PASS 468 (no downstream — organ repo, nothing imports Brain) / smoke n/a (organism repo, no script surface) / review CLEAN, lifted claim basis-cited by blobless tree reads of all 10 repos / heart NOT EVALUATED — pyauto-heart unreachable in this web-github session, no verdict obtained | PR-open (stacked on #268; merge human) | +| 2026-08-24 | pyautoconf-rename-leftovers (PyAutoBrain#267 / PR#268) | supervised (header supervised, bug cap supervised) | tests PASS 467 (no downstream — organ repo) / smoke n/a (organism repo, no script surface) / review CLEAN, 3 claim dispositions incl. one demoted to idle (a test count cited from a Mind record, not re-run) / heart NOT EVALUATED — pyauto-heart unreachable in this web-github session | parked at ship sign-off per the supervised contract, then PR-open on human sign-off same session; merge human | diff --git a/dashboard.html b/dashboard.html index aa33b4a3..f413ae50 100644 --- a/dashboard.html +++ b/dashboard.html @@ -142,7 +142,7 @@

PyAutoMindDashboard

Intent. Priority. Flow.

Every task the Mind is holding. Tap a task's 📋 and its /start_dev command is on your clipboard — paste it into a Claude Code chat to route Claude straight to that task. Recent is the same work by date — what has been happening rather than what to do next.

- +

Last updated 2026-08-24. This page is generated from active/, draft/ and the registry files, so it is only as current as they are. dashboard_refresh.yml re-renders it on every push to main — that heals a stale page, but not a stale prompt: a task that shipped without its prompt advancing to complete/ keeps rendering here as pickable backlog. Reconciling those is the refresh below.

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

+

PyAutoConf rename leftovers in Brain functional surfacesissue #267 — issued 2026-08-24library-shipped, awaiting-merge

+

Refactor Agent witness map lacks PyAutoNerves test suiteissue #269 — issued 2026-08-24library-shipped, awaiting-merge

Parked markdown version

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

Planned

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

Backlog markdown version

-

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

+

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

feature — 27

Numba CPU likelihood phase 1: batched MGE convolution + operated-matrix caching✨ featureautoarraymediumsupervisedhigh

@@ -249,7 +251,6 @@

Backlog

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

-

PyAutoConf rename leftovers in Brain functional surfaces🐛 bugpyautobrainsmallsupervisednormal

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

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

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

@@ -259,6 +260,7 @@

Backlog

JIT cache not hit in modeling_visualization delaunay/rectangular scripts🐛 bugautolensmediumsupervisednormal

+

Organ repo spellings split across two normalised keys🐛 bugpyautobrainlargesupervisednormal

Resolve release-profile timeout scripts deliberately🐛 bughealth_fixestoo-largesupervisednormal

Priors & Messages cleanup — tracker🐛 bugpriorstoo-largesupervisednormal

@@ -269,7 +271,7 @@

Backlog

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

-maintenance — 24 +maintenance — 23

autocti_workspace has no Navigator Check, so its CI can never roll…🧹 maintenancecimediumsupervisedhigh

Untrack the generated FITS test artifacts in autoarray🧹 maintenancelibrariessmallsupervisedmedium

smoke_install.sh's stale jax<0.7 pin — CI is on the right jax…🧹 maintenancecilowsupervisedmedium

@@ -293,7 +295,6 @@

Backlog

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

-

Refactor Agent witness map lacks PyAutoNerves test suite🧹 maintenancepyautobrainlowsafelow

research — 14 @@ -389,6 +390,24 @@

Backlog 2026-08-24 +issued +Refactor Agent witness map lacks PyAutoNerves test suite + + + +2026-08-24 +issued +PyAutoConf rename leftovers in Brain functional surfaces + + + +2026-08-24 +filed +Organ repo spellings split across two normalised keys + + + +2026-08-24 filed Heart's local smoke runner cannot run any CTI workspace — no autocti… @@ -399,19 +418,19 @@

Backlog pynufft removal: unswept downstream residue (1 hard break + stale… - + 2026-08-23 filed Phase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTI… - + 2026-08-23 filed Brain board follow-ups: what real mornings surface - + 2026-08-22 filed smoke_install.sh's stale jax<0.7 pin — CI is on the right jax… @@ -516,24 +535,12 @@

Backlog 2026-08-19 filed -Refactor Agent witness map lacks PyAutoNerves test suite - - - -2026-08-19 -filed RTD organism docs currency: Nerves page, organ-count drift, hands.md… 2026-08-19 filed -PyAutoConf rename leftovers in Brain functional surfaces - - - -2026-08-19 -filed Deduplicate repos_sync.py's check/write pairs @@ -651,12 +658,6 @@

Backlog cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB of… - -2026-08-04 -filed -autolens_workspace_developer: broad stale-API rot (56 symbols, no CI) - -

Epics markdown version

diff --git a/dashboard.md b/dashboard.md index 24945eb2..d6906111 100644 --- a/dashboard.md +++ b/dashboard.md @@ -42,10 +42,10 @@ anything you could not verify. | Where | Count | |-------|------:| -| [In flight](#in-flight) (`active/`) | 1 | +| [In flight](#in-flight) (`active/`) | 3 | | [Parked](#parked) (`parked.md`) | 3 | | [Planned](#planned) (`planned.md`) | 5 | -| [Backlog](#backlog) (`draft/`) | 142 | +| [Backlog](#backlog) (`draft/`) | 141 | ## Start here @@ -185,6 +185,22 @@ Issued — each has an open GitHub issue and usually a branch. The full record f
+
📋 PyAutoConf rename leftovers in Brain functional surfacesissue #267 — issued 2026-08-24 — library-shipped, awaiting-merge + +``` +/start_dev active/pyautoconf_rename_functional_leftovers.md +``` + +
+ +
📋 Refactor Agent witness map lacks PyAutoNerves test suiteissue #269 — issued 2026-08-24 — library-shipped, awaiting-merge + +``` +/start_dev active/refactor_witness_map_missing_autonerves.md +``` + +
+ ## Parked Started or scoped, not currently in flight — resume by moving the row back to `active.md`. Full detail in [`parked.md`](parked.md). @@ -269,7 +285,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned. ## Backlog -**142** filed prompts, not started. Each section is sorted most-pickable first (priority, then size). **25** of them belong to an epic and are listed only under [Epics](#epics) below. +**141** filed prompts, not started. Each section is sorted most-pickable first (priority, then size). **25** of them belong to an epic and are listed only under [Epics](#epics) below.
feature — 27 @@ -551,14 +567,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 PyAutoConf rename leftovers in Brain functional surfaces — pyautobrain · small · supervised · normal - -``` -/start_dev draft/bug/pyautobrain/pyautoconf_rename_functional_leftovers.md -``` - -
-
📋 generate.py deletes notebooks/ before rejecting an unknown project — pyautohands · small · supervised · normal ``` @@ -631,6 +639,14 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
+
📋 Organ repo spellings split across two normalised keys — pyautobrain · large · supervised · normal + +``` +/start_dev draft/bug/pyautobrain/organ_repo_spellings_split_across_keys.md +``` + +
+
📋 Resolve release-profile timeout scripts deliberately — health_fixes · too-large · supervised · normal ``` @@ -698,7 +714,7 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-maintenance — 24 +maintenance — 23
📋 autocti_workspace has no Navigator Check, so its CI can never roll… — ci · medium · supervised · high @@ -884,14 +900,6 @@ Scoped but not started; some are not yet prompt files. Full detail in [`planned.
-
📋 Refactor Agent witness map lacks PyAutoNerves test suite — pyautobrain · low · safe · low - -``` -/start_dev draft/maintenance/pyautobrain/refactor_witness_map_missing_autonerves.md -``` - -
-
@@ -1263,16 +1271,19 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 2026-08-24 | filed | autocti_workspace has no Navigator Check, so its CI can never roll… | | 2026-08-24 | filed | Un-park multi_galaxy/features/scaling_relation/slam once a capped run… | | 2026-08-24 | filed | The weekly smoke run's timings land in results-* under no… | +| 2026-08-24 | issued | Refactor Agent witness map lacks PyAutoNerves test suite | +| 2026-08-24 | issued | PyAutoConf rename leftovers in Brain functional surfaces | +| 2026-08-24 | filed | Organ repo spellings split across two normalised keys | | 2026-08-24 | filed | Heart's local smoke runner cannot run any CTI workspace — no autocti… | | 2026-08-23 | filed | pynufft removal: unswept downstream residue (1 hard break + stale… | -| 2026-08-23 | filed | Phase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTI… | -| 2026-08-23 | filed | Brain board follow-ups: what real mornings surface | -| 2026-08-22 | filed | smoke_install.sh's stale jax<0.7 pin — CI is on the right jax… |
… 10 more (40 left) | Date | Event | Task | |------|-------|------| +| 2026-08-23 | filed | Phase 3: stop installing pynufft in Hands/Heart CI and PyAutoCTI… | +| 2026-08-23 | filed | Brain board follow-ups: what real mornings surface | +| 2026-08-22 | filed | smoke_install.sh's stale jax<0.7 pin — CI is on the right jax… | | 2026-08-22 | filed | Untrack the generated FITS test artifacts in autoarray | | 2026-08-22 | filed | The reconstruction noise map describes a different estimator than the… | | 2026-08-22 | filed | Point-source JSON datasets record no resolution regime | @@ -1280,29 +1291,27 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 2026-08-22 | filed | Defer the eager scipy.sparse import in derivative_util (~0.10 s of… | | 2026-08-22 | filed | Bug: fix the tracer.fits existence guard in autolens_workspace… | | 2026-08-21 | filed | Rectangular mesh split: Bilinear (fast CPU default) vs RTU… | -| 2026-08-20 | filed | Numba CPU likelihood phase 2: kernel-CDF numba fast path (the 49-88%… | -| 2026-08-20 | filed | Numba CPU likelihood phase 1: batched MGE convolution +… | -| 2026-08-19 | filed | status.sh --repos sources a file that no longer exists |
… 10 more (30 left) | Date | Event | Task | |------|-------|------| +| 2026-08-20 | filed | Numba CPU likelihood phase 2: kernel-CDF numba fast path (the 49-88%… | +| 2026-08-20 | filed | Numba CPU likelihood phase 1: batched MGE convolution +… | +| 2026-08-19 | filed | status.sh --repos sources a file that no longer exists | | 2026-08-19 | filed | jax 0.11 breaks beta/gamma message log_partition under jit… | | 2026-08-19 | filed | autolens_workspace_test jax_likelihood pins: 4 scripts fail smoke on… | | 2026-08-19 | filed | autofit_profiling: bootstrap the repo + general PyAutoFit profiling… | | 2026-08-19 | filed | autoreduce 0.9 on PyPI never got the Python 3.12 floor | | 2026-08-19 | issued | @PyAutoFit TransformedMessage.factor_gradient crashes on first… | | 2026-08-19 | filed | Release board: local run_logs enrichment | -| 2026-08-19 | filed | Refactor Agent witness map lacks PyAutoNerves test suite | | 2026-08-19 | filed | RTD organism docs currency: Nerves page, organ-count drift, hands.md… | -| 2026-08-19 | filed | PyAutoConf rename leftovers in Brain functional surfaces | -| 2026-08-19 | filed | Deduplicate repos_sync.py's check/write pairs |
… 10 more (20 left) | Date | Event | Task | |------|-------|------| +| 2026-08-19 | filed | Deduplicate repos_sync.py's check/write pairs | | 2026-08-19 | filed | Bug in autocti_workspace: the dataset_1d results/database example… | | 2026-08-18 | parked | single-source-density-design | | 2026-08-18 | parked | prior-message-collapse-design | @@ -1312,12 +1321,12 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 2026-08-16 | filed | LogGaussianPrior misreports its own support as (-inf, inf) | | 2026-08-14 | filed | Three jax_likelihood pins are stale by ~1.24e-4 and fail the smoke… | | 2026-08-09 | found | isothermal-ell-sph-oversampling-at-the-cusp | -| 2026-08-08 | parked | pyautoreduce-slacs1430-acs-comparison |
… 10 more (10 left) | Date | Event | Task | |------|-------|------| +| 2026-08-08 | parked | pyautoreduce-slacs1430-acs-comparison | | 2026-08-08 | filed | Regenerate autolens_workspace markdown/ so the MGE pages show… | | 2026-08-07 | filed | autofit.plot functions accept **kwargs and silently discard them | | 2026-08-07 | filed | Regenerate setup_notebook-drifted notebooks in… | @@ -1327,7 +1336,6 @@ The 50 newest things to happen to the work in hand, newest first — issued, par | 2026-08-05 | filed | Give PyAutoFit searches a seed — today no search can be made… | | 2026-08-04 | filed | dataset/imaging/jwst_lw is untracked because the gitignore was never… | | 2026-08-04 | filed | cosmos_web_ring stores boolean masks as float64, wasting ~3.4 MB of… | -| 2026-08-04 | filed | autolens_workspace_developer: broad stale-API rot (56 symbols, no CI) |
diff --git a/draft/bug/pyautobrain/organ_repo_spellings_split_across_keys.md b/draft/bug/pyautobrain/organ_repo_spellings_split_across_keys.md new file mode 100644 index 00000000..34988441 --- /dev/null +++ b/draft/bug/pyautobrain/organ_repo_spellings_split_across_keys.md @@ -0,0 +1,71 @@ +# Organ repo spellings split across two normalised keys + +Type: bug +Target: pyautobrain +Repos: +- PyAutoBrain +Difficulty: large +Autonomy: supervised +Priority: normal +Status: formalised +Filed: 2026-08-24 + +Found while shipping the refactor witness-map audit (@PyAutoBrain#269 / PR #271). + +## The defect + +The bare spellings of the organ repos do not normalise to the same key as their +repo spellings, so a policy map keyed on one is invisible to the other. + +@PyAutoBrain/agents/faculties/sizing/_sizing.py (`_target_sets.names_for`) +registers BOTH spellings of every `PyAuto*` repo as known targets +(`name.lower()` and `name.lower()[2:]`), but the `repo_aliases` table in +@PyAutoBrain/config/policy.yaml only joins them for the libraries: + +| mention | normalises to | resolves? | +|---|---|---| +| `@PyAutoBrain` | `pyautobrain` | yes | +| `@autobrain` | `autobrain` | no — a known target with nothing filed under it | + +Same for the bare Heart, Memory, Mind and Gut spellings. `@autohands` was joined +in PR #271 because `extra_organism_targets` declares it explicitly and it +reaches real code today; the rest are latent — no prompt in the Mind history +uses them yet. + +## Decide before fixing + +This is NOT a blind alias sweep. Should organs key on the bare form +(`autobrain`) or the prefixed form (`pyautobrain`)? `target_signals` keys the +prefixed form (`pyautobrain`, `pyautomind`, `pyautoheart`, `pyautobuild`), and +after #271 `test_witness` keys organs prefixed but libraries bare. Whichever way +it goes has to hold across both maps at once, so answer the question first and +let the edit follow. + +## The wider question this raises + +Three separate repos have now hit this same defect class — PyAutoNerves +(#267), PyAutoCTI and PyAutoReduce (#269). The shared cause is that +`repo_aliases` is HAND-MAINTAINED while the known-target set is DERIVED from the +body map, so the two drift silently and the gap only ever surfaces as a +wrong-but-plausible conductor message ("strengthen tests first" for a +well-tested repo). + +Guard 2 added in #271 — a witness-map key must be what its repo normalises to — +closes the witness-map instance only. An alias gap in a map with no coverage +guard is still invisible. Consider deriving `repo_aliases` from the body map so +the class closes rather than its fourth instance. + +## Notes on this prompt's header + +`pyauto-brain intake classify` scored this `bug` at high confidence (kept), but +proposed `Target: autocti` — it read the prior-instance history above as the +subject — and `Difficulty: too-large` (score 10), inflated by the repo names and +the design-decision keywords. Corrected to `pyautobrain` / `large` on review. +An alternative classification is `refactor`: the fix is behaviour-preserving for +every spelling that resolves today. `bug` was kept because the Bug Agent's +investigate-first strategy matches the "decide before fixing" requirement above. + +Acceptance: every spelling of every body-map repo that `_target_sets` registers +as a known target resolves to a key the policy maps are actually filed under, or +is deliberately not registered; a guard makes a future alias gap fail loudly +rather than degrade a conductor's advice.