087cc49a26
Two narrow repairs for #97948 symptom B (large-session rotation aborts with 'Compression lease lost before publication' / session_split_failed, then the next turn re-runs the identical doomed compression): 1. publish_compression_child gains require_lease_refresh: the lease is extended inside the same transaction as the expiry check (same conn, no TOCTOU), giving a worker whose refresher thread died from transient DB failures one final chance to keep its completed work. 2. A failed compression split now records a 60s failure cooldown, so the next turn cannot immediately re-trigger the same compression. Salvaged from #98137 (author: vsd2807). The timeout-reconciliation half of that PR is NOT carried: it has a blocking review (runtime sid vs persisted session_key, one-shot check cannot observe a 6-minute commit, no identity projection) and needs a redesign.