Place noise where the circuit actually uses it
Build one compile-time profile from a gate-scoped local channel, one atomic correlated Pauli event, and scoped readout flips; then inspect the exact order and attempt counts produced by the real N/M Worker.
Scoped and composed noise
Every channel resolves to exact qreg indices before runtime. Gate order, channel order, and qubit order remain observable and reproducible under the selected seed.
This is a finite-shot local-statevector trajectory estimate. It is not device calibration, leakage/crosstalk simulation, a hardware run, QEC threshold, or fault-tolerance evidence.
Applied only after H and only to q[0] in this bounded Bell scenario.
One trajectory invocation on the matching H operand.
One word covers q[0..1] and is attempted atomically after CNOT. YZ is the default because its effect is visible in the Z-basis histogram; XX/ZZ can stabilize the Bell state.
One Bernoulli draw controls the whole word, never one independent draw per qubit.
Independent reported-bit flips only on the resolved measurement scope.
An unsigned seed fixes trajectory draw order; it does not remove finite-shot uncertainty.
2 qubits · 3 ordered channels · 128–4096 shots · probability 0–25%
- Ordered channels
- 3
- Ideal/composed TV distance
- 14.1%
- Composed Bell-support mass
- 85.9%
- Carrier checksum
- dc4f7a68
Ideal versus composed trajectory
The ideal distribution is analytic at the sample boundary; the composed side is the seeded finite-shot histogram.
|00>|01>|10>|11>Resolved placement evidence
Attempts are derived from exact gate matches, scope width, and shots. They are not inferred physical error counts.
| Order | Channel | Placement | Resolved scope | Operation matches | Attempts |
|---|---|---|---|---|---|
| 1 | Local trajectory | after-gate:H | q[0] | 1 | 512 |
| 2 | Atomic correlated Pauli | after-gate:CNOT | q[0,1] | 1 | 512 |
| 3 | Scoped readout | before-measure | q[0,1] | 2 | 1024 |
Evidence boundary
The profile does not model idle timing, density matrices, leakage, crosstalk, calibration snapshots, provider hardware, or mitigation. Those remain separate normative work.
Inspect generated NM-RFC-0017 source
module noise_composer_preview;
@target("browser-statevector");
@seed(42);
noise profile device_preview {
after H on q[0] apply phase_damping(0.02);
after CNOT on q[0..1] apply correlated_pauli("YZ", 0.08);
before measure on q[0..1] apply readout(0.03);
}
@noise_profile("device_preview");
fn main() {
let q: QReg<2> = qreg[2];
sample 512 {
H(q[0]);
CNOT(q[0], q[1]);
let a: Bit = measure(q[0]);
let b: Bit = measure(q[1]);
return (a, b);
}
}