Aha! It's because SourceStamp is only populated when data comes from a change source. (Why?) If I use my own repo and push a change, the revlink works as expected. Onwards.