The updater now writes a creation-time line 3 (and the hand-off scripts
append delegate:/run: lines), but the client-supplied remote probes still
accepted exactly "<pid>\n<started_at>\n". The SSH relaunch gate answered
UNCERTAIN for an exited writer's v2 claim, kept it, and refused every
reconnect/spawn until some other reader cleared it; the managed-SSH observer
reported the same claim as malformed.
Both POSIX programs now parse the A2 shape: line 1 pid, line 2 started_at,
line 3 ignored (ct or blank, as the Python reader treats a bad line 3), and
the first well-formed delegate:<pid> ct:<ct> as a second holder. The claim is
dead only when the owner AND the delegate are dead, so dead-holder detection
is never weaker than v1. The relaunch gate's delete now runs under the
updaters' <marker>.lock mutex (non-blocking; held -> UNCERTAIN) and only while
the bytes still equal the ones judged dead, so a claim published after the
read is never removed.
Review F3 (PR #132365 thread 3).