The real Rust monitor (struktura guard), compiled to WebAssembly and running in your browser, next to a plain limit check on the same stream.
Streams are synthetic: 2,000 samples, the change at sample 1,000, calibration on the first 768. They show the kind of change each method can see, not performance on a real system.
A limit check alarms when a value leaves a band learned from healthy data. It is fast when a fault makes values bigger, blind when a fault changes how values follow each other at the same spread, and it false-alarms on healthy signals that wander slowly.
In the correlation-change case struktura mostly alarms on its residual-CUSUM leg, not on DFA. With fewer than 768 calibration rows its level-shift leg raises more false alarms.
Same generator and seeds as examples/structure_vs_amplitude.rs, whose 30-seed numbers are checked in CI (claims.tsv).