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