According to Smart Cycle Overview, Rachio guarantees that there will be at least 30 minutes before restarting a zone. Correct me if I'm wrong, but this doesn't seem ideal and seems like it could still lead to runoff.
It's cool that Rachio goes to the trouble to calculate maximum runtime based on soil intake rate (IR), precipitation rate (PR), and allowable surface accumulation (ASA). However, once the ASA has accumulated on the surface, it may take longer than 30 minutes for it to soak in. For example, let's say we have Clay Loam soil and no slope. ASA is 0.26" and we can run a maximum of 12 minutes @ PR = 1.5". So say we run 12 minutes and have 0.26" sitting on the surface. IR for clay loam is 0.2"/hr, so if we restart the zone in only half an hour we'll still have 0.26 - 0.2 * 0.5 = 0.16" still sitting on the surface. Then when we run 12 minutes more we'll have 0.16 + 0.26 = 0.42", which is greater than ASA, causing runoff.
Instead of waiting a minimum of 30 minutes, why not wait at least (ASA / IR) * 60 minutes so the surface accumulation has fully soaked in and we're basically back to where we were before starting the first cycle? In the example above this would be 0.26 / 0.2 * 60 = 78 minutes. (We wouldn't have to wait this long if the next cycle is less than 12 minutes.)