Thanks for your reply.
After further inspection I realized the missing photos in my library are not in fact on iCloud.com. iCloud.com doesn't show a blank photo representing my missing photos, which is why I thought iCloud.com had all my photos backed up.
I suspect one of two things happened:
- The photos were damaged in my library before I signed up for Photo cloud syncing, and since they were damaged, they didn't upload to iCloud, which would result in iCloud.com showing a "complete" set of photos.
- The photos were damaged in my library some time after I signed up for Photo cloud syncing, and the Photos app either flagged these photos as damaged, or otherwise told iCloud to remove the good photos.
Either way, it is extremely frustrating. I have two backups of all my photos. I do remote Time Machine backups (it doesn't have the missing photos, unfortunately), and I of course do photo syncing to iCloud.com. I have a lot of photos spanning over 20 years, and it seems the only way to ensure the integrity of my photos is to physically check my list of photos on a regular basis.
What I think would be be a great feature for the Photos app is for it to keep a database of all CRC values of photo as they are added to the Photos library. It could do a daily/weekly scan of the CRC values of the photos against the database, and if a discrepancy is detected it could prompt the user with a side-by-side comparison with the local copy, and the copy from iCloud, and ask which one to keep.