ci: gate workspaces on the unbatched multi-start search check - #229
Merged
Conversation
Turns on check_search_memory.py, added in #228, for every workspace that calls this reusable workflow. This is the piece that actually protects CI. The runtime guard in PyAutoFit#1453 reads XLA's memory analysis, which reports 0 bytes on a CPU-only JAX build - which is what CI runs - so it helps GPU users and would not have caught the failure that cost two nightly release runs. A static AST check has no such blind spot. Held back from #228 until the workspaces were clean: run against the real trees it found eight further unguarded sites beyond the two already fixed. All eight now carry an explicit batch_size, so this can go on without breaking unrelated work. Its own job rather than a step on the paths job, so the check name is legible in a PR's status list. Stdlib-only, so it needs no pip install and cannot be broken by dependency resolution. Refs PyAutoLabs/PyAutoFit#1452. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0171voyyTrr91hJ3vU5AjeVz
This was referenced Aug 5, 2026
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.
Turns on
check_search_memory.py(added in #228) for every workspace that calls the reusable navigator workflow. For PyAutoLabs/PyAutoFit#1452.Why this is the part that actually protects CI
The runtime guard in PyAutoLabs/PyAutoFit#1453 reads XLA's memory analysis, which reports 0 bytes on a CPU-only JAX build — which is what CI runs. So it helps GPU users and would not have caught the failure that cost two nightly release-integrate runs. A static AST check has no such blind spot: no JAX, no device, no compile.
It also catches the defect earlier than any runtime guard can — at PR time, before the script ever reaches the nightly.
Why it was held back from #228
Run against the real trees, the checker found eight further unguarded sites beyond the two already fixed. Turning the gate on in the same PR would have red-lined three workspaces over unrelated work. All eight now carry an explicit
batch_size:Merge this last, after those three.
Shape
Its own job rather than a step on the
pathsjob, so the check name is legible in a PR's status list. Stdlib-only (ast+pathlib), so it needs nopip installand cannot be broken by dependency resolution.The rule is "
batch_sizemust be explicit", not "must be small" —batch_size=Nonepasses. The point is that the memory decision is typed out where a reviewer sees it rather than arrived at by defaulting, which is precisely how the original failure happened.Verification
YAML parses; the job's four steps mirror the existing
pathsjob. The checker itself carries 15 unit tests (added in #228) and reports all six workspaces clean once the three PRs above land.Generated by Claude Code