Good spot Dipankar, and you’re right: time left at settlement is lifetime minus settlement delay, so it’s only a lower bound on what the client signed for. I’ve rerun the 1,476 settlements with a recovered window against the 0.17.0 rule (validBefore − max(now, validAfter) > 3600):
23 (1.6%) would certainly have been held: even at settlement they had more than an hour left, so they had more at signing.
39 had validAfter set and a total window under an hour: certainly not held.
1,400 had validAfter = 0 and under 10 minutes left: nowhere near the limit.
14 sit right on the boundary: 12 settled with 3,500–3,599 s left, and 2 used a 70-minute window backdated by 10 minutes. Both look like clients signing for exactly one hour.
Those 14 matter. They pass the strict > 3600, but a second of clock skew between signer and gate would hold them. So the next release ought to add a small skew tolerance at the one-hour edge.