Phase B.4 read-only mirror of one host-owned window. The launcher
learns about windows via Command::ReportWindowOpened; the host
remains authoritative until B.5 flips the direction. opened_at
is the launcher’s clock at the time the report arrived (RFC3339)
— useful for correlating launcher logs with host logs across
version skew.
Coarse-grained launcher state. Spec §4: Starting → Running →
Quitting → Dead, no other transitions allowed. The reducer in
agentmux-launcher::reducer enforces this; a violation panics
(Job Object reaps via OS).
Lifecycle of a single process the launcher knows about. The
reducer transitions through these in order — there’s no skipping
(Spawning → Running → Exited).