bloq_vm/verify/mod.rs
1//! Physical verification: run compiled bloq circuits on the
2//! [`Simulator`](crate::backend::Simulator) engine and check them.
3//!
4//! The execution kernel itself — the whole-program walk, the flat
5//! [`CircuitExecutor`](crate::CircuitExecutor), and the gate table — lives in
6//! the crate root, and [`run_bloq`](crate::run_bloq) drives a shot batch through
7//! it. This module is the *verifier's vocabulary*: the report types
8//! ([`VerifyReport`] and friends), the detector-constancy check, and the
9//! logical expectation readouts a per-shot hook scores a non-Clifford
10//! output with.
11//!
12//! This is the physical counterpart to the graph-level logical verifier
13//! (`bloq_graph::verify`). The layers are intentionally independent: this path
14//! drives [`Simulator`](crate::backend::Simulator) over the fully compiled
15//! physical circuit, while the graph path contracts symbolic QuiZX maps.
16
17mod expectation;
18mod report;
19
20pub use expectation::{
21 ccz_orbit_signatures, ccz_state_signature, logical_bloch, logical_signature, signatures_match,
22};
23pub(crate) use report::detector_report;
24pub use report::{DetectorReport, FramePairReport, ObservableReport, VerifyReport};