V0.11 Release Readiness#

Release Target#

  • package version: 0.11.0

  • git tag: v0.11.0

  • package-index publication: deferred until v1.0 or later

v0.11.0 is a Git-tag-only release. Do not run TestPyPI or PyPI publishing for v0.11.

Done#

  • M0 is complete:

    • v0.11 was frozen as a Kuramoto-Sivashinsky feasibility-first release

    • v0.10 was recorded as complete

    • stable KS promotion was made conditional on evidence

  • M1 is complete:

    • normalized KS semantics were frozen as u_t + u*u_x + u_xx + u_xxxx = 0

    • fourth-derivative requirements and feasibility diagnostics were scoped

  • M2 is complete:

    • compute_spectral_fd_derivatives(..., max_spatial_order=4) landed as the only public v0.11 API change

    • internal KS feasibility generator helpers were added under tests only

    • API_STABILITY.md documents the public order-4 derivative extension

  • M3 is complete:

    • internal KS residual feasibility was validated under the frozen equation

    • no public KS residual evaluator landed

  • M4 is complete:

    • internal KS vertical-slice feasibility was run through fitting and held-out verification

    • evidence was recorded as reference-fallback-backed, not direct SVD in-tolerance recovery

  • M5 is complete:

    • stable KS runtime promotion was explicitly deferred for v0.11

    • public KS generator, residual, example, weak, and root exports remain absent

  • M6 is complete:

    • package metadata and release-facing docs are aligned with 0.11.0

    • this readiness note is current

    • the compact v0_11-release-gate is the current explicit release-gate CI job

Public API Notes#

New stable runtime API behavior in v0.11:

  • pdelie.derivatives.compute_spectral_fd_derivatives(..., max_spatial_order=4) emits:

    • u_t

    • u_x

    • u_xx

    • u_xxx

    • u_xxxx

The default max_spatial_order=2 behavior, config, diagnostics, and derivative outputs remain preserved.

Stable KS runtime promotion is deferred:

  • no pdelie.data.generate_ks_1d_field_batch

  • no pdelie.residuals.KSResidualEvaluator

  • no pdelie.examples.run_ks_vertical_slice_example

  • no root pdelie KS exports

  • no weak KS API

  • no KS imported parity

Retained stable surfaces include:

  • Heat and Burgers strong paths

  • v0.8 weak Heat/Burgers residual report APIs

  • v0.9 normalized periodic short-horizon KdV strong path

  • v0.10 reporting helpers and nested Heat/KdV example summaries

  • structured from_numpy(...) and optional from_xarray(...) ingestion

  • existing discovery, portability, symmetry, and visualization runtime helpers

KS Feasibility Evidence#

The frozen internal KS fixture shows strong feasibility evidence:

  • residual max absolute value: 2.276047466221332e-09

  • residual RMS value: 3.450580898077348e-10

  • mass drift: 4.686823294199099e-16

  • relative L2 drift: 0.0070894859776733715 as diagnostic-only

  • selected span distance: 0.0

  • SVD span distance: 0.4178159498317849

  • fit mode: reference_fallback

  • reference fallback used: True

  • fallback reason: svd_translation_span_drift

  • first-epsilon held-out verification error: 2.533384127588474e-13

  • verification classification: exact

  • evidence label: reference_fallback

Interpretation:

  • residual evaluation passes with large margin

  • mass conservation passes with large margin

  • held-out canonical translation verification passes

  • selected span passes because the canonical reference fallback is used

  • direct residual-based SVD fitting is out of tolerance

  • therefore stable KS runtime promotion is deferred for v0.11

Explicitly Deferred#

  • stable KS data generator

  • stable KS residual evaluator

  • KS vertical-slice example

  • KS imported parity

  • weak KS APIs

  • root pdelie exports for KS runtime APIs

  • broad dataset adapters

  • multidimensional, multivariable, or nonuniform-grid support

  • operator-facing APIs

  • manuscript-specific experiment logic

  • PyPI and TestPyPI publication; package-index publishing is deferred to v1.0 or later

CI Expectations#

Before tagging v0.11.0, the release PR should have these CI jobs green:

  • v0_11-release-gate

  • editable-tests

  • package-smoke

Historical release-gate test modules remain runnable locally and are covered by editable-tests.

Local Release Checklist#

Before tagging v0.11.0:

  1. Inspect consistency across:

    • pyproject.toml

    • README.md

    • CHANGELOG.md

    • docs/releases/V0_11_RELEASE_READINESS.md

    • docs/releases/PUBLISHING.md

    • docs/specs/API_STABILITY.md

  2. Run the full test suite:

    • python -m pytest

  3. Build the package:

    • python -m build --sdist --wheel

  4. Install dist/pdelie-0.11.0-py3-none-any.whl into a clean environment and verify:

    • stable root imports

    • pdelie.reporting helper imports from the submodule

    • one tiny weak Heat report

    • one tiny KdV strong-path residual

    • one tiny order-4 derivative smoke

    • root pdelie does not export KS runtime APIs

  5. Run examples:

    • python -m pdelie.examples.heat_vertical_slice

    • python -m pdelie.examples.kdv_vertical_slice

  6. Run:

    • git diff --check

Direct Final Tag Checklist#

After local checks and CI pass:

  • merge the release PR into main

  • tag the merged main commit as v0.11.0

  • do not publish to TestPyPI

  • do not publish to PyPI

  • record package-index publishing as deferred until v1.0 or later

Final Release View#

v0.11.0 is ready when the local release checklist and the current CI jobs pass.

The stable release claim is intentionally narrow:

existing Heat/Burgers/weak-report/KdV/reporting surfaces -> order-4 spectral derivatives -> internal KS feasibility evidence -> explicit stable-KS no-go/defer closeout

There is no stable public KS runtime surface in v0.11.