# SEP 26 — An edge-free gated TDSE source: hold the current instead of switching it off | | | |---|---| | **SEP** | 26 | | **Title** | An edge-free gated TDSE source: hold the current instead of switching it off | | **Author** | John Travers | | **Drafting agent** | Opus 5.5 (2026-10-18) | | **Status** | Final | | **Review status** | Reviewed | | **Reviewers** | John Travers (human); GPT-6 (AI) | | **Type** | Change | | **Created** | 2026-10-18 | | **Resolution** | Accepted 2026-10-18 by the maintainer, after the human and AI reviews (R1–R13) and the drafting agent's response (branch `docs/sep-0026-accept`) | | **Requires** | [SEP 12](sep-0012-tdse-nonlinear-response.md) (the `tdse_native` source and its `time_collar` gate); [SEP 20](sep-0020-hacc-helium-tdse.md) (the haCC response, the atomic window, L5, L6 and Q30) | | **Supersedes** | — | | **Superseded-by** | — | | **Implementation** | phase 1: Opus 5.5 (AI) for John Travers, branch `feature/sep-0026-phase-1` (solprop and solprop-kokkos); phase 2: Opus 5.5 (AI) for John Travers, branch `feature/sep-0026-validation`; phase 3 (promotion and the final gate): Opus 5.5 (AI) for John Travers, branch `feature/sep-0026-phase-3` | | **Manual pages** | edge-free sections of the [haCC helium response](../../../guide/media/tdse.md), [TDSE in capillaries](../../../guide/media/tdse.md) and [TDSE configuration](../../../guide/media/tdse.md); SEP 26 paragraphs of [resuming](../../../guide/results/resuming.md) and [differences from Luna](../../../guide/workflows/luna.md) | ## Part I — Proposal ### 1. Abstract A gated TDSE source today is the transform of $g(t)S(t)$. Here $S=J-j_1$ is the atom's nonlinear remainder current, and $g$ is the Planck gate: the atomic window's, or the grid's temporal collar. When $S$ is still nonzero in the trailing taper, the gate switches it off over a few femtoseconds. That switch-off is not an electron's response, but it puts near-infrared content into the source. For haCC at the run_short peak-power plane, removing that switch-off from both gates of the same 100 fs current reduces their 60-against-100 fs band difference by about 73% (§2). This SEP adds the source filter `"gated_derivative"`. On the active band it replaces $\mathcal F[gS]$ by $\mathcal F[g\,\partial_tS]/(i\omega)$, evaluated as $\mathcal F[gS]-\mathcal F[g'S]/(i\omega)$ with the analytic gate derivative $g'$. The result is the transform of a current *held* at its taper-weighted value after the window instead of being switched off. A steady current then contributes nothing at $\omega\neq0$, all time variation inside the window is kept, and the form has no free parameter. The discrete form is admitted only on lattices that resolve the tapers, and each configuration carries a computed steady-current certificate (§4.4). The filter is opt-in until its validation passes and the maintainer has decided the remaining Q30 exception (§11). Success means: - the analytic and fake-provider tests close within their derived budgets; - the archived L5 currents reproduce the supporting study's same-current split; - the actual L5 comparison, an L6 segment, the SAE controls and the rate-plasma measurement are reported. ### 2. Motivation and scope **The problem.** SEP 20 L5 failed its 1% band tolerance. On-axis haCC(1) rows on the 60 fs window and on a separately driven 100 fs window differ by 4.61% (peak-power plane) and 1.43% (maximum-UV plane) over 90 nm–1.6 µm, almost all of it above 900 nm. The maintainer kept the 60 fs default with a recorded exception (SEP 20 Q30). The supporting provider study is summarised, with its identities, in `benchmarks/sep26/evidence/0133-summary.md` (reference 5). It found three things: - **The late current is box-converged.** Changing the box from 80 to 240 bohr changes the 0.9–1.6 µm source by 0.13%. That is a box-to-box sensitivity: no box is an independently valid late-time reference after its own norm loss. - **The escaped-electron term dominates what the gate removes.** It accounts for 99.6% of the nir norm that the 60 fs gate removes from the 100 fs current: a near-steady drift of about $3.3\times10^{-3}$ au at +50 fs. - **The exact split** (§4.1), applied to that same 100 fs current under both gates: $$ \mathcal F[gS]=\frac{\mathcal F[gS']}{i\omega}+\frac{\mathcal F[g'S]}{i\omega}. $$ Same-current split (both gates applied to the 100 fs current; the 60 fs-driven current is not used): | case | 60/100 fs gate difference, band: full → edge-free | nir (0.9–1.6 µm) | uv (90–200 nm) | edge term over own nir source, 60 / 100 fs | |---|---|---|---|---| | haCC(1) peak power | 4.60% → 1.22% | 12.5% → 3.33% | 0.387% → 0.387% | 10.6% / 11.0% | | haCC(5) peak power | 4.57% → 1.22% | 12.4% → 3.33% | 0.384% → 0.384% | 10.6% / 10.9% | | haCC(1) maximum UV | 1.44% → 1.45% | 4.36% → 4.42% | 0.349% → 0.349% | 1.7% / 2.2% | What this shows: - **Peak power.** Removing the edge term reduces the band difference by about 73%. Both gates carry an edge term of about 11% of their own nir source, so a longer window alone does not remove it. - **Maximum UV.** The drift is ten times smaller, and the difference does not shrink. - **What remains** is the window sensitivity left after the edge is removed. It is not a measured physical error, because there is no converged late-time reference. - **The 90–200 nm difference** does not change when the edge term is removed. The edge term is a property of the gate, not of the model: any gated source whose current is nonzero in the trailing taper carries it, SAE included. **Who needs it.** Every near-infrared result of a windowed or collared TDSE run: haCC's run_short campaign, and SAE runs with `source_filter="time_collar"`. **In scope.** - The new source form on `numpy_ref`, with its discrete definition, admission condition, certificate and rounding budget. - The record, descriptor and schema changes. - Last-evaluation diagnostics. - Validation: the L5 replay, an L6 segment, the SAE controls and an offline rate-plasma measurement. - A separate, later default promotion. **Out of scope.** - The window default (Q4). - An explicit drift-current model, collisions and recombination (§10). - The unfiltered `source_filter="none"` route (§4.5). - Any change to the rate model's plasma route; only its offline measurement is in scope (§4.6, Q3). - Compiled backends: TDSE stays NumPy-only (SEP 12's recorded exception). ### 3. Context The source assembly is `solprop.backends.numpy_ref.tdse`. - **`atomic_sources`** forms the unscaled remainder $S=J-j_1$ for `tdse_native`. For `source_filter="time_collar"` it multiplies $S$ by `_source_gate(problem)`: the atomic window's gate (`AtomicWindowRecord.gate_values`) when a window is set, else `grids.t_window_fine`. It then applies density and `remainder_scale`. - **`project_atomic_sources`**: - projects the nodal current with the modal weights and taper scale; - transforms it on the fine lattice and crops it to the coarse bins (`passes.to_frequency`); - multiplies by `current_numerator` over $\operatorname{Re}n_{\rm eff}$. The numerator is $-\text{crop\_scale}/(2\varepsilon_0c)$ on `active_mask` bins ($\omega>\omega_{\min}/2$) and zero elsewhere; - forms the embedded same-row diagnostic with an absolute rounding floor (`_roundoff_floor`). The caller applies the spectral collar `grids.omega_window` once. The last evaluation's diagnostic is exposed as `metadata()["tdse_last_evaluation"]`. - **Gates** are `solprop.grid.planck_taper` profiles: an atomic window $(t_-,t_-+w,t_+-w,t_+)$ with $w=5$ fs by default (SEP 20 §4.6), or the grid's temporal `Collar`. `TDSEAtomicWindow` checks only that $00$, the edge-free source is $$ \boxed{\;\hat S_{\rm ef}(\omega)=\frac{\mathcal F[g\,S'](\omega)}{i\omega} =\mathcal F[gS](\omega)-\frac{\mathcal F[g'S](\omega)}{i\omega}\;} $$ That is today's source minus an *edge term*. Here $g'$ is the analytic derivative of the gate, nonzero only strictly inside the tapers; $S$ itself is never differentiated. **Hold interpretation.** Let $S_{\rm h}(t)=\int_{-\infty}^{t}g\,S'\,dt'$ and $H=\int gS'\,dt$. Then $\mathcal F[S_{\rm h}]=\mathcal F[gS']/(i\omega)+\pi H\delta(\omega)$, so $\hat S_{\rm ef}=\mathcal F[S_{\rm h}]$ at every $\omega\neq0$. The held current is: - zero before the window; - $S(t)-c_-$ on the plateau, with $c_-=\int g'_-S\,dt$ the leading-taper term (§4.3); - held at $H$ after $z_+$. The form keeps every time variation of $S$ inside the window. That includes the turn-on of the drift current during the pulse, its Brunel-type emission (reference 3). Only the switch-off is replaced by a hold. Three cases show what this means: - **A current constant over the whole window** has $S'=0$, so $\hat S_{\rm ef}=0$. - **A current that rises inside the plateau and is then steady**, for example $S=H\Theta(t-t_c)$ with $g(t_c)=1$, keeps its rise: $\hat S_{\rm ef}=He^{-i\omega t_c}/(i\omega)$. Only the trailing switch-off is lost. For constant $S$ on the trailing taper, $\mathcal F[g'_+S]=S\,\mathcal F[g'_+]$ (with $g'_+\le0$), and that is exactly the term subtracted. - **A current that varies inside the trailing taper** keeps $gS'$ there. Its variation after the window is dropped, which is the window's finite-memory error; this SEP does not remove it. #### 4.2 The gate derivative and its evaluation On an edge with outer breakpoint $a$ and inner $b$, let $\Delta=b-a$ (negative on a falling edge) and $s=(x-a)/\Delta\in(0,1)$. The gate is $g=1/(1+e^{\zeta})$ with $\zeta=1/s-1/(1-s)$ (the `_taper_edge` exponent), and $$ g'(x)=\frac{1}{\Delta}\,h(s),\qquad h(s)=\frac{1}{4\cosh^2(\zeta/2)}\left(\frac{1}{s^2}+\frac{1}{(1-s)^2}\right)>0 . $$ As an analytic function, $g'$ is $C^\infty$ and integrates to $\pm1$ over each edge; it is zero outside the tapers and tends to zero at the breakpoints. **Evaluation.** - $s$ is formed first. If $\min(s,1-s)\le1/740$, the value returned is the asymptotic zero, and no reciprocal is formed. In that region $|h|<10^{-300}$, since $\cosh^{-2}(\zeta/2)\le4e^{-738}$ and the rational factor is at most $2\cdot740^2$. - Otherwise $h$ is evaluated as written. All terms are finite: $|\zeta|<740$ and $s^{-2}\le740^2$. - Points with $s\le0$ or $s\ge1$, including the exact breakpoints, return zero. The evaluated function therefore differs from the analytic $g'$ by at most $10^{-300}/|\Delta|$ in the cut-off region, and by a few rounding errors elsewhere (§4.5). It never forms an infinite intermediate. The existing gate's clipping is not reused for the derivative. `planck_taper_derivative` sits beside `planck_taper` in `solprop.grid`, and both `AtomicWindowRecord` and `Collar` expose it. #### 4.3 The leading-taper term Let $W_-=\Delta t\sum_n|g'_-(t_n)|$ be the sampled weight of the leading edge (1 up to sampling; T1 checks it). In raw DFT units (§4.4), on each active bin, $$ \left|\frac{E_{-,k}}{i\omega_k}\right|\le\frac{W_-}{\Delta t\,\omega_k}\max_{t_n\in(z_-,o_-)}|S_n|, \qquad \left\|\frac{E_-}{i\omega}\right\|_{B}\le\frac{W_-}{\Delta t}\max_{\rm lead}|S_n|\Big(\sum_{k\in B}\omega_k^{-2}\Big)^{1/2} $$ over a band $B$. **Why it is small.** - haCC and windowed SAE start at $t_s\ge z_-$ in the field-free ground state with $A(t_s)=0$, so $S(t_s)=0$. - The drive in the leading taper is below 1% of its peak at the run_short planes (SEP 20 §4.6), and $S$ is at least cubic in it. - An unwindowed collared SAE run has its leading collar at the lattice start. Subtracting both edges is the parameter-free form, and it holds the pre-window value, which is zero. The last-evaluation diagnostic records the ratio $\rho_-$ and this bound (§5). #### 4.4 The discrete definition, admission and certificate **Lattice and normalisation.** The fine response lattice has $N$ samples $t_n=(n-N/2)\Delta t$, period $T=N\Delta t$, $\omega_k=2\pi k/T$, $\omega_s=2\pi/\Delta t$ and $\omega_N=\omega_s/2$. The raw DFT is $x_k=\sum_n x_ne^{-2\pi ikn/N}$, with no $\Delta t$ weight and its phase origin at $n=0$. For a smooth $x$ supported in one period, Poisson summation gives $$ \Delta t\,x_k=(-1)^k\sum_m\mathcal F[x](\omega_k+m\omega_s), \qquad (-1)^k=e^{-i\omega_kT/2}. $$ **Discrete definition.** Let $X_k=\mathrm{DFT}[g(t_n)S_n]_k$, today's source, and $E_k=\mathrm{DFT}[g'(t_n)S_n]_k$. The source is $$ \hat S_{{\rm ef},k}=X_k-\frac{E_k}{i\omega_k}\quad\text{on active bins},\qquad 0\ \text{elsewhere}. $$ The common factor $(-1)^k$ cancels between the two terms. Bin $k=0$ and every bin below $\omega_{\min}/2$ lie outside `active_mask`, where `current_numerator` is already zero, so no further cutoff is needed. The largest weight is $1/\omega_{\rm lo}\le2/\omega_{\min}$ at the lowest active bin. For 90 nm–1.6 µm, $\omega_{\min}=1.18\times10^{15}$ rad/s (187 THz) and the active edge is at 94 THz (3.2 µm). **Alias error.** If the samples are those of a smooth $S$, the $m=0$ terms reproduce the continuous identity. The $m\ne0$ terms of $X$ are today's alias, unchanged. Those of $E/(i\omega)$ are new, and they depend on how well the sampled taper resolves $g'$. They are not small on every admitted lattice. With a taper shorter than a sample, no sample of $g'$ need be nonzero, and the steady-current cancellation fails completely; a review probe gave ratio 1.0 on such a lattice. The asymptotic decay of a Planck taper's spectrum (super-algebraic, from its essential singularity) motivates resolving the taper well. It is not used as a bound. Instead: - **Admission.** `gated_derivative` requires each taper to span at least 128 lattice samples ($w\ge128\,\Delta t$), for the atomic window's tapers or the collar's. Translation refuses a narrower taper and names the minimum. - **Steady-current certificate.** At translation, for the actual lattice, gate and active band $A$, compute $$ \kappa_{\rm ss}=\frac{\big\|\mathrm{DFT}[g]-\mathrm{DFT}[g']/(i\omega)\big\|_A}{\|\mathrm{DFT}[g]\|_A}. $$ This is exactly the discrete source of $S\equiv1$ relative to today's. Translation refuses with a clear error if $\kappa_{\rm ss}>10^{-10}$. The value is recorded in the run metadata and the last-evaluation diagnostic, not in the descriptor, so the identity never depends on a floating-point result. The certificate is one transform of a fixed gate per configuration. **What the certificate shows.** A drafting-time probe of the window gate on the haCC lattice ($N=16384$, $\Delta t=6.254\times10^{-18}$ s, active band up to 80 nm) gave: | taper samples | 10 | 20 | 40 | 56 | 64 | 96 | 128 | 800 (5 fs, the default) | |---|---|---|---|---|---|---|---|---| | $\kappa_{\rm ss}$ | 7e-5 | 4e-6 | 6e-9 | 9e-11 | 2e-11 | 3e-14 | 7e-16 | 6e-16 | The SAE parent's collar (about 2000 samples per taper) gives 2e-16. The 128-sample admission leaves margin below the threshold, and the certificate, not this table, is the qualification. It certifies the steady part exactly. For a general current, T3 checks the identity on resolved lattices against an independent spectral-derivative oracle, with refinement. #### 4.5 Rounding budget The budget is absolute and operand-based, in the raw FFT units of the existing diagnostics. It is carried through multiplication, projection, transform, crop, division and subtraction. Let $c_F\varepsilon\log_2N$ be the normwise relative error bound of the forward transform (reference 2). It is assumed for the 2-, 3- and 5-smooth sizes solprop's lattices use. T3 checks the constant at a power-of-two size and at a $2^a3^b5^c$ size; any other size is flagged in the diagnostic as having an unqualified constant. By Cauchy–Schwarz, a perturbation $\delta x$ moves any single bin by at most $\sqrt N\|\delta x\|_2$. The source error per active bin is bounded by the sum of: - **Today's budget.** The existing `_roundoff_floor`, from the raw operands $|g|(|J|+|j_1|)$, unchanged, so that shadow cancellation is accounted for. - **The edge transform.** $c_F\varepsilon\log_2N\,\sqrt N\,\|g'(|J|+|j_1|)\|_2/\omega_{\rm lo}$, using the raw operands for the same reason. - **Gate-derivative evaluation.** A relative error of at most $(8+|\zeta_n|)\varepsilon$ at sample $n$. The 8 is §4.2's operation count; $|\zeta|$ amplifies the exponent's own rounding inside $\cosh$. This gives $\varepsilon\sqrt N\,\|(8+|\zeta|)\,g'(|J|+|j_1|)\|_2/\omega_{\rm lo}$. - **The division and subtraction.** $2\varepsilon(|X_k|+|E_k|/\omega_k)$. Each term is multiplied by the absolute projection weights, the density, the scale and $|\text{current\_numerator}|$, as `_roundoff_floor` does today. Aliasing is not part of this budget; it is governed by §4.4. **The spectral-derivative oracle** (T3) has its own budget. Its intermediate $i\omega\,\mathrm{DFT}[S]$ reaches $\omega_N$, so its terms are $c_F\varepsilon\log_2N\sqrt N(\omega_N\|S\|_2+\|g\,\mathrm{IDFT}(i\omega\,\mathrm{DFT}S)\|_2)/\omega_{\rm lo}$. T3's tolerance is the sum of the two budgets. **Numerical differentiation, for comparison.** The supporting study's centred differences have relative error about $(\omega\Delta t)^2/6$, which is $3\times10^{-3}$ at 90 nm on the haCC lattice. Its split closed to 3.3–5.3×10⁻⁴ of the band norm. The identity form needs no derivative of $S$. #### 4.6 Consistency with the existing pipeline - **Remainder and shadows.** $S$ is the unscaled $J-j_1$, formed first as today, and the edge term uses the same $S$. Density, `remainder_scale`, projection, taper scale, crop, `current_numerator`, $1/\operatorname{Re}n_{\rm eff}$ and the spectral collar are linear, and act identically on both terms. - **Window and padding.** Outside the atomic window, $S$, $g$ and $g'$ are zero on the lattice. The gate's breakpoints are the record's, never moved to samples, and they may be off-grid and asymmetric. The drive taper $gE$ is unchanged. - **The grid collar.** For an unwindowed gated response, $g$ is the collar, whose zeros lie inside or on the lattice, so §4.1 holds. The same admission and certificate apply. - **`source_filter="none"`.** There is no gate, so this SEP does not touch it. #### 4.7 Every electron once, and the rate-plasma measurement - **The atomic current.** $S$ contains the atom's whole nonlinear current: the bound part, the ionisation current and, for haCC, the escaped term. The form keeps all of its in-window variation. It removes only the gate's switch-off, which is not an electron's response, and it adds no current. - **The linear current.** $j_1$ stays subtracted. It is not gated or held, and it is carried by the linear index (κ₁, SEP 20 §4.8). - **Kerr and plasma.** `tdse_native` contains its cubic. `optmat_cubic` and `tdse_shadow` admit only `"none"`. `admit_tdse` still refuses a rate plasma beside a TDSE response. **The rate model.** In continuous time its plasma current $J_{\rm pl}=J_{\rm free}+J_{\rm loss}$ (Drude current plus the ionisation-loss current of `passes.plasma_current`) is constant after the pulse (reference 4). solprop's discrete rate route, however, gates the *polarisation* $P=\rho\int J_{\rm pl}\,dt$ with `t_window_fine` before its transform. Writing $J=P'$, its source contains $$ i\omega\,\mathcal F[gP]=\mathcal F[gJ]+\mathcal F[g'P], $$ whereas the held-current form of the same current is $\mathcal F[gJ]-\mathcal F[g'J]/(i\omega)$. Holding $P$ instead would hold a different quantity. **The offline measurement (Phase 2, reported only; the production rate route is unchanged).** Recompute the rate model's nodal $J_{\rm pl}$ and $P$ with `passes.plasma_scan` and `passes.plasma_current` on fixed saved fields: the saved planes of SEP 20's L6 rate run, projected to its nodes. Use the run's own running-integral rule (`responses.plasma_integral`) and density. Then form three things on the fine lattice, with the route's crop and polarisation prefactor: - $Q_{\rm route}=\mathrm{DFT}[gP]$; - $Q_{\rm held}=(\mathrm{DFT}[gJ]-\mathrm{DFT}[g'J]/(i\omega))/(i\omega)$; - the closure residual $\|i\omega\,\mathrm{DFT}[gP]-\mathrm{DFT}[gJ]-\mathrm{DFT}[g'P]\|$. The closure residual measures how far the discrete running integral departs from $P'=J$. Report $\|Q_{\rm route}-Q_{\rm held}\|/\|Q_{\rm route}\|$ by band, the closure residual and the certificate of $g$. This is a fixed-field source comparison, not a propagated trajectory. ### 5. Proposed interface - **`TDSEGasResponse.source_filter`** gains `"gated_derivative"`, the gate of `"time_collar"` with the edge term subtracted (§4.1). - It is opt-in through Phases 1 and 2. The omitted value resolves exactly as today: `"time_collar"` for haCC and for any windowed response, and `"none"` for an unwindowed SAE response. - Promotion to the haCC and windowed default is Phase 3, after the conditions of §11. - It is admitted for `tdse_native` with any gate: windowed SAE, windowed haCC, and unwindowed SAE or haCC on the grid collar. - It is refused for a taper below the §4.4 admission or a certificate above $10^{-10}$. - **`"time_collar"` keeps its formula and code path.** Its descriptor bytes, identities and resume keys are unchanged exactly. Recomputing its sources is required to agree with recorded values within the §4.5 budget; a same-build bitwise repeat may be recorded as evidence, but is not a requirement (SEP 25). - **Last-evaluation diagnostic.** `tdse_last_evaluation["projection"]` gains an `edge` entry for a gated response, with the same projection, spectral collar and raw FFT modal units as the existing entries. It covers two bands, the grid's `active_mask` and `inband_mask`, and records: - the norms of the truncating source $c\,X$, the edge term $c\,E/(i\omega)$ and the corrected source $c\,\hat S_{\rm ef}$, where $c$ is the current factor times the collar; - the ratios edge/truncating and edge/corrected; - the §4.5 floor of each norm; - $\rho_-$, which is $\max_{\text{rows, lead samples}}|S|$ over $\max_{\text{rows, window}}|S|$; - the band bound of §4.3 and $\kappa_{\rm ss}$ (also in the run metadata). A ratio whose denominator is at or below its floor is `None`, with a reason string ("denominator below rounding floor"); $\rho_-$ is `None` with "zero remainder" when $\max|S|=0$. The admission excludes an empty sampled taper. For `"time_collar"` the same entry is computed, so that the two forms can be compared on one evaluation. These are diagnostics, never gates. Per-call history is not stored: per-call edge analysis is an offline replay of raw archives (§7.3, §7.5). ```text response = replace(hacc_preset(1), source_filter="gated_derivative") # opt-in (Phases 1-2) ``` ### 6. Implementation strategies **Where.** In `solprop.grid`, `planck_taper_derivative` (§4.2). In `numpy_ref`, `atomic_sources` also returns the gated edge array $g'S$, scaled the same way, and `project_atomic_sources`: - projects, transforms and crops the edge array as it does the current; - divides it by $i\omega$ on `active_mask` bins; - subtracts it before `current_numerator`; - extends the embedded coarse projection, `_roundoff_floor` and the `edge` diagnostic. The admission and certificate live in translation, beside `resolve_atomic_window` and the collar resolution. **Options.** - **(a) Frequency-domain subtraction, as above (recommended).** It costs one extra fine FFT of one modal column per call (two with the embedded map), and $S$ is never differentiated. - **(b) A time-domain held current.** This needs a cumulative quadrature and a periodic ramp. It is less accurate and not simpler. - **(c) Differentiate $S$.** Centred differences have an $\mathcal O((\omega\Delta t)^2)$ error, and a spectral derivative amplifies rounding by $\omega_N/\omega$. Both serve only as test oracles. **Records and seam.** - **Descriptor v4.** `"gated_derivative"` is recorded in a new `solprop.tdse-descriptor.v4`. It has v3's layout, with `model` and `atomic_window` (which may be `null`), plus the new value, so it covers unwindowed SAE on the collar as well as windowed SAE and haCC. - **v1–v3** stay unchanged byte for byte, and each refuses `"gated_derivative"`. `_validate_filter_schema` admits v4 only with that value. - **`SCHEMA_VERSION`** goes from 29 to 30 (kernel-contract row 30). No field moves, and a version-29 consumer refuses the problem. solprop-kokkos accepts version 30 and keeps refusing TDSE by name. - **Output schema.** No bump: `source_filter` is already in the resume key whenever it is not `"none"`, and the last-evaluation metadata is not part of the archive schema. The κ₁ cache is keyed by basis identity and is unaffected. **Backends.** NumPy only, as for every TDSE route; `numba_cpu` and Kokkos refuse TDSE by name. There is no GPU work. **Cost.** Each call adds one fine FFT, one nodal array ($n_{\rm nodes}\times N$) and the extra diagnostic work. Phase 1 measures this with a bounded hot-path benchmark and memory ledger (§7.2) before calling it negligible. **Dependencies.** None. ### 7. Verification and validation Equality is exact only for descriptor bytes, identities, resume keys, losslessly copied arrays, masks and call accounting. Matched source recomputations use the §4.5 budgets. Propagation and resume comparisons use accuracy envelopes (SEP 25). Each tolerance is derived before evaluation and stated beside its assertion. "Raw units" means the unweighted DFT of §4.4. Per-bin bounds hold on every active bin; band norms are 2-norms over the stated bins. #### 7.1 Analytic and unit tests (default suite, fast) - **T1 The gate derivative.** - Against the independent form $-g(1-g)\,d\zeta/dx$, built from `planck_taper`'s own $g$ where $0.01709.8$, inside the admitted $|\zeta|<740$. $s$ and $r=1-s$ are both formed from $x$, as $(x-a)/\Delta$ and $(b-x)/\Delta$, so that neither comes from a cancellation. The analytic function, the cut-off at $\min(s,1-s)\le1/740$ and the zeros at and beyond the breakpoints are as specified. 2. *The derivative's rounding bound (§4.5).* A first-order count of that evaluation gives $(17+2.5|\zeta|)\varepsilon$, used as $(18+3|\zeta|)\varepsilon$; §4.5's $(8+|\zeta|)\varepsilon$ came from a shorter count. Near a breakpoint $\zeta\approx1/s$ carries $s$'s own relative rounding times $|\zeta|$, which no evaluation avoids. 3. *T1's oracle tolerance.* The closed form $-g(1-g)\,d\zeta/dx$ takes $1-g$ from a second gate evaluation at the mirrored point $a+b-x$ (exact on the test's dyadic lattice): forming $1-g$ from $g$ amplifies its rounding up to 100-fold where $0.01