Hi Masashi, this is a very interesting proposal -- thanks for the diagrams and the pointers to existing schedule API. I will digg into this direction and see if I can propose something useful.
The question is: would an API for the whole agenda mechanism (and not just scheduled items) be useful? I've never been a big fan of caching Org files information, because Org files are often modified in impredictible ways. But if we can update the cache quickly, then it will certainly be useful. I will let you know about progress about this. Thanks again for raising this idea! -- Bastien