The short answer is I used a logstash query to get a list of all repair ranges started and all ranges completed. I then matched the UUID of the start message to the end message and printed out all the ranges that didn't succeed. Then one needs to go a step further than I've coded and match the remaining ranges to at least one node in the ring that would hold a replica for the keyspace.
Does anybody have a better way to handle this yet? Will the 3.0 series logging of repairs to the system keyspace be able to give me this same kind of confirmation that everything in a given keyspace was last repaired as of $DATE, or that to repair everything as of $DATE I must repair ranges $X? https://gist.github.com/autocracy/9467eaaff581ff24334c