V0.15 Scope Freeze#
Summary#
v0.15 is the materialized uniform translation orbit batch release.
Stable release theme:
promote the first conservative user-facing data utility for materializing finite uniform translation orbits from canonical
FieldBatchinputs.
Stable path:
canonical scalar 1D periodic FieldBatch + finite uniform x-shifts -> materialized orbit FieldBatch + JSON-compatible provenance report
This release turns the v0.13 and v0.14 diagnostic evidence into one narrow data utility.
It remains paper-agnostic and does not add train/test policy, split management, time translation, new PDEs, KS promotion, weak KS, broad adapters, operator APIs, or root exports.
Stable Scope#
v0.15 adds one runtime public API and one runtime-only structured return under pdelie.invariants:
pdelie.invariants.build_uniform_translation_orbit_batch(
field,
*,
shifts,
keep_source_index=True,
keep_shift_index=True,
source_field_id=None,
copy=True,
) -> OrbitBatchResult
pdelie.invariants.OrbitBatchResult(
field: FieldBatch,
report: dict[str, Any],
)
OrbitBatchResult is not a canonical object.
It has no schema migration policy and no .to_dict() / .from_dict() contract.
The helper:
supports canonical scalar 1D uniform periodic
FieldBatchinputs onlyuses existing
InvariantApplieruniformxtranslationreturns a materialized
FieldBatchplus a JSON-compatible provenance reportmutates no inputs
has no root
pdelieexport
Materialization Semantics#
Shift semantics:
shiftsmust be a non-empty sequence of finite floatsraw shift order is preserved
duplicate shifts are preserved
normalized shifts are recorded modulo the inferred periodic domain length
Batch semantics:
materialization appends along the
batchdimensionoutput ordering is
shift_majorfor each raw shift in input order, all source batch rows appear in original source-batch order
output batch size is
source_batch_size * len(shifts)
Provenance semantics:
optional
source_field_idis JSON-compatible provenance metadata onlysource_field_idis not a canonical identity systemsource batch indices are included when
keep_source_index=Trueshift indices are included when
keep_shift_index=Trueduplicate shifts remain traceable through shift indices and batch records
output metadata records an
orbit_materializationentryoutput preprocess log appends one aggregate
materialize_uniform_translation_orbit_batchentry
Mask and copy semantics:
mask=NoneremainsNonenon-
Nonemasks are taken from transformed fields and concatenated along batchtransformed values are always newly computed through
InvariantAppliercopy=Trueis the conservative defaultcopy=Falsemay avoid extra coordinate or mask copies where safe, but the helper still mutates no inputs
Non-goals#
v0.15 explicitly does not include:
train/test policy
train/heldout split management
heldout-leakage detection
sparse-discovery branch policy
private-paper augmentation recipes
time-translation APIs
no time-translation APIs are included in this release
axis="time"support inInvariantAppliernew PDE support
stable KS generator promotion
stable KS residual evaluator promotion
weak KS
broad dataset adapters
PDEBench or The Well support
multidimensional grids
nonuniform grids
multivariable systems
operator-facing symmetry APIs
root
pdelieexport expansion
Milestones#
Milestone 0 - Scope Freeze#
Freeze v0.15 as materialized uniform translation orbit batches.
Milestone 1 - API Semantics Freeze#
Freeze API name, OrbitBatchResult status, batch ordering, provenance fields, mask behavior, metadata/preprocess composition, and copy semantics.
Milestone 2 - Orbit Batch Implementation#
Implement pdelie.invariants.build_uniform_translation_orbit_batch(...) and pdelie.invariants.OrbitBatchResult.
Document both in API_STABILITY.md.
Milestone 3 - Compatibility And Diagnostics#
Verify materialized Heat and KdV orbit batches remain valid FieldBatch objects and remain compatible with derivatives, residual evaluators, and reporting helpers.
Milestone 4 - Example#
Add python -m pdelie.examples.translation_orbit_batch and pdelie.examples.run_translation_orbit_batch_example(...).
Milestone 5 - API / Public-surface Audit#
Confirm the new API remains submodule-only and no train/test policy, time translation, KS runtime, weak KS, broad adapter, or operator API landed.
Milestone 6 - Release Gate and Readiness#
Add tests/test_v0_15_release_gate.py, update CI, bump package metadata to 0.15.0, and align release-facing docs.
Release-gate Expectations#
Expected gate coverage:
build_uniform_translation_orbit_batch(...)is documented and submodule-onlyOrbitBatchResultis documented and submodule-onlyrepresentative Heat and KdV orbit batches validate as
FieldBatchobjectsoutput batch shape follows shift-major ordering
duplicate shifts are preserved
source/shift provenance is traceable
residual diagnostics remain finite on representative materialized batches
root
pdelieremains unchangedno train/test policy, time translation, KS runtime, weak KS, broad adapter, or operator API lands
current CI uses
v0_15-release-gateplus full editable tests and package smoke
Status#
Milestone 0: COMPLETE
Milestone 1: COMPLETE
Milestone 2: COMPLETE
Milestone 3: COMPLETE
Milestone 4: COMPLETE
Milestone 5: COMPLETE
Milestone 6: COMPLETE