Perfect, thankyou. Sorry I should’ve figured that out.
I looked at the list and ignored the JSON - my mistake was assuming that the JSON grammar files were for letting people write SPIR-V in JSON, rather than the JSON actually describing the instruction metadata.
I guess there’s no official instruction categorization hierarchy (apart from the structure of opcode names, like OpType[]).
The specification does put instructions into categories (subsections of the Instructions section) and these are sometimes referred to normatively. It’s a future plan to declare those categories in the JSON file, but for now, they are explicitly enumerated when building the specification.