Phase E.1b β synthetic Goodbye dispatch for ungraceful disconnects
(EOF / read error before the client sent an explicit Goodbye).
Without this, the reducerβs process record stays Running and a
reconnect from the same live PID hits AlreadyRegistered. Goodbye
transitions the record to Exited so re-Register is accepted.
(codex P1 #610.)
Patch the sentinel launcher_pid: 0 / empty launcher_version
the reducer emits in Event::Registered with srvβs actual
identity. Idempotent β applying twice is a no-op (after the
first patch, fields are non-sentinel).