V0.15 Release Readiness#
Summary#
package version:
0.15.0git tag:
v0.15.0package-index publication: deferred until
v1.0or later
v0.15.0 is a Git-tag-only release.
Do not run TestPyPI or PyPI publishing for v0.15.
Release claim:
materialized uniform translation orbit batches with explicit provenance, without train/test policy or new numerical scope.
M0-M6 Outcome#
M0 froze
v0.15as materialized uniform translation orbit batches.M1 froze API name,
OrbitBatchResultstatus, batch ordering, provenance, mask behavior, metadata/preprocess composition, and copy semantics.M2 added
pdelie.invariants.build_uniform_translation_orbit_batch(...)andpdelie.invariants.OrbitBatchResult.M3 verified Heat and KdV compatibility with derivatives, residual evaluators, and provenance tracing.
M4 added
python -m pdelie.examples.translation_orbit_batch.M5 audited public exports and deferred surfaces.
M6 aligned release gate, CI, docs, metadata, and direct tag readiness.
Public API Notes#
New public submodule APIs:
pdelie.invariants.build_uniform_translation_orbit_batch(...)pdelie.invariants.OrbitBatchResultpdelie.examples.run_translation_orbit_batch_example(...)
No root pdelie exports were added.
OrbitBatchResult is runtime-only.
It is not a canonical object, has no schema migration policy, and does not change the FieldBatch contract.
Representative Diagnostics#
Orbit batch checks:
output appends along batch in shift-major order
output batch size equals
source_batch_size * len(shifts)duplicate shifts are preserved
source and shift indices are recorded when requested
optional
source_field_idis preserved as JSON-compatible provenance metadataoutput metadata records
orbit_materializationoutput preprocess log appends one aggregate
materialize_uniform_translation_orbit_batchentrymask=NoneremainsNonenon-
Nonemasks concatenate along batch consistently with transformed fieldsHeat and KdV materialized batches validate as
FieldBatchobjectsderivatives and residual evaluators run on representative materialized Heat and KdV batches
Explicit Deferrals#
v0.15 does not add:
train/test policy
split management
heldout-leakage detection
sparse-discovery branch policy
private-paper augmentation recipes
time-translation APIs
a new PDE
stable KS generator/residual/example APIs
weak KS
broad dataset adapters
PDEBench or The Well support
multidimensional, multivariable, or nonuniform-grid support
operator-facing APIs
root runtime exports
CI Expectations#
Required checks before tagging:
v0_15-release-gateeditable-testspackage-smoke
The explicit release gate is compact and representative. The full editable suite remains responsible for historical release gates and broader regression coverage.
Local Validation Checklist#
Before tagging:
python -m pytest
python -m build --sdist --wheel
python -m pdelie.examples.heat_vertical_slice
python -m pdelie.examples.kdv_vertical_slice
python -m pdelie.examples.orbit_coverage_diagnostics
python -m pdelie.examples.invariant_workflow_summary
python -m pdelie.examples.translation_orbit_batch
git diff --check
Clean wheel smoke should verify:
stable root imports
pdelie.invariants.build_uniform_translation_orbit_batchpdelie.invariants.OrbitBatchResultone tiny materialized Heat orbit batch
one tiny weak Heat report
one tiny KdV strong-path residual
one tiny order-4 derivative smoke
one tiny generator-fit diagnostic summary
no root KS, train/test policy, split-management, time-translation, or weak KS exports
Direct Tag Checklist#
Create the release PR from the
v0.15branch.Run the local validation checklist.
Wait for required CI checks to pass.
Merge only after CI is green.
Tag the merged
maincommit asv0.15.0.Do not publish to TestPyPI.
Do not publish to PyPI.
Record package-index publishing as deferred until
v1.0or later.