- status: planned — NOT yet a prompt file; file one via
/intakebefore starting - found: 2026-08-09, while pinning B10 of the @rhayes777 audit (
complete/2026/08/autogalaxy-profile-validation-guards.md) - classification: library (PyAutoGalaxy) — accuracy / numerical, NOT part of the audit
- summary:
mp.Isothermal(ell_comps=(0,0))andmp.IsothermalSphare the same profile analytically. Under the DEFAULTover_sample_size=4their potential disagrees by up to 7% at the central pixel (0.0707vs0.0761). Withover_sample_size=1the disagreement collapses to3.2e-06— the same order as the deflections (2.4e-06). So this is an over-sampling artefact at the profile's singular centre, not a broken potential: over-sampling averages sub-pixel values across ther -> 0cusp and the two forms diverge there. - benign baseline (explained, no action): the elliptical form clips
axis_ratioto0.99999for numerical stability whileIsothermalSphhardcodes1.0; that propagates intoeinstein_radius_rescaled(0.5000025vs0.5) and accounts for the ~1e-6 floor. This is what @rhayes777 reported as B10 and it is correctly pinned. - why it still matters: the
1e-2tolerance pinned intest_autogalaxy/profiles/test_validate.py::test__b10__potential_agrees_between_elliptical_and_spherical_isothermalpapers over that 7% local disagreement, and the same over-sampling-at-a-singularity behaviour may affect other singular profiles. - CORRECTION on the record: PyAutoGalaxy#566's PR body and the comment on PyAutoGalaxy#440 describe this as the potential agreeing "three orders of magnitude worse" at
1.9e-03relative, framed as an accuracy defect. That normalised by the GLOBAL MAX potential and mis-attributed the cause. Superseded by the analysis above. - RETRACTED: the guess that this shares a root cause with
draft/bug/autogalaxy/nfw_truncated_potential_accuracy.md(MGE decomposition). It does not — MGE is not involved. - affected-repos:
- PyAutoGalaxy
- issue: PyAutoLabs/autofit_assistant#20 (design/scope shipped 2026-07-21; build gated)
- status: DESIGN-COMPLETE, build BLOCKED-ON-DEMAND — issue #20 holds the full auth/transport/hosting design + Richard/PyAutoMCP coordination. No code, no network surface built. Per prompt "if it earns it": build tiers 2/3 only once demonstrated demand for REMOTE access exists.
- filed: 2026-07-21
- prompt: draft/feature/autofit_assistant/remote_mcp_deployment_tiers.md
- classification: feature (autofit_assistant + autolens_assistant) — transport/deployment/auth, NOT new tools
- suggested-branch: feature/remote-mcp-deployment-tiers
- blocked-by: (1) demonstrated demand for remote access; (2) MANDATORY security-review skill pass before any PR — never auto-ship (network-facing arbitrary-file-read surface; intake mis-sized it small/safe)
- summary: tier2 = opt-in
mcp.run(streamable-http)+ bearer-token ASGI middleware +PYAUTO_MCP_ALLOWED_ROOTSpath confinement behind cloudflared/ngrok (default stays stdio); tier3 = hosted OAuth/OIDC + per-user scoping (Euclid sample triage; rhayes777/aggregator-agent consumer). Coordinate with Richard FIRST (rhayes777/PyAutoMCP = broader compute/optimise MCP, no transport/auth layer yet) — converge on profiles sharing one auth/transport layer, or share only the tunnel recipe. - affected-repos:
- autofit_assistant
- autolens_assistant
- prompt: draft/bug/health_fixes/samples_parameter_paths.md
- issue: PyAutoLabs/PyAutoFit#1327 (open, parked)
- status: parked
- filed: 2026-07-08
- classification: library (PyAutoFit) — bug, health_fixes cluster
- suggested-branch: feature/samples-parameter-paths
- blocked-by: clean-output CI re-validation (does NOT reproduce on current main)
- summary: | Investigated the PyAutoHeart #27 release KeyError in parameter_lists_for_paths. Does NOT reproduce on current main: two legs (shapelets 125-prior Basis; multi-analysis 22-prior) pass in-memory AND via true from-disk reload (model.json + samples.csv), plus all synthetic round-trips. The 745117bd7 fix (May 2026) was already in main at the 2026-07-06 run; failure most consistent with STALE cached output/ in the release run. No library fix warranted — parked pending a clean-output CI re-run. Sibling health_fixes/ prompts from the same run are suspect too. Full trail: PyAutoFit#1327 comments.
- affected-repos:
-
prompt: draft/bug/autolens/jax_point_source_point_smoke_sentinel.md
-
status: planned
-
filed: 2026-05-21
-
classification: library (triage; routing TBD by bisect)
-
suggested-branch: feature/jax-point-source-point-smoke-sentinel
-
summary: | Pre-existing regression surfaced during fast-viz-zero-contour-perf smoke.
autolens_workspace_test/scripts/jax_likelihood_functions/point_source/point.pyfails its hardcoded-83.38049778literal —fitness._vmapreturns the-1e99non-finite-likelihood sentinel fromFitPositionsImagePairAllon canonical main of all three libraries. Last known good: 2026-05-08 (autolens_workspace_test@362cfa8 rebaseline). Sibling JAX point-source profiling drift already tracked as PyAutoLens#514; this is a more severe symptom on a different file — held as two hypotheses (same root cause / independent regression) for triage.Affected repos (when resumed): - PyAutoLens (likely primary — PointSolver / FitPositionsImagePairAll) - PyAutoGalaxy or PyAutoArray (possible — bisect will say) - autolens_workspace_test (literal rebaseline OR no change, depending on outcome)
Sibling smoke scripts to check while triaging: image_plane.py, source_plane.py in the same dir — they share the seed dataset.
- prompt: draft/bug/autogalaxy/nfw_truncated_potential_accuracy.md
- status: planned
- filed: 2026-06-05
- classification: library (accuracy bug)
- suggested-branch: feature/nfw-truncated-potential-accuracy
- summary: |
Pre-existing accuracy bug surfaced while shipping dark-matter-potentials.
NFWTruncatedSph.potential_2d_from (MGE) fails grad(psi)=alpha self-
consistency in autolens_workspace_test/scripts/mass/dark.py (med 7.1e-2 vs
~8e-4 for every other NFW/gNFW/cNFW variant). Deflections pass, only the
potential is off — likely the MGE sigma range (radii_max = truncation_radius
-
- is too narrow. Reproduce on clean main first.
-
- affected-repos:
- PyAutoGalaxy
- prompt: draft/feature/autogalaxy/piemass_potential.md
- status: planned
- filed: 2026-06-05
- classification: library (missing feature)
- suggested-branch: feature/piemass-potential
- summary: | PIEMass (Lenstool-ported PIE) has no potential_2d_from, so it now raises a clean NotImplementedError (post dark-matter-potentials) and crashes tracer visualization (potential FITS extension) — same class as the original NFW bug, different profile. No MGE/CSE decomposition hook exists; needs an analytic port (Kassiola & Kovner 1993, or the dPIEMass r_s->inf limit) or a new convergence-MGE hook. Validate via grad(psi)=alpha self-consistency.
- affected-repos:
- PyAutoGalaxy
- issue: NEEDS A FRESH ISSUE — #1413 was auto-closed when PyAutoFit#1415 merged (its
Closesline). Library half is DONE+MERGED; file a new issue for this workspace half at /start_dev time. - planned: 2026-07-22
- classification: workspace
- suggested-branch: feature/latent-nan-guard-honest-run
- blocked-by: slow-skip-timeout-cap-doc (using autolens_workspace_test; PR #194 OPEN/MERGEABLE)
- affected-repos:
- autolens_workspace_test
- note: latent/latent_nan_robustness.py PASSES but VACUOUSLY under the smoke profile — TEST_MODE=2 yields only 4 bypass samples, and DISABLE_JAX=1 silently flips its deliberate AnalysisImaging(use_jax=True) to False (PyAutoLens analysis/analysis/dataset.py:89), so the JAX column-masking branch the guard exists to catch is never taken. MultiStartAdam/BlackJAXNUTS precedent. Work = (1) config/build/env_vars.yaml override for
latent/latent_nan_robustnesswith unset: [PYAUTO_TEST_MODE, PYAUTO_DISABLE_JAX]; (2) trim the script under the 300s cap. MEASURED: honest run = 412s; PYAUTO_TEST_MODE=1 does NOT help (455s) — Nautilus is NOT the bottleneck (~136s post-fit results update + ~56s latent compute on 100 samples), so the lever is sample count. Script is in the curated smoke_tests.txt, which DOES read env_vars.yaml, so this lands in the per-PR gate. Adjacent to the blocker's own follow-up ("re-time the SLOW siblings"). NOT bugs, verified passing from clean output, no change needed: imaging/model_fit.py and latent/latent_variables_smoke.py.