Repository navigation
v1.8.0 — waveguide chain-closed (v1.8) under the x64 declaration
v1.8.0 — 2026-09-06
Headline: the rectangular-waveguide family is chain-closed (v1.8) for uniform single-mode S on the normalize=False and normalize="flux" lanes, under docs/design_notes/chain_closure_contract.md, with contract criterion 1 (forward identity) and 3(a) (AD-vs-FD) read under JAX_ENABLE_X64 on the flux lane; the forward default stays float32 and a float32 gradient pipeline on the flux lane is outside the declaration. Three pre-declared WR-90 runs of the chain battery (VESSL 369367257823 → 369367258205 → 369367258638); 134 pass / 51 report_only / 0 fail on the closing run; the declaration's own falsifier (float32 primary reproduces run 2's 9 red) held; independent verifier sign-off recorded on #908. Fences: junctions, multimode, nonuniform meshes and the normalize=True two-run lane stay outside; phase referee = analytic Airy only; "chain-closed" is not "supported" — the matrices keep "limited".
Also in this cycle (CHANGELOG [1.8.0] has every entry):
- Wire-port current DFT carries the Yee half-step phase correction (#897): wire-port S-parameters rotate by ω·dt/2 per bin; the thru passivity singular value 1.003227 → 0.998896 with the bound at the physical 1.0; the pre-fix value equals the #819 ladder excess to the digit (candidate root cause; ladder re-run pending). Recorded wire-port crossval outputs (cv05, cv06b, cv15) are regenerated under #912.
- Finite-region
add_flux_monitor(size=)on the graded mesh (#900); the uniform lane's oversize-window behaviour is #910. - MSL preflight advisories no longer quote a pinned realized-board bound (#895).
- Waveguide settling witness skips float32-underflowed records (#881, issue #869);
normalize="flux"followsJAX_ENABLE_X64(#862);normalize=Truerejects a traced override up front; the nonuniform lane refuses a reference-plane span across cells of two sizes (#860). - Realized geometry at node-aligned faces no longer depends on
JAX_ENABLE_X64or the solver lane (#802/#807);dz_profile-only simulations reach the nonuniform waveguide lane (#811). - cv02 per-mode ring-down settling witness and runtime τ-scaled record on the no-verdict lane (#896); cv20 reported-only signed analytic-β envelope (#898).
- The
amplitude_kinddeprecation window moves one release: required in 1.9, default'current'in 2.0 (#914). - The validity envelope of the
normalize=Falsewaveguide port: the near-cutoff |S11| order collapse (#894) is a far-boundary round trip clipped by the DFT record, not the port — measured boundary r_pass 1.023 (a/36) / 1.030 (a/72); S21 phase residual witness committed (#906).
Tag-time lanes (run on a sha-pinned fetch of main f5ee3b59, code-identical to this release apart from the version strings and the changelog):
- GPU suite (full
gpu-marked pytest): VESSL 369367258704 — 175 passed, 22 skipped (openEMS-gated), 2 xfailed (the declared SBP-SAT subgrid xfails), 0 failed, rc 0, 1 h 16 min on RTX 4090 (jax 24.10 image). - External crossval: VESSL 369367258705 — cv05 (patch antenna vs openEMS) passes, rc 0; cv11 (WR-90 diagnostic reporter) exits 1 on its Meep-reference legs (slab S11 0.1618 / PEC-short 0.2125 against 0.05; phase 25–27° against 10°), the legs #854 item 3 defers; its OpenEMS/Palace legs pass (PEC-short |S11| 0.0146 against 0.05, round-trip phase 9.99° against 15°, passivity ceiling PASS).
Known-red, not new in this release: the scheduled validation.yml lane has failed on every run since 2026-08-10 — six slow-tests-highmem failures (Leontovich alpha oracle ×3, one example-fidelity snapshot, the experimental coax↔MSL transition ×2), runner shutdowns on shard 1, and cv11's deferred Meep legs — filed as #915 with per-item asks. Not on PyPI (tag-only release, per the release cadence).