Community maintainers
Community maintainership sucks, it's all-or-nothing. You can't (for instance) add someone just to let them style the comm without them being able to demaintainer you and totally hijack the community.
So, we break down 'maintainership' into multiple maintainership edges. The community 'owner' (the current 'maintainer') is the only person who can add/remove other maintainer edges at first; over time they can add others. (Adding another person with a "can control ownership" edge requires lots of confirmation, because that's the one that will let other people demaintainer you.)
We instead do it like Bugzilla does it -- you have membership in access control groups, and each group can do different tasks. You also can specify whether people have the ability to grant others membership in that control group.
This also has the benefit of removing the maintainer/moderator distinction (which is incredibly confusing, since in the wild people use 'moderator' to mean what the code calls maintainership). We make 'can control the mod queue' an edge.
Sample maintainership edges:
- Can control comm tags
- Can control comm style
- Can control comm memories
- Can change comm settings at /manage/settings/?authass=comm
- Can screen or delete comments
- Can manage the moderation queue
- Can edit or delete posts made to the community
- Can add other owners
- Can remove other owners
- Can add people into these groups
- Can remove people from these groups
- ...?