Skip to content

test: add integration scripts for SMC, Drawer, BFGS, MultiStartADABelief, MultiStartLion (search-extensibility A0c) - #108

Merged
Jammy2211 merged 2 commits into
mainfrom
feature/search-ext-a0c-fit-repair-scripts
Oct 8, 2026
Merged

Jammy2211 merged 2 commits into
mainfrom
feature/search-ext-a0c-fit-repair-scripts

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

Search-extensibility A0c part 1 (PyAutoFit#1668): executable integration scripts for the five searches that had none, modelled on BlackJAXNUTS.py / LBFGS.py / MultiStartAdam.py. Run on demand; deliberately not added to smoke_tests.txt. Truth-recovery asserts run only outside test mode (test mode cuts SMC to 16 particles and 5 steps). The JAX scripts declare ENV: real_search jax.

Drawer.py writes to output/searches/Drawer instead of using NullPaths because Drawer._fit reads self.timer.time (drawer/search.py:147) and the timer is None under NullPaths. That is a library bug, filed separately; the script says why.

Scripts Changed

  • scripts/searches/SMC.py — new
  • scripts/searches/Drawer.py — new
  • scripts/searches/BFGS.py — new
  • scripts/searches/MultiStartADABelief.py — new
  • scripts/searches/MultiStartLion.py — new

Upstream PR

PyAutoLabs/PyAutoFit#1669

Test Plan

  • All five run under PYAUTO_TEST_MODE=1: 5/5 pass
  • All five run without test mode: 5/5 pass (SMC converged in 14 steps, log Z = -71.9; BFGS and both MultiStart scripts recover the truth)
  • CI green

Generated by the PyAutoLabs agent workflow.

🤖 Generated with Claude Code

Jammy2211 and others added 2 commits October 8, 2026 08:32
It named PyAutoLens and listed mcmc/nest/mle.yaml, which no longer exist.
Only GridSearch.yaml lives here; per-search defaults are constructor
arguments (PyAutoFit #1202).

Refs PyAutoLabs/PyAutoFit#1668

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…ief, MultiStartLion

Five exported searches had no integration script. Each new script fits the
1D Gaussian dataset and asserts truth recovery (Drawer: valid best draw
and the requested number of draws). Under PYAUTO_TEST_MODE only the wiring
is checked, since test mode cuts the schedules short. The JAX searches
declare `ENV: real_search jax` like BlackJAXNUTS.py / MultiStartAdam.py.

Drawer.py writes to output/searches/Drawer rather than using NullPaths:
Drawer._fit reads self.timer.time, which is None under NullPaths.

Run on demand; not added to smoke_tests.txt.

Refs PyAutoLabs/PyAutoFit#1668

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@Jammy2211
Jammy2211 merged commit 8666a07 into main Oct 8, 2026
3 checks passed
@Jammy2211
Jammy2211 deleted the feature/search-ext-a0c-fit-repair-scripts branch October 8, 2026 08:05
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.

1 participant