Skip to content

prompt: retire loggaussian-prior-support, file and work its four follow-ups - #350

Merged
Jammy2211 merged 5 commits into
mainfrom
claude/loggaussian-prior-support-ngh59x
Aug 27, 2026
Merged

prompt: retire loggaussian-prior-support, file and work its four follow-ups#350
Jammy2211 merged 5 commits into
mainfrom
claude/loggaussian-prior-support-ngh59x

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

Mind state for the loggaussian-prior-support lineage. Three commits, no code.

1. The close-out that never landed (046acb2b). draft/bug/autofit/loggaussian_prior_declares_own_support.md shipped 2026-08-25 as PyAutoFit#1527 (merged 34d6dff), closing PyAutoFit#1526 — but the Mind half was lost when that session's branch claude/loggaussian-prior-support-buv5xe was condemned the same day. The prompt stayed in draft/, rendering on the dashboard as pickable backlog, and a /start_dev run on 2026-08-27 rediscovered the work already merged. This writes the completion record from the issue, the PR and main itself, and retires the prompt.

2. The four follow-ups filed (ba71d5c2). From that record's follow-up list.

3. The four follow-ups worked (442a67ec).

# Prompt Outcome
1 refactor/autofit/optimisation_state_limit_guard_truthiness.md implemented — PyAutoFit#1532
2 refactor/autofit/redundant_prior_limits_overrides.md implemented — same PR
3 research/graphical_ep/transformed_message_declares_support.md partly answered, measurements appended, priority dropped
4 test/autogalaxy/prior_passing_loggaussian_lower_bound.md done, null result, retired to complete/2026/08/

Two corrections this carries

PyAutoFit#1527's own follow-up list was wrong about follow-up 1. It describes OptimisationState.valid's guard as "falsy at 0.0", implying #1527 disabled a limit check for exactly the prior it gave a 0.0 lower limit. It did not: lower_limit there is a VariableData (a dict subclass), so the guard tests non-emptiness and there is no 0.0 for it to be falsy at — and the EP path reads limits off the message, which #1527 deliberately left at ±inf. The prompt is filed as refactor on that basis rather than as the bug it was written up as.

A real bug was underneath it. VariableData.any reduced through var_all, so OptimisationState.valid reported a parameter vector valid when only some components were outside their limits. Found only because rewriting the guard needed a test and OptimisationState.valid had no coverage at all. Fixed in PyAutoFit#1532.

Note on follow-up 4

A null result, recorded explicitly rather than quietly dropped: neither PyAutoGalaxy nor PyAutoLens constructs a LogGaussianPrior anywhere (only an API-docs autosummary line in each), and it is the only prior whose limits #1527 changed — so the prior-passing change has no downstream exposure. The alternative, retiring the prompt because "nothing was found", leaves the next reader unable to tell a completed check from an abandoned one.

Checks

  • lifecycle.py check — OK
  • intake dashboard --checkdashboard.md + dashboard.html are current
  • lifecycle.py dates — 3 undated prompts remain, all pre-existing and unrelated to this branch

Generated by Claude Code

claude added 5 commits August 27, 2026 16:31
The fix shipped 2026-08-25 as PyAutoFit#1527 (merged, `34d6dff`,
`pending-release`), closing PyAutoFit#1526. The Mind-side close-out never
landed: that session's PyAutoMind branch `claude/loggaussian-prior-support-buv5xe`
was condemned the same day, so the prompt stayed in `draft/bug/autofit/` and
kept rendering on the dashboard as pickable backlog.

Writes the completion record from PyAutoFit#1526/#1527 and from `main` itself,
retires the prompt, refreshes `complete/index.md` and regenerates the dashboard.
No PyAutoFit changes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0173PAAaCQ7myTu9SUboYA4Y
Filed from the follow-up list in
complete/2026/08/loggaussian-prior-declares-own-support.md:

- refactor/autofit/optimisation_state_limit_guard_truthiness.md
- refactor/autofit/redundant_prior_limits_overrides.md
- research/graphical_ep/transformed_message_declares_support.md
- test/autogalaxy/prior_passing_loggaussian_lower_bound.md

