770cc6a74b
F16 shipped inert. renewLeases refuses to renew when the agent is idle and the pane is unchanged since the hash recorded at the previous renewal, but reconcileLeases rebuilt every lease from the coordinator's task list on each tick and constructed a fresh struct, dropping ProgressSHA. The check therefore took its no-baseline branch forever and renewed unconditionally. Observed live: task 06G44JZB80MZBEY97196EZN8EC renewed at 09:31, 09:52 and 10:12 while its agent had been idle since 09:13, with a byte-identical pane capture and no busy marker anywhere in it. UsageBaseline and PickupAcknowledged were being wiped the same way, so a usage receipt lost its baseline and a pickup could be re-acknowledged. The coordinator is authoritative for the lease, not for what this worker observed under it, so those three carry across a reconcile while the epoch is unchanged and reset when it is not. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>