Benchmark command line#

fdtdx-bench is the validation interface for this fork. It reads the ordered catalog, case-local YAML, runner output, frozen goldens, and progress.json.

Status and discovery#

uv run fdtdx-bench status
uv run fdtdx-bench list
uv run fdtdx-bench list --failing

status gives aggregate counts. list includes kind and resolution factor. Blocked cases are excluded from unattended selection until their underlying reason changes.

Execute#

uv run fdtdx-bench smoke
uv run fdtdx-bench run --case analytical_plane_wave
uv run fdtdx-bench run --case invdes_power_splitter

smoke is the mandatory regression gate after solver changes. A case run updates its entry in progress.json from structured runner output. Tidy3D is never invoked by these commands.

Report#

uv run fdtdx-bench report

This regenerates docs/PROGRESS.md, the human-readable record checked with the repository. The public example atlas is generated separately:

uv run python scripts/generate_public_docs.py

Result schema#

A completed runner returns a status, resolution factor, finite metric list, and optional diagnostics. Each metric includes a comparison type plus observed/reference values or an error/threshold pair. The harness rejects undeclared or non-finite metrics and derives pass/fail from their actual results.

Golden safety#

Golden-generation tools require an explicit --run-cloud gate. Do not use them in ordinary development or CI. All current compact artifacts have provenance and hashes; three non-converged artifacts are quarantined as blocked rather than accepted.