The Repo interface is lacking java doc. For example:
Repo.isReady return a long and there is no documentation about what its return value should be and how it is used.
Currently it's used by Fate.run to decide whether to run "Repo.call" or not. If that's the only purpose it is used for, then isReady should return a boolean. If we do want it to return a long, then we should at least use constants by the various derived classes.