I wrote a specification for obnam benchmarking and implemented it.

Obnam is unusably slow, but it seems to work correctly. Nobody can blame me for premature optimization...