Skip to content

Latest commit

 

History

History
112 lines (103 loc) · 8.71 KB

File metadata and controls

112 lines (103 loc) · 8.71 KB

isothermal-ell-sph-oversampling-at-the-cusp

  • status: planned — NOT yet a prompt file; file one via /intake before 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)) and mp.IsothermalSph are the same profile analytically. Under the DEFAULT over_sample_size=4 their potential disagrees by up to 7% at the central pixel (0.0707 vs 0.0761). With over_sample_size=1 the disagreement collapses to 3.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 the r -> 0 cusp and the two forms diverge there.
  • benign baseline (explained, no action): the elliptical form clips axis_ratio to 0.99999 for numerical stability while IsothermalSph hardcodes 1.0; that propagates into einstein_radius_rescaled (0.5000025 vs 0.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-2 tolerance pinned in test_autogalaxy/profiles/test_validate.py::test__b10__potential_agrees_between_elliptical_and_spherical_isothermal papers 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-03 relative, 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

remote-mcp-deployment-tiers

  • 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_ROOTS path 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

samples-parameter-paths

  • 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:

jax-point-source-point-smoke-sentinel

  • 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.py fails its hardcoded -83.38049778 literal — fitness._vmap returns the -1e99 non-finite-likelihood sentinel from FitPositionsImagePairAll on 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.

nfw-truncated-potential-accuracy

  • 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
      1. is too narrow. Reproduce on clean main first.
  • affected-repos:
    • PyAutoGalaxy

piemass-potential

  • 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

latent-nan-guard-honest-run

  • issue: NEEDS A FRESH ISSUE — #1413 was auto-closed when PyAutoFit#1415 merged (its Closes line). 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_robustness with 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.