Skip to content

chore: park double_einstein_ring/slam as NEEDS_FIX (Cluster H)#134

Merged
Jammy2211 merged 1 commit intomainfrom
feature/park-double-einstein-ring
May 7, 2026
Merged

chore: park double_einstein_ring/slam as NEEDS_FIX (Cluster H)#134
Jammy2211 merged 1 commit intomainfrom
feature/park-double-einstein-ring

Conversation

@Jammy2211
Copy link
Copy Markdown
Collaborator

Summary

scripts/imaging/features/advanced/double_einstein_ring/slam.py crashes under PYAUTO_TEST_MODE=2 with autofit.exc.FitException at analysis.py:84. Investigation traced the failure to a structural incompatibility between bypass mode and Adapt regularization:

  • Adapt.regularization_weights_fromMapper.pixel_signals_from does self.adapt_data.array, which is None under bypass.
  • The same None-deref is reachable from multiple inversion entry points (likelihood evaluation, post-fit result.subtracted_signal_to_noise_map_galaxy_dict, etc.), so patching one site only unblocks the next.
  • Even after a defensive FitException-tolerance patch in _fit_bypass_test_mode (which I drafted and then rolled back), the script fails downstream when the next SLaM phase derives adapt_images from the synthetic samples_summary.
  • A real end-to-end fix requires either (a) defensively pretending Adapt works without adapt_data (silent semantic change — unsafe) or (b) restructuring the SLaM bypass to construct valid adapt_data (large refactor).

This was Cluster H of the recent release-prep triage. Parking alongside imaging/features/pixelization/slam # NEEDS_FIX 2026-04-10 which has the same root cause and has been parked for ~26 days.

Files Changed

  • config/build/no_run.yaml — one new # NEEDS_FIX 2026-05-07 entry for imaging/features/advanced/double_einstein_ring/slam. Sibling of the existing imaging/features/pixelization/slam entry.

Test Plan

  • Visual diff inspection — one line added, format matches existing NEEDS_FIX entries.
  • Confirmed by next mega-run: the script no longer appears in the failure list and instead surfaces in the NEEDS_FIX-warning banner.

🤖 Generated with Claude Code

scripts/imaging/features/advanced/double_einstein_ring/slam.py crashes
under PYAUTO_TEST_MODE=2 with autofit.exc.FitException at
PyAutoLens/autolens/imaging/model/analysis.py:84. Investigation
revealed a cascade: Adapt regularization (used by the SLaM
pixelization phases) requires per-galaxy adapt_data that the
synthetic samples_summary produced by bypass mode does not carry.
The same Mapper.pixel_signals_from None-deref is reachable from
multiple inversion entry points (log_likelihood, post-fit
result.subtracted_signal_to_noise_map_galaxy_dict, etc.), so
patching one site only unblocks the next. Even after a defensive
FitException-tolerance patch in _fit_bypass_test_mode, the script
fails downstream when the next SLaM phase derives adapt_images
from the synthetic result. Fixing this end-to-end requires either
defensively pretending Adapt regularization works without
adapt_data (silent semantic change — unsafe) or restructuring the
SLaM bypass to construct valid adapt_data (large refactor).

Park alongside imaging/features/pixelization/slam (NEEDS_FIX
2026-04-10) which has the same root cause. A follow-up issue will
track the broader bypass-mode + Adapt incompatibility.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@Jammy2211 Jammy2211 added the pending-release PR queued for the next release build label May 7, 2026
@Jammy2211 Jammy2211 merged commit c7054a2 into main May 7, 2026
5 checks passed
@Jammy2211 Jammy2211 deleted the feature/park-double-einstein-ring branch May 7, 2026 15:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending-release PR queued for the next release build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant