Report worker UXarray version uniformly across all remote compute ops#74
Merged
Conversation
Extends the remote-provenance transparency from #71 so every compute and analysis remote function reports the worker's true UXarray version via _worker_uxarray_version. _run_on_hpc surfaces it as remote_uxarray_version and emits a drift warning when it differs from the local version. Newly covered: inspect_variable, azimuthal_mean, grid_facts (the compute paths that previously omitted it). Verified live on Chrysalis (inspect_variable + get_capabilities report remote_uxarray_version and the drift warning; internal key does not leak into results). Adds a regression test asserting every compute remote function reports the version, plus a _run_on_hpc drift-warning unit test.
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.
Summary
Extends the remote-provenance transparency introduced in #71 so that every
compute and analysis remote function reports the HPC worker's true UXarray
version, uniformly.
Background
#71 added
remote_uxarray_version+ a version-drift warning, but only for asubset of remote functions. Some compute paths (
inspect_variable,azimuthal_mean,grid_facts) still omitted the worker version, so theirresults could not surface local/remote version drift.
What changed
_worker_uxarray_versionto the remaining compute/analysis remotefunctions:
remote_inspect_variable,remote_calculate_azimuthal_mean,remote_grid_facts(the others already had it)._run_on_hpcsurfaces it asremote_uxarray_versionin provenance and emitsa drift warning when it differs from the local version. The internal key
is stripped from the user-facing result.
numerical results where version drift matters).
provenance.mdnotes the coverage is now uniform across compute ops.Testing
uv run pre-commit run— all hooks pass.uv run pytest tests/ --ignore=tests/test_remote_agent.py— 338 passed(2 new: a regression test asserting every compute remote function reports the
version, and a
_run_on_hpcdrift-warning unit test).inspect_variableandget_capabilitiesnow reportremote_uxarray_versionand emit the drift warning (the worker runs an olderuxarray than local); the internal
_worker_uxarray_versionkey does not leakinto results.