Skip to main content
Recruitment and contribution promotions are separate entry points. Both use reviewed role delivery and current ownership, hierarchy and capacity checks.

Staff recruitment

Recruitment is closed by default. The owner opens /dashboard/{guild_id}/staff, configures the requirements and questions, and shares /staff/{guild_id} with members. Recruitment supports 1–5 questions, each up to 120 characters, with answers up to 1,000 characters. Account age, server membership age, evaluation quorum and voting quorum are configurable. One open application per member is allowed, with up to five submissions per server in 24 hours. The successful selection path is:
  1. Submit an application and check basic requirements.
  2. Collect independent staff evaluations.
  3. Collect votes and written opinions.
  4. Complete final review: pass, hold for more information, or reject.
  5. Obtain the actual current owner’s decision.
  6. Have the owner explicitly request the access grant.
  7. Deliver roles and record the appointment/audit result.
Approval alone does not grant access. Applicants cannot evaluate, vote on, decide or execute their own application. A resumed evaluation starts a new round; older evaluations and votes remain in history but do not satisfy the new quorum.

Contribution promotions

Members open /servers/{guild_id}/promotions or use /promotion request after meeting the desired rank’s minimum contribution score. Reviewers use /dashboard/{guild_id}/promotions or /promotion review. Privileged AEGIS or Discord roles always require the actual owner. Turning off a rank’s approval toggle does not bypass that requirement. A narrowly configured low-risk self-service rank can use its confirmed-request policy. Manual appointments bypass a score minimum; manual promotions must meet it. Automatic promotion is off for migrated ranks and requires explicit enablement, approval disabled and self-service-only permissions without dangerous Discord roles. It is processed eventually, not immediately after every message.

Failed delivery

The worker rechecks approved roles, ownership and permission snapshots. Changed snapshots stop delivery. Inspect the displayed failure and use the owner’s fresh reconciliation comparison when retrying. Role changes made outside the bot cannot be atomic with the database, so verify current Discord roles before discarding a request that already attempted delivery.