diff --git a/ec/README.md b/ec/README.md index 214ab2bf..cadefcc6 100644 --- a/ec/README.md +++ b/ec/README.md @@ -115,15 +115,14 @@ ## Pre-voting phase +- See [this process](./process.md) +- Organise the Q&A + ## Post-voting phase ## Misc -- Handle exception requests -- Handle nominations -- Organise the Q&A - Create the candidate documents -- Handle email/GitHub handle change requests - Making announcements - Running CIVS - Unsubscribe people @@ -137,26 +136,7 @@ In case somebody is violating the Q&A rules, their access to the repo can be rem - Don't mention the user in the commit, because it's confusing to receive an email for that - Tell them in the PR what they can do now -- Send the email to elections@nixos.org so that we have a copy of it -- If you reply, always CC to elections@nixos.org -- Use BCC for everybody that needs to receive it - - Sending reminders: - 2024-09-23 Monday: (Reminder) - 2024-09-30: Finalise the list of candidates, publish their documents - 2024-10-14 Monday: (vote reminder) - -Always send a reply email to the registered email (and the one you got an email from) to confirm things - -(In a real election, we'd confirm the list of endorsers that have submitted conflicts of interest disclosures here) - -In a real election, we'd say something like: - -``` -EC: We have received disclosure of CoIs from @a-kenji, @eyJhb and @infinisil, and can confirm that there are enough non-conflicting endorsements to satisfy the condition. - -We have also received the application form from @hsjobeki. - -This puts this nomination on the ballot! -``` diff --git a/ec/process.md b/ec/process.md new file mode 100644 index 00000000..b831ed16 --- /dev/null +++ b/ec/process.md @@ -0,0 +1,70 @@ +# How to process requests as the EC + +## Decision process + +1. Post a message for the decision to the internal EC channel +2. Decide over the request: + - React to the message with :+1: :-1: + - If the message gets :+1:/:-1: from more than half the EC, it gets approved/rejected immediately + - Otherwise, if after 24 hours, there are at least 2 :+1:[^1] and no :-1:, it gets approved + - Otherwise, ping the EC members that have not voted +3. Once decided, react with :white_check_mark: to indicate you will process the request + +[^1]: These numbers were decided by the initial EC of size 7, needs to be adjusted for smaller EC sizes + +## Replying to emails + +When replying to emails, make sure it's sent to all of: +- The original sender +- If available, the corresponding email in `voters.json` +- + +## On receiving disclosure of endorser conflicts of interest + +- Commit the CoI disclosure to the private repo and reply to the email with + ``` + Thank you, we have received your conflicts of interest disclosure. + Once at least 3 nomination endorsements satisfy the conflicts of interest restriction, + we will post a comment on the nomination. + ``` +- For all PRs the endorser was involved with (search for `involves:someUser`) that have at least 3 endorsements on the PR, + initiate the [decision process](#decision-process) to decide over whether there are enough non-conflicting endorsements. +- If approved and the nominee submitted the candidate template form, merge the PR and leave this comment: + ``` + EC: We confirm the candidacy of @, no more endorsements are necessary. + ``` +- If approved but the nominee did not submit the candidate template form, leave a comment: + ``` + EC: This nominee has enough endorsements, no more are necessary. However, we have not yet received the filled-out candidate template form from the nominee. + ``` + +## On receiving nomination forms + +- Commit the nomination form to the private repo and reply to the email with + ``` + Thank you, we have received your nomination form. + Once you get at least 3 endorsements that satisfy the conflicts of interest restriction, + we will post a comment on the nomination and merge the pull request. + ``` +- Merge the PR if 3 non conflicting endorsements were made (see above) + ``` + EC: We confirm the candidacy of @, no more endorsements are necessary. + ``` + +## On receiving exception requests + +- Initiate the [decision process](#decision-process) to decide over whether they meet the [bar for eligibility](https://github.com/NixOS/SC-election-2024/blob/main/doc/exception-request.md#how-to-request-a-voter-exception) +- If approved: + - Add their Email (and GitHub user if they provided one) to the [`voters.json` file](https://github.com/NixOS/SC-election-2024/blob/main/voters.json) and commit it + - Reply with + ``` + Thank you, we are approving your exception request, you have been added to the voters list. + ``` +- If rejected, reply with + ``` + Unfortunately we are not approving your exception request. + ``` + +## On other emails + +Forwards it as a message to the internal EC channel to decide what to do