Skip to content

Fix PointSolver padding default for backend overrides - #760

Merged
Jammy2211 merged 1 commit into
mainfrom
feature/point-solver-padding-backend
Sep 30, 2026
Merged

Jammy2211 merged 1 commit into
mainfrom
feature/point-solver-padding-backend

Conversation

@Jammy2211

Copy link
Copy Markdown
Collaborator

Summary

When a PointSolver call overrides its constructor's backend, omitted remove_infinities now follows the effective xp. A NumPy-constructed solver called with xp=jnp keeps static padding under JIT; the reverse override strips rejected rows on NumPy. Explicit True/False choices are preserved.

Refs #759 (cluster arc phase 1b). A companion workspace PR holds the JAX regression.

API Changes

PointSolver.solve corrects padding-default behavior for explicit backend overrides. Constructor-default calls and explicit remove_infinities choices retain their behavior. No signature changes. See full details below.

Test Plan

  • Full PyAutoLens suite: 776 passed, 1 xfailed (34 warnings). Initial run was terminated; complete rerun exited 0.
  • Red-before NumPy regression: 1 failed, 14 passed; the new failing case passes after the fix.
  • Workspace padding regression: all 12 cases passed; the pre-fix script failed.
  • In-session diff review and Black/diff checks passed.
  • Full workspace smoke: 32/32 passed (exit 0).
Full API Changes (for automation & release notes)

Changed Behaviour

  • PointSolver.solve(..., xp=jnp, remove_infinities=None) keeps padding even if constructed with use_jax=False.
  • PointSolver.solve(..., xp=np, remove_infinities=None) strips padding even if constructed with use_jax=True.

Migration

No change is required to callers using the documented backend-dependent default. Callers intentionally relying on the old mismatched constructor behavior should specify remove_infinities=True or False explicitly. Dynamic stripping with True still cannot run inside jax.jit; strip outside JIT.

Heart override

Live user “I authorize” in response to the task-specific phase-1b development-only RED override request. Exact RED: release validation FAILED (stage integrate). This grants commit/push/PR creation after passing validation; no merge or release authority. This change does not claim to repair Heart.

@Jammy2211 Jammy2211 added the pending-release PR queued for the next release build label Sep 30, 2026
@Jammy2211
Jammy2211 merged commit 73dc5d2 into main Sep 30, 2026
4 checks passed
@Jammy2211
Jammy2211 deleted the feature/point-solver-padding-backend branch September 30, 2026 18:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

pending-release PR queued for the next release build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant