Skip to content

fix: correct optimization status and pulse verification - #19

Merged
deepnmr merged 2 commits into
masterfrom
fix/review-reliability-ci
Sep 19, 2026
Merged

deepnmr merged 2 commits into
masterfrom
fix/review-reliability-ci

Conversation

@deepnmr

@deepnmr deepnmr commented Sep 19, 2026 •

Copy link
Copy Markdown
Owner

GRAPE could report a failed line search as convergence, and MCP pulse verification checked only nominal B1 even when the design requested an RF-power ensemble. Seedless also accepted phase arrays whose length disagreed with the declared pulse duration.

  • Return line_search_failed with converged=False when the search finds no positive step.
  • Report and save worst-case values across every configured B1 scale, using maximum residual magnetisation for xycite.
  • Validate Seedless phase/waveform shapes before evaluation, optimization, or export.
  • Evaluate per-step suppression in one cumulative Bloch pass; a 512-step/201-offset local check decreased from 74.8 ms to 7.1 ms with a fidelity difference below 7e-15.
  • Use fixed-size slice chunks in the Bloch kernel for current stable Rust lint compatibility.
  • Add GitHub Actions for native/fallback tests, Ruff, mypy, and Clippy; combine duplicate example runs without changing snapshot tolerances.

Validation: full native suite 274 passed; targeted NumPy fallback suite 132 passed; Ruff, strict mypy, Clippy with warnings denied, and git diff --check passed. Regression tests first reproduced the failures, including B1 extrema, mismatched phase length, and quadratic prefix work.

After rebuilding the native extension for the Rust lint compatibility change, the Bloch, Seedless, Rust accelerator, and MCP tests passed (46 tests). Independent code review found no blockers.

@deepnmr
deepnmr merged commit 139ff23 into master Sep 19, 2026
1 check passed
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