chore: park tutorial_5_expectation_propagation as NEEDS_FIX - #44
Merged
Conversation
`LinearRegressionAnalysis.log_likelihood_function` returns a constant `-1` and ignores `instance`, so every initial sample drawn for that factor has an identical figure of merit and its per-factor search cannot initialise. At real sampling the `linear_regression` factor never completes a single update. The tutorial "passes" CI today only because HowToFit runs at `PYAUTO_TEST_MODE=2`, which bypasses the sampler and therefore the initializer — so the breakage is invisible to the gate while being the first thing a reader running the tutorial for real would hit. Parked rather than fixed: a real fix needs a likelihood for the m/c regression over `fwhm_list` (computed just above the class and then never used), which is tutorial authoring rather than a mechanical repair, and the tutorial gives no indication what the regression is meant to be against. NEEDS_FIX rather than a plain skip, so every mega-run surfaces it instead of it becoming a permanent silent exclusion. Surfaced by PyAutoFit#1454, which made the failure legible by naming the stale factor instead of dying on a raw InitializerException. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GSBb1i58cNhTx64yxBGPfs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
tutorial_5_expectation_propagation.pycannot run at real sampling, and has not been able to for as long as the current code has been there.A constant likelihood that ignores
instance, so every initial sample drawn for that factor has an identical figure of merit and its per-factor search cannot initialise. At real sampling thelinear_regressionfactor never completes a single update.It passes CI today only because HowToFit runs at
PYAUTO_TEST_MODE=2, which bypasses the sampler and therefore the initializer entirely. So the gate is green on a script that fails the first thing a reader does with it — run the tutorial.Why parked rather than fixed
A real fix needs a likelihood for the
m/cregression overfwhm_list— which is computed immediately above the class and then never used by anything. The tutorial gives no indication what that regression is meant to be against, and there is no prose around the stub. Writing one means authoring teaching content and inventing x-values and a noise model, not repairing a defect, so it wants a decision rather than a guess.Why
NEEDS_FIXrather than a plain skipPer the convention documented at the top of
no_run.yaml:NEEDS_FIXentries are a to-do list, surfaced with a warning banner on every mega-run, not permanent exclusions. Verified withautohands/slow_skip_check.py, which reports it with the full reason and the date;should_skipmatches only this script (tutorial_optional_hierarchical_epandtutorial_4_hierachical_modelsare unaffected), and the YAML parses.How it surfaced
PyAutoFit#1454 (merged). Before it, this failed with a raw
InitializerExceptionwhose text blamednanlikelihoods — a cause that check cannot detect. After it, the run completes and emits aSTALE FACTORSwarning naminglinear_regression, which is what made the actual bug findable.Generated by Claude Code