FlapSchedule
data class FlapSchedule(val seed: Long, val meanUptime: Duration, val meanDowntime: Duration, val giveUpAfter: Int)
Declarative soak driver for FlakyLifecycleSeam.drive.
Alternates SeamState.Woven (≈meanUptime with ±50% jitter) and SeamState.Weaving (≈meanDowntime with ±50% jitter) for giveUpAfter cycles, then tears with CloseReason.Unreachable. Set giveUpAfter to 0 for an infinite loop.
All timing uses kotlinx.coroutines.delay — deterministic under runTest virtual time. seed guarantees reproducibility across runs.