Skip to content

Fix JAX meshgrid input coercion#2218

Merged
FlorianPfaff merged 2 commits into
mainfrom
codex/fix-jax-meshgrid-main-20260524
May 24, 2026
Merged

Fix JAX meshgrid input coercion#2218
FlorianPfaff merged 2 commits into
mainfrom
codex/fix-jax-meshgrid-main-20260524

Conversation

@FlorianPfaff
Copy link
Copy Markdown
Owner

Summary

  • replace the direct JAX meshgrid export with a small backend wrapper that coerces lists, ranges, and scalar axes to one-dimensional JAX arrays
  • preserve NumPy-style backend semantics while returning JAX arrays
  • add an explicit subprocess regression test for PYRECEST_BACKEND=jax

Bug fixed

The shared backend contract accepts NumPy-style meshgrid axes such as lists, range objects, and scalar axes. jax.numpy.meshgrid rejects list/range axes and also rejects 0-D array axes, so the JAX backend could fail even though the NumPy backend passed the same contract tests.

Validation

  • Local focused JAX smoke check confirmed native jax.numpy.meshgrid([0, 1], range(2), indexing="ij") raises TypeError and the wrapper produces the expected coordinate grids.
  • compare_commits reports this branch is ahead of main by 2 commits and behind by 0, changing only src/pyrecest/_backend/jax/__init__.py and tests/test_backend_meshgrid_contract.py.
  • Full local pytest was not run because the execution container cannot clone from GitHub; PR CI should run the backend-portability test and full matrix.

@github-actions
Copy link
Copy Markdown
Contributor

⚠️MegaLinter analysis: Success with warnings

Descriptor Linter Files Fixed Errors Warnings Elapsed time
✅ COPYPASTE jscpd yes no no 51.12s
✅ JSON prettier 7 0 0 0 1.04s
✅ JSON v8r 7 0 0 6.31s
⚠️ MARKDOWN markdownlint 66 0 1 0 1.73s
✅ MARKDOWN markdown-table-formatter 66 0 0 0 0.79s
✅ PYTHON black 758 0 0 0 37.71s
✅ PYTHON isort 758 0 0 0 2.73s
✅ REPOSITORY checkov yes no no 45.98s
✅ REPOSITORY gitleaks yes no no 17.47s
✅ REPOSITORY git_diff yes no no 0.06s
✅ REPOSITORY secretlint yes no no 20.64s
✅ REPOSITORY syft yes no no 4.06s
✅ REPOSITORY trivy-sbom yes no no 6.21s
✅ REPOSITORY trufflehog yes no no 23.45s
✅ YAML prettier 10 0 0 0 0.69s
✅ YAML v8r 10 0 0 11.83s
✅ YAML yamllint 10 0 0 0.52s

Detailed Issues

⚠️ MARKDOWN / markdownlint - 1 error
.github/pull_request_template.md:1 error MD041/first-line-heading/first-line-h1 First line in a file should be a top-level heading [Context: "## Summary"]

Notices

📣 MegaLinter 9.5.0 is out! Discover the new features and security recommendations in the release announcement. (Skip this info by defining SECURITY_SUGGESTIONS: false)

See detailed reports in MegaLinter artifacts

Your project could benefit from a custom flavor, which would allow you to run only the linters you need, and thus improve runtime performances. (Skip this info by defining FLAVOR_SUGGESTIONS: false)

  • Documentation: Custom Flavors
  • Command: npx mega-linter-runner@9.5.0 --custom-flavor-setup --custom-flavor-linters PYTHON_BLACK,PYTHON_ISORT,COPYPASTE_JSCPD,JSON_V8R,JSON_PRETTIER,MARKDOWN_MARKDOWNLINT,MARKDOWN_MARKDOWN_TABLE_FORMATTER,REPOSITORY_CHECKOV,REPOSITORY_GIT_DIFF,REPOSITORY_GITLEAKS,REPOSITORY_SECRETLINT,REPOSITORY_SYFT,REPOSITORY_TRIVY_SBOM,REPOSITORY_TRUFFLEHOG,YAML_PRETTIER,YAML_YAMLLINT,YAML_V8R

MegaLinter is graciously provided by OX Security
Show us your support by starring ⭐ the repository

@FlorianPfaff FlorianPfaff enabled auto-merge (squash) May 24, 2026 07:01
@FlorianPfaff FlorianPfaff merged commit 33ff2d8 into main May 24, 2026
26 checks 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