54041e98cf
The event-silence tests duplicated `_make_adapter`/`_connect` from test_discord_liveness.py and carried a bespoke handler-wait loop. Reuse the sibling helpers instead: `_make_adapter` grows an optional `max_event_silence` that is only written into `extra` when given, so the sibling's own tests keep the adapter default and stay unchanged. Two invariants now bind the fix: - deaf socket: a `None` stamp (no DISPATCH yet) reads healthy across several probe intervals, and once armed, transport-green + event silence trips `event_silence` through `_liveness_loop`. - `websocket_event_max_silence_seconds: 0` disables only that dimension: with a stale stamp and a stale heartbeat ACK the probe must still run and trip on `ack_stale`. This goes red if the knob is moved into `_start_liveness_probe`'s all-or-nothing guard (#109782). The YAML->extra passthrough test also asserts the new key, so dropping its `_YAML_WEBSOCKET_LIVENESS_KEYS` entry fails.