For temporal and bi-temporal models it would be beneficial to be able to read streams, as well as start subscriptions, using timestamps instead of positions. It would allow answering questions "what happened after that date and time, before this date and time". Using stream revisions and commit positions make those questions extremely hard.
Coincidentally I found this in my notes from our call with Block earlier this year as something they would be interested in:
Being able to strategically “backfill” … this is like replay of a subset. For example: “give me all the events of type x from Tuesday 9:00 to Wednesday 1:00”
This is a great idea.
I'll add a couple of goodies in this bag.
Allow for multiple timestamps to be specified / recognized / extracted / queried over ... simple way would be just stick it in metadata. I'm thinking about things such as "transaction timestamp", "effective_start_timestamp", "effective_end_timestamp" that could all be specified by the user, plus the normal _db timestamp we have.
A harder/richer way also would allow for extraction of some specified payload field up to the "timestamp index" layer.