Skip to main content

Module ui_liveness

Module ui_liveness 

Source
Expand description

SPEC_LAUNCHER_TEARDOWN_BACKSTOP_2026_07_11 Phase 1 — UI-thread liveness telemetry (observe-only).

The supervisor’s prober sends Command::ProbeUiThread { nonce } over the host pipe on a low-rate interval; the host answers with Command::ReportUiThreadAlive { nonce } from a posted CEF UI task — i.e. a reply is evidence the UI thread pumped AFTER the probe was sent. Silence is the signal: a wedged UI thread never replies, and there is no host-side timeout.

Phase 1 records last_alive + logs round-trip latency; Phase 2’s armed teardown rule will consume last_alive(). Kept as a tiny standalone module (not reducer state): this is transport+thread telemetry about the host process, not domain state the reducer owns.

All logic lives on the UiLiveness struct (unit-testable in isolation — reagent P1 on the first version: tests sharing the process-global cell interleave under parallel execution); the module-level functions are thin delegates to the single process-global instance.

Structs§

UiLiveness

Functions§

cell 🔒
consecutive_misses
See UiLiveness::consecutive_misses. Process-global instance.
last_alive
See UiLiveness::last_alive. Process-global instance.
record_alive
See UiLiveness::record_alive. Process-global instance.
record_probe_sent
See UiLiveness::record_probe_sent. Process-global instance.
retract_probe
See UiLiveness::retract_probe. Process-global instance.