I participated in the initial beta test of pubky and I had the same thought as nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6, that tagging is one of the best things about pubky. Simple, easy, useful, user friendly.
NIP-32 could be one way to implement tags in nostr, but a simpler way would be something similar to NIP-56. Same basic structure as NIP-56, but we rename it from “reports” (which obviously has a negative connotation) to “tags”, and instead of a “report type”, we just have the tag itself, which would typically be a human-readable string (but in theory could be any string, like an event id that points to a “tag” with some sort of structure).
Tags generated via either of the above methods, or any other method for that matter, will be great sources of raw data to be fed into GrapeRank, via the process of “interpretation” which will convert the raw data into a format that is ready to be ingested by the GrapeRank algo.