V0.11 Scope Freeze#
Summary#
v0.11 is the Kuramoto-Sivashinsky feasibility-first release for pdelie.
Its purpose is:
evaluate whether a normalized scalar 1D periodic Kuramoto-Sivashinsky strong path can be promoted safely into the stable runtime surface.
Stable runtime promotion is conditional. M0 does not commit a public KS generator, residual evaluator, vertical slice, imported parity path, or release gate.
Candidate stable path:
canonical scalar 1D uniform periodic FieldBatch -> spectral_fd higher spatial derivatives -> normalized KS residual evaluator -> translation fit/verification
v0.11 may close in one of two ways:
stable KS promotion, if later milestones show enough numerical margin and supportability
explicit no-go/defer closeout, if the feasibility evidence is not strong enough for a stable
v0.xsurface
Feasibility Scope#
The v0.11 feasibility scope is limited to:
scalar 1D uniform periodic fields
canonical
FieldBatchinputsspectral finite-difference derivative backends already in the stable engine
normalized Kuramoto-Sivashinsky strong-form feasibility
polynomial translation fitting and held-out verification through existing runtime paths
deterministic synthetic feasibility fixtures
eventual imported parity only through existing structured ingestion APIs if promotion remains plausible
M1 freezes the equation and numerical semantics below. Generator implementation details, promotion status, imported-parity requirements, and public API names remain conditional until later milestones.
KS Equation and Numerical Semantics#
Frozen normalized strong form:
u_t + u*u_x + u_xx + u_xxxx = 0
Frozen residual form:
u_t + u*u_x + u_xx + u_xxxx
Equation form:
normalized
nonconservative
strong-form residual
scalar
uone periodic spatial dimension
x
The equivalent conservative nonlinear term may be written as 1/2*(u^2)_x in explanatory text, but runtime residual semantics use u*u_x.
Required derivatives for KS residual feasibility:
u_tu_xu_xxu_xxxx
u_xxx is not required by the KS residual evaluator.
If the derivative backend emits it as part of an order-4 derivative batch, the KS residual must not depend on it.
Periodic boundary terms are assumed through canonical periodic x.
Public Derivative Backend Semantics#
The public v0.11 derivative extension is:
compute_spectral_fd_derivatives(
field: FieldBatch,
*,
max_spatial_order: int = 2,
) -> DerivativeBatch
Frozen order-4 behavior:
max_spatial_order=4emitsu_t,u_x,u_xx,u_xxx, andu_xxxxmax_spatial_order=2remains the default and preserves current behavior, arrays, config, and diagnosticsu_xxxxuses the same FFT wavenumber convention already used foru_x,u_xx, andu_xxxunsupported orders raise
ScopeValidationError
API_STABILITY.md documents this order-4 derivative API as the only public v0.11 API change.
Coordinate and Fixture Conventions#
Frozen feasibility conventions:
canonical dims are exactly
("batch", "time", "x", "var")scalar
varonlyfinite unmasked values only
x = linspace(0, domain_length, num_points, endpoint=False)time = linspace(0, max_time, num_times)timeis strictly increasing and uniformxis uniform and periodicsynthetic feasibility fixtures use zero-mean Fourier-mode initial conditions
synthetic feasibility fixtures use two-thirds dealiasing
synthetic feasibility rollout uses ETDRK4
rollout evolution is
u_t = -u*u_x - u_xx - u_xxxxnonlinear evaluation uses conservative spectral form
u*u_x = 0.5*(u^2)_xnonlinear products are dealised with the two-thirds rule
the zero Fourier mode is explicitly preserved through rollout
Feasibility Diagnostics and Preliminary Targets#
Frozen feasibility diagnostics:
residual
max_abs_residualresidual
rms_residualmass drift as the conserved diagnostic
relative L2 drift as diagnostic-only, not a conservation gate
translation span distance
first-epsilon held-out verification error
verification classification, with acceptance requiring only
classification != "failed"
Preliminary feasibility targets:
residual max
< 5e-2residual RMS
< 1e-2mass drift
<= 1e-8translation span distance
<= 1e-1first-epsilon held-out verification error
< 5e-4verification classification is not
failed
These are feasibility targets, not release gates. M4 must replace or confirm them with observed-margin thresholds before stable KS promotion.
Candidate Public Surface#
If promotion succeeds, the likely public runtime surface is:
a KS synthetic data generator under
pdelie.dataa KS strong-form residual evaluator under
pdelie.residualsa KS vertical-slice example under
pdelie.examples
All candidate APIs remain uncommitted in M0.
No KS generator or residual entry is added to API_STABILITY.md until an actual public KS API lands.
Candidate KS APIs must remain submodule-only unless a later milestone explicitly freezes otherwise.
No root pdelie exports are part of M0.
M2 adds only the public derivative-backend order-4 extension. The KS generator remains an internal feasibility helper in M2 and does not become public API.
M5 Promotion Decision#
Stable KS promotion is deferred for v0.11.
M2-M4 produced useful feasibility evidence, but not enough to land a stable public KS strong path in this release. The frozen KS fixture shows strong residual and canonical translation verification behavior:
residual max absolute value:
2.276047466221332e-09residual RMS value:
3.450580898077348e-10mass drift:
4.686823294199099e-16first-epsilon held-out verification error:
2.533384127588474e-13verification classification:
exact
The blocker for promotion is translation fitting evidence:
selected span distance passes because canonical reference fallback is used:
0.0direct SVD span distance is out of tolerance:
0.4178159498317849fit mode is
reference_fallbackfallback reason is
svd_translation_span_driftM4 evidence label is
reference_fallback
Interpretation:
KS remains internal feasibility evidence in
v0.11no stable KS data generator lands in
v0.11no stable KS residual evaluator lands in
v0.11no KS vertical-slice example lands in
v0.11no KS imported parity lands in
v0.11because there is no stable public KS runtime surface to validatecompute_spectral_fd_derivatives(..., max_spatial_order=4)remains the only publicv0.11API change so far
M6 closes v0.11 as a no-go/defer feasibility release.
Promotion Gate#
Stable KS promotion requires later milestones to establish:
exact equation normalization
derivative accuracy and order requirements
deterministic generator behavior
controlled short-horizon rollout stability
residual thresholds with observed margin
conservation or diagnostic metrics appropriate to the chosen normalized equation
translation fit and held-out verification thresholds with observed margin
imported parity expectations, if the runtime surface is promoted
explicit public API and non-goal guards
If these are not established, v0.11 should close as an explicit feasibility no-go/defer release rather than landing a weak stable surface.
Explicit Non-goals#
M0 explicitly forbids:
weak KS
weak derivative expansion
broad dataset adapters
multidimensional grids
nonuniform grids
multivariable systems
custom KS initial-condition APIs
configurable KS coefficient families
operator-facing symmetry work
root
pdelieexports for KSpackage metadata changes
README/changelog/release-readiness updates
manuscript-specific thresholds, reports, figures, or experiment logic
Milestones#
Milestone 0 - KS Feasibility Scope Reset#
Promote v0.11 to committed feasibility-first status, add this scope freeze, reset PLAN.md, and audit API_STABILITY.md without changing it.
Milestone 1 - KS Equation and Numerical Semantics Freeze#
Freeze the normalized KS equation as u_t + u*u_x + u_xx + u_xxxx = 0, freeze order-4 derivative semantics, coordinate conventions, candidate diagnostics, and preliminary feasibility targets.
Milestone 2 - KS Feasibility Generator / Prototype#
Extend the public derivative backend through max_spatial_order=4, then build an internal deterministic KS feasibility generator/prototype using ETDRK4, conservative spectral nonlinear evaluation, two-thirds dealiasing, and explicit zero-mode preservation.
Milestone 3 - KS Residual Feasibility Prototype#
Evaluate the strong-form KS residual path with typed validation and diagnostics, while keeping public API promotion conditional.
Milestone 4 - KS Vertical-Slice Feasibility#
Run the candidate KS path through derivative computation, residual evaluation, translation fitting, and held-out verification on frozen feasibility fixtures.
Milestone 5 - Promotion Decision and Imported-Parity / Non-goal Guards#
Complete the stable-promotion versus no-go decision.
M5 defers stable KS promotion for v0.11, records the reference-fallback evidence, and keeps KS runtime APIs absent.
Milestone 6 - Release Gate / Readiness or No-go Closeout#
Add the compact v0_11-release-gate, align release-facing docs and package metadata, document the no-go/defer evidence, and leave the stable public surface unchanged except for the order-4 derivative API.
Rules#
DO NOT add public KS APIs in M0.
DO NOT update
API_STABILITY.mdfor KS generator or residual APIs until those public APIs actually land.DO NOT treat the internal M2 KS generator helper as public API.
DO NOT treat the internal M3 KS residual evaluator as public API.
DO NOT treat M4 fallback-backed verification as direct KS residual-fit recovery.
DO NOT add KS imported parity unless a stable public KS runtime surface is promoted.
DO NOT promote a stable KS generator, residual evaluator, or example in
v0.11after the M5 no-go/defer decision.DO NOT promote weak KS in
v0.11.DO NOT treat preliminary M1 feasibility targets as final release gates without observed M4 margin.
DO NOT broaden
v0.11into broad adapters, multidimensional grids, nonuniform grids, multivariable systems, or operator-facing work.DO NOT add manuscript-specific logic.
DO preserve existing Heat/Burgers,
v0.8weak-report,v0.9KdV, andv0.10reporting behavior.
Status#
v0.10: COMPLETEMilestone 0: COMPLETE
Milestone 1: COMPLETE
Milestone 2: COMPLETE
Milestone 3: COMPLETE
Milestone 4: COMPLETE
Milestone 5: COMPLETE
Milestone 6: COMPLETE