Repository navigation
Record accepted-mesh provenance and enforce replay compatibility - #216
Merged
Merged
Conversation
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.
Accepted meshes previously identified only output times and step sizes, leaving producing method and model compatibility entirely to convention. Live schedules now carry lightweight static provenance for the resolved method, state layout, relevant operator/gamma/nonlinear-stage settings, optional structural model identity, and descriptive discovery controls/namespace/dtype/reference regime.
Replay rejects known structural mismatches before stepping. Dynamic parameter/initial-state values, backend and precision changes remain supported; labels and provenance never inspect fitted array values. Manual/legacy schedules retain mesh-only compatibility by default, with an opt-in requirement for verified provenance. The guide distinguishes these checks from accuracy and the provider's stronger artifact checks.
An executable generic two-pool/group example compares replay against an independent analytic solution and refreshes a compatible mesh after a parameter change. Tests cover all discovery paths, invalid mesh versus incompatible provenance, manual compatibility, NumPy-to-JAX reuse with traced state/tolerance arrays, nonlinear/gamma/axis changes, and source/installed execution of the published example.
Closes #205.
Validation:
just format,just ci,just docs,just qualify(NumPy 40, JAX 48, Torch 65; zero selected skips), andjust build-allpassed. Existing higher-order/loop replay tests passed, as did 13 focused provenance/refresh tests. Installed-wheel validation caught an example import setup issue before submission; the test now loads the copied script without source-path injection. Provenance is not an accuracy certificate and does not infer callback semantics or arbitrary custom-solver internals.