Skip to content

Surf dems2#294

Merged
ciaranra merged 9 commits intodevfrom
surf-dems2
Apr 17, 2026
Merged

Surf dems2#294
ciaranra merged 9 commits intodevfrom
surf-dems2

Conversation

@ciaranra
Copy link
Copy Markdown
Member

No description provided.

…rd merge, PDF report, FSS threshold fit

- Kill hand-rolled SVG plot writers; use matplotlib for both SVG and PDF via unified figure builders
- Split 340-line main() into focused helpers (resolve_backends, duration schedule, config banner, sweep loop, post-analysis)
- Add fit-quality warnings (fit_rms >= fit_epsilon), gate threshold fits on >=3 distances
- Fix _estimate_threshold to use per-round rate crossing (was using projected-over-d-rounds which underestimates)
- Add multi-shard merge via merge_sweep_shards(): accumulate shots across runs, re-fit from merged points
- Add JSON-only replay: --render-plots regenerates all plots from saved JSON without rerunning simulation
- Add multi-page PDF report (--save-report-pdf / --report-pdf) with styled cover, section dividers, appendix
- Wire in Wang-Harrington-Preskill FSS threshold fit from pecos.analysis.threshold_curve (arXiv:quant-ph/0207088)
- Annotate per-round plots with below-threshold power-law exponents and threshold markers with uncertainty bands
- Per-basis curves now use log-log axes; consistent color palette across all plot types
- Fix dashboard rebuild ordering in surface_sweep_report.py
- Add 28 unit tests covering fit math, merge semantics, JSON round-trip, PDF generation, plot ordering
@ciaranra ciaranra marked this pull request as ready for review April 17, 2026 16:24
@ciaranra ciaranra merged commit f01e083 into dev Apr 17, 2026
84 checks passed
@ciaranra ciaranra deleted the surf-dems2 branch April 17, 2026 16:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant