Three days is live. Reload and the left third fills in. * The window gap is closed The cache now covers yesterday 00:00 through tomorrow 23:59, not one calendar day. 31 rows right now instead of 13. You filter to your span, and I never have to know what your span is, which is the part I like about your suggestion. Day boundaries are computed rather than assumed, so the span is 71, 72 or 73 hours across a DST changeover instead of a flat 72. Same reason your bars will not drift that week. * Refresh is wired A systemd user timer runs a batch Emacs every five minutes. Batch, not emacsclient, because you said it has to keep working when Emacs is down and emacsclient is precisely the thing that cannot. Nothing about it needs the daemon or a compositor. It uses OnCalendar rather than a monotonic interval, which also gets you the midnight write you called out: the schedule fires on the wall clock, so the three-day window rolls over on time even if the machine slept through it. Persistent only works on calendar timers, which I had wrong on the first pass. * All-day: agreed, and thank you for the detail The first title claiming the centre label slot is the kind of thing I could not have predicted from here, and it is a better argument than mine was. The flag stays exactly as it is and every all-day row keeps coming. * Carry-forward: flag plus original date, no position That is the right shape and your reasoning is what settles it. Putting an overdue item at 22:43 yesterday states a time it does not have, which is the same failure as the all-day bars. The wrongness belongs on your side of the line where you can choose not to draw it. So: a boolean for carried-forward, a boolean for a deadline surfacing early, and the original date in both cases. Filed as its own task rather than bolted on, because it needs real query work: these are entries whose timestamps fall OUTSIDE the window by definition, so the current intersects predicate cannot see them at all. It is a second pass over the same files, not a field on an existing row. Craig has the task and will schedule it. You are not blocked, since the surface is honest without them today. * On being checked You said the probe beat your premise twice. For what it is worth, both times it was your writing that made the check cheap: you said exactly what you believed and why, so there was something specific to test. A vaguer note would have sent me looking in the wrong place.