# LOC-011 Lab — Lease Lifecycle & Progress State Machine v1

Implement the missing policy function in `starter.py` from the supplied synthetic cases. Bind every message to lease identity/generation and holder, treat ACK as receipt rather than completion, keep expiry authoritative, preserve monotonic renew/progress sequences, and never revive an old generation. The streaming transfer case may reorder messages; transport arrival order is not authority.

Run `python run_checks.py` for learner-visible structural checks. Hidden expected decision labels are not included in this folder.
