freshnessBand
fun freshnessBand(now: Instant, lastSyncedAt: Instant?, ttl: Duration, lastError: Throwable? = null): FreshnessBand
Pure staleness computation. First match wins:
lastError != null→ FreshnessBand.VeryStalelastSyncedAt == null→ FreshnessBand.Initialage <= ttl→ FreshnessBand.Freshage <= 3·ttl→ FreshnessBand.Staleelse → FreshnessBand.VeryStale