**Ruling (doyle, 03:22Z) on hertz's read-only RCA `.spt/preserved/314/hertz-defunct-leaf-rca.txt` (sha256 033f0fd3…):** Accepted mechanism: the shared zombie classifier (broker.rs ~389–424, consumed by rc session truth at rc.rs ~1236 and the broker AlreadyLive gate at ~8244) rules an ALIVE root a zombie when `adapter_labeled && past_grace(30 s) && no_live_descendants`. That encodes "an adapter self-command forks a client chain beneath a wrapper by construction", which the manifest contract (docs/MANIFEST.md role command / psyche_init) and ADR-0041 (exec-replaced launcher) do not promise. The W1b producer is exactly a legitimate live root/leaf: Python IS the client, its bind subprocess exits, threads are not descendants. Join: initial attach at root age 1.9 s (inside grace) succeeded; fresh reattach at 81.4 s refused with the defunct message; same PID + birth alive afterwards. info.json's binder PID is not this gate's input. Refresh is unnecessary to explain it; the update trial started after the refusal. Consequences: 1. **Core launch/lifecycle contract defect, not a fixture defect and not a #307 (refresh transport) regression.** #314 stays out of v0.71.0; candidate for the next milestone intake. Making the fixture grow a dummy child would conceal the defect. 2. **Hazard (source-predicted, NOT exercised):** a bringup that hits AlreadyLive can pass the same false verdict to reap_zombie_root and kill a real live root client — birth-matching protects against PID reuse, not against this. The refusal's suggested `endpoint start` remedy is unsafe under this misclassification. 3. **Remedy boundary for the eventual lane:** make client identity/topology an explicit authority recorded at launch instead of inferring it from a nonempty adapter name; distinguish "root IS the client" from "owned launcher whose identified client exited"; keep dead-root, PID-reuse and orphan-wrapper detection intact. Rejected: longer grace, executable exceptions, synthetic descendants, blanking the adapter label, skipping the honest-attach gate. 4. **Pre-lane confirmation (hertz, next):** bounded owned fresh-home reproduction of the leaf case WITHOUT refresh, capturing raw KIND_SESSIONS fields plus a simultaneous process identity/descendant census — closes the historical-input uncertainty and becomes the regression cell for the remedy lane. Existing table test (broker.rs ~10368) cannot express a live root-client; rc_attach_truth.rs ~380 proves only the orphan-wrapper case.