This is really interesting, but a basic part I don't understand: What would it actually look like to run this on a live dataset?
If I understand correctly: you'd run the recursive query, it produces results for every step, effectively showing you the progression of output over time, and then once it hits "present day", it completes and stops?
How would you generate results going forward? I.E. A minute elapses after the results return, do you have to re-run the whole query for all time?