Software Architecture

Layered Architecture

LiDMaS+ is organized as five layers:

  1. Code/geometry layer
  2. Surface/CSS/LDPC constructs and parity maps.
  3. Main paths: src/surface/*, src/qec/*, src/codes/*.
  4. Noise/syndrome generation layer
  5. Pauli and CV-hybrid disturbances, syndrome extraction.
  6. Main paths: src/qec/PauliChannel*.cpp, src/gkp/*, src/hybrid/*.
  7. Decoder layer
  8. MWPM, Union-Find, BP, neural-weighted variants.
  9. Main paths: src/surface/*Decoder*.cpp, src/decoders/*, src/models/*.
  10. Statistical inference layer
  11. Monte Carlo aggregation, threshold/scaling analysis.
  12. Main paths: src/sim/*, src/surface/ScalingAnalysis*.
  13. Workflow/product layer
  14. Reproducible scripts and figure/table generation.
  15. Main paths: examples/*, especially examples/paper_runs/paper_04/*.

Control Planes

  • CLI plane: command-line execution through lidmas binary and shell workflows.
  • Enterprise app plane: private application APIs and panels maintained outside this OSS release surface.

Design target: both planes should produce equivalent analysis artifacts for matched run configs.

Runtime Topology (Enterprise App)

At high level:

  • operator-facing panels request runs/sessions/manifests,
  • service routes coordinate run execution and reporting,
  • persisted artifacts are consumed back into analysis panels.

Key Architectural Invariants

  1. Decoder outputs are interpreted through stable schema contracts.
  2. Metrics are calculated from persisted artifacts, not ephemeral UI state.
  3. Workflow-level summaries are derived from run/session stores and remain filter-consistent.