We need to define a set of permissions that will be configurable by admins creating new roles for their community. These are 'user-surfaced' permissions, so we group similar thread permissions together (i.e. edit_thread_color, edit_thread_avatar, etc). There is a distinct separation between configurable permissions and guaranteed permissions, since we need to ensure that every member in a community, despite the role, has a set of default permissions.
The permissions here are based on the existing permissions we have for existing `Members` and `Admins` in `thread-permissions.js` for communities, so that's where I selected what roles should use certain
prefixes. Adding @ashoat as blocking since we discussed some of these in our sync & it involves user-facing copy with the titles and descriptions.
Depends on D8379
[[ https://linear.app/comm/issue/ENG-4171/instantiate-user-surfaced-roles-titles-and-descriptions | ENG-4171 ]]