Validation Gate
Every Virtual-SCADA bundle passes a multi-dimensional quality gate before it’s sealed and delivered to the customer. If any dimension falls below its threshold, the run is rejected with DATA_ERROR — the platform never ships silently-degraded data.
Quality dimensions
| Dimension | What it measures |
|---|---|
| Schedule adherence | How accurately scheduled events land on their planned time stamps across the run. Late or missing events count against the score. |
| Protocol correctness | The fraction of wire frames that are well-formed, addressed, and carry recognised payload values. Dead or stuck channels are rejected. |
| Physics realism | How well continuous signals stay inside declared engineering ranges. Out-of-bound readings are only permitted where they are the legitimate effect of a scheduled event. |
| Label coverage | Whether ground-truth labels match scheduled faults. A run with scheduled faults but no labels, or labels without scheduled faults, is rejected. |
Structural checks
In addition to the dimensional scores, the gate enforces structural invariants that short-circuit release regardless of the numbers:
- Missing labels with scheduled faults. If the run contains scheduled events or fault regimes but every telemetry row is unlabelled, the bundle is blocked.
- Dead channels. For every protocol, frames must span more than a single address or the reported values must vary across ticks. Channels that appear stuck are blocked.
- Determinism drift. When a reference hash is supplied, the gate confirms the current run’s hash matches bit-for-bit.
What happens on failure
A blocked run never reaches the artifact store. The job transitions to status="failed" with error_code="DATA_ERROR" and the error_detail field lists the exact failing dimensions. No partial bundle, no silent downgrade.
Credits are not metered for DATA_ERROR runs — the customer is only billed for data that passed the gate.
Configuring the gate
The gate thresholds are fixed in the engine and are not customer-tunable. They reflect training-grade quality requirements. Relaxing a threshold would weaken the data quality guarantees we make to customers.