Stage 3 release rehearsal PyAutoHeart #19 found one remaining failure in autolens_workspace/scripts/guides/results/aggregator/samples.py.
The guide manually reconstructs every stored point with Sample.instance_for_model(...). A historical/test-mode point whose ellipticity is now rejected by PyAutoGalaxy's valid parameter guard raises ModelParameterException (the intended FitException contract), bypassing the filtering added to PyAutoFit aggregators in #1466.
Add a public Samples operation that returns valid (sample, instance) pairs, skips only points rejected with FitException, and propagates programming errors. Reuse it from the aggregator and update the workspace guide so derived quantities and their weights stay aligned after rejected historical points are removed.
Do not weaken PyAutoGalaxy guards and do not catch broad exceptions. Add tests for valid filtering, all-invalid behavior, and non-FitException propagation.
Stage 3 release rehearsal PyAutoHeart #19 found one remaining failure in
autolens_workspace/scripts/guides/results/aggregator/samples.py.The guide manually reconstructs every stored point with
Sample.instance_for_model(...). A historical/test-mode point whose ellipticity is now rejected by PyAutoGalaxy's valid parameter guard raisesModelParameterException(the intendedFitExceptioncontract), bypassing the filtering added to PyAutoFit aggregators in #1466.Add a public
Samplesoperation that returns valid(sample, instance)pairs, skips only points rejected withFitException, and propagates programming errors. Reuse it from the aggregator and update the workspace guide so derived quantities and their weights stay aligned after rejected historical points are removed.Do not weaken PyAutoGalaxy guards and do not catch broad exceptions. Add tests for valid filtering, all-invalid behavior, and non-
FitExceptionpropagation.