Looks good! I like that it’s deterministic by piggybacking off of BIP32 derivation. Seems to cover my use case. 👍
Out of scope for the NIP, but just thinking out loud: an aggregator of invalidation events could publish a bloom filter of invalidated npubs. There could be false positives, so clients would want to query for the specific invalidation message.