Given the schema updates we are making to ipblocks to support T346293, I want to propose an additional field to the schema, for category or reason_type as an integer value.
The idea is to allow for structured data to associate with a particular block. The main use case I have in mind is to easily determine if the block exists to target an open proxy. Currently, the only way to figure that out is through parsing the free text reason_id field (joins to comment table) which varies by wiki, and sometimes is inconsistent depending on which user or bot added the block.
The category / reason_type field would hard-coded, but maybe we would want to allow for configuration overrides to add additional categories over time.
Alternatively, as my primary use case is wanting to gather blocks that are associated with open proxies, we could consider a way in the UI and API to set a field in block_target for open_proxy.