Everything the UI shows is derived from the data block at the top of
script.js:
CATS— the five role categories, their roles, open/fixed flag, and whether they haveon_counterparts.
Name construction (always the full name — no abbreviations, no implicit defaults) and the prominence vocabularies are computed from the spec's rules, so adding a role to an open category is a one-line change.