Also corrects that record's follow-up 1. PyAutoFit#1527 describes
`OptimisationState.valid`'s guard as "falsy at 0.0", implying the fix disabled a
limit check for the prior it gave a 0.0 lower limit. It did not: `lower_limit`
there is a `VariableData` dict, so the guard tests non-emptiness, and the EP path
reads limits off the message, which #1527 left at +/-inf. What remains is a
readability defect, not a live bug — the prompt is filed as refactor on that
basis. Follow-up 2 likewise gains the `float()` coercion caveat that makes it a
type change rather than a pure deletion.

Dashboard regenerated in the same commit; `lifecycle.py check` OK.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0173PAAaCQ7myTu9SUboYA4Y
- 1 and 2 implemented together on PyAutoFit
  claude/loggaussian-prior-support-ngh59x (4c0f79b); status appended to both
  prompts, which stay in draft/ until a PR is opened.
- Doing 1 exposed a live bug: VariableData.any reduced through var_all, so
  OptimisationState.valid reported a parameter vector valid when only SOME
  components were outside their limits. Fixed in the same commit.
- 3 partly answered and the measurements appended: EP's check_limits does not
  enforce LogGaussian's support, but the message's own density returns a clean
  -inf, so nothing is wrong today. Design question stays open, lower priority.
- 4 done, null result, retired to complete/2026/08/ — neither PyAutoGalaxy nor
  PyAutoLens constructs a LogGaussianPrior, so there is no downstream exposure.

Dashboard regenerated; lifecycle.py check OK.

Co-Authored-By: Claude <noreply@anthropic.com>
…undant overrides

PyAutoFit#1532 merged as 6e2d8c8; issue #1531 closed. Two prompts retired, since
both shipped in that one PR:

- complete/2026/08/optimisation-state-limit-guard-truthiness.md
- complete/2026/08/redundant-prior-limits-overrides.md

The find worth keeping: VariableData.any reduced through var_all, so
OptimisationState.valid accepted a parameter vector with only SOME components
outside their limits, and MeanField's validity count under-reported the same
way. Neither had any test coverage, so the suite stayed green through it — the
#1477 process lesson, third time in this lineage.

Also repoints the parent record's follow-up list, whose "No PR opened yet" the
merge falsified.

complete/index.md refreshed, dashboard regenerated, reconcile clean (0 suspects
of 136), lifecycle.py check OK.

Co-Authored-By: Claude <noreply@anthropic.com>
The branch was 10 commits behind. Both conflicts were in GENERATED files --
complete/index.md and dashboard.md -- so they were resolved by regenerating from
the merged sources rather than hand-picking hunks:

  lifecycle.py index --apply            -> 1159 records
  pyauto-brain intake --apply dashboard -> 134 prompts

Both --check legs report current and lifecycle.py check is OK. No source-of-truth
file conflicted: the four completion records, the retired prompts and the
research prompt all merged cleanly.

Co-Authored-By: Claude <noreply@anthropic.com>
@Jammy2211
Jammy2211 merged commit 2e8ab79 into main Aug 27, 2026
4 checks passed
@Jammy2211
Jammy2211 deleted the claude/loggaussian-prior-support-ngh59x branch August 27, 2026 17:31
Jammy2211 pushed a commit that referenced this pull request Aug 27, 2026
The branch was behind main by PyAutoMind#348/#349/#350. Merged, never rebased.

All three conflicts were in generated files — complete/index.md, dashboard.md,
dashboard.html — and were resolved by regenerating from the merged sources
(lifecycle.py index --apply, pyauto-brain intake --apply dashboard), never by
hand-editing. No source-of-truth file conflicted.

All four PR gates re-run green after the merge: lifecycle check, lifecycle index
--check, registry_toc --check, intake dashboard --check, plus the spawn privacy
suite (240 passed).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KmWbYJw4cJJnt4eK6NoZjL
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants