This is one of the most confusing parts about Rachio, and must generate a lot of support emails.
From what I understand (and all times are just examples) the graphs are updated before the schedule.
So the controller/app/cloud looks at the current values and determines that as of "right now" zone 1 should have been watered today. However, when the actual watering schedule is computed (1 am It think) the program looks at the previous day's weather and based on that, determines if a watering is necessary.
Then based on that, the graphs are "corrected". It can be really confusing to see your zone showing as watered through the zone detail, but the watering history shows no such event. Tomorrow it will all be corrected.
So what we think is real-time micromanaging of our irrigation is just an estimate based on predictions, and our watering is based on past results.
If the election were held today, who would you vote for? It gives an estimate, but it doesn't matter until the votes are counted.
If the irrigation were held today, how much would you water? Again, a snapshot, but doesn't matter until after midnight when all the rainfall has been measured.
Does that make any sense?