Skip to content

v1.8.0 — waveguide chain-closed (v1.8) under the x64 declaration

Choose a tag to compare

@bk-squared bk-squared released this 06 Sep 05:14
· 1477 commits to main since this release
7d1e973

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" follows JAX_ENABLE_X64 (#862); normalize=True rejects 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_X64 or 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_kind deprecation window moves one release: required in 1.9, default 'current' in 2.0 (#914).
  • The validity envelope of the normalize=False waveguide 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).