I verified git annex works as expected by doing the following:
1. get a sorted, unique file listing including .git contents (this ensures we have all of the git annex contents)
2. get a sorted, unique link listing including .git contents (this ensures we have the same repository structure)
3. compare file listings, ignore annex/transfer directory, git objects may be different, git annex contents should be identical
4. compare link listings, should be identical
5. run a git annex fsck or compare the checksum for all files (this is a file system issue)
This works, but can be a bit labor / time intensive. Additionally, the process can be complicated further by having mirrors that are only partial copies. For those mirrors, you need to only compare the content that you are expecting to have.