"ifelapsed" lock is made to avoid "promise spamming" i.e. executing again and again. The default is 1 minute I believe. This is what causes two subsequent cf-agent to be different: the first does all the work, the second skips almost everything.
It would be good to print something to notify that promises were skipped. For example:
It might also make sense to consider changing the default ifelapsed, from 1 min down to 10 or 1 second.