# live-conformance/signal-health — what a monitor measured on an input The corpus of [`extensions/signal-health.md`](../../extensions/signal-health.md) §9, in one file, `vectors.json`. **Provenance.** Generated here by `wai_signal_health_vectors gen` (`wai-rs`, feature `signal_health`), from Ed25519 keys on fixed 32-byte seeds, constant instants, and media the generator writes from a linear congruential generator with fixed seeds: luma planes of 16 × 8 and 8 × 8 samples, two channels of 16-bit samples at 800 Hz, caption and cue instants, and transport streams of 40 packets at 30 080 bit/s (a packet every 50 ms) holding a program association and a program map section with their CRCs and packets of two elementary streams; no recording and no input from outside this repository. `keys` names every key by its role, as 64 lowercase hexadecimal digits: two monitors a switch trusts (`monitor_a`, `monitor_b`) and one it does not (`rogue`). `profile` gives the operator's thresholds, per check by name; `switch` the switch's inputs in its order, the keys it trusts and `max_age_ms`. - `records` (§4, §6.1, §6.2) are each a record's `bytes` in hexadecimal, and its `outcome`: `read`, with its `digest`, `input` and the names of its faulted checks (`faults`); or `refuse` and its `reason`. - `checks` (§6.3, §6.4) are each a `record`, the `profile` a verifier expects (or `null`) and the `media` it holds: `frames` (each `at_ms`, `width`, `height` and `luma` in hexadecimal), `audio` (`at_ms`, `rate`, `channels` and `samples`, the little-endian bytes in hexadecimal), `captions` and `cues` (instants), and `transport` (`first_us`, `rate_bps` and `bytes` in hexadecimal), each present only where held. `outcome.record` is `stands` or `reject reason=…`, and `outcome.checks` gives each check of a record that stands, in its order: `recomputed`, `not_held` or `reject reason=…`. - `switches` (§7) are each the `records` a switch holds, the instant `at_ms` and the input it carries (`current`); `outcome` gives each record's state, each input's state in the switch's order and the input it `selected`. Everything is synthetic: keys attest nothing, and the media is the generator's. Each media case's values are declared in the generator, which requires the reference to measure them, and each case states the outcome it was written to have, never copied from a verifier. `wai_signal_health_vectors verify` and `tests/signal_health.rs` check that the file regenerates byte for byte and that `wai-rs` reaches every stated outcome. `../signal_health_verify.py` is the second implementation, written from the extension's text, which also mutates copies of the corpus and drops each of its own checks in turn and requires each to be caught.