registrar

Files related to my duties as Registrar of Agora Nomic
git clone git://juanmeleiro.mat.br/registrar
Log | Files | Refs | README

commit 544a14fd1cd4dca296a40cb8fb7bf6b5aec463f4
parent ff966e3fbec04fc577c8bdb6bc758326e9f822b2
Author: Juan F. Meleiro <juan@juanmeleiro.mat.br>
Date:   Fri,  6 Jun 2025 13:32:30 -0300

Create a checklist system and an entrypoint for new Registrar in README

Diffstat:
MBACKLOG.md | 7++++++-
MREADME.md | 107++++++++++++++++++++++++++++++++++++++++---------------------------------------
Achecklists/index.md | 3+++
Achecklists/registration.txt | 36++++++++++++++++++++++++++++++++++++
4 files changed, 99 insertions(+), 54 deletions(-)

diff --git a/BACKLOG.md b/BACKLOG.md @@ -1,7 +1,12 @@ # BACKLOG -- List the Registrar's duties and relevant rules +- Write checklists + - List the Registrar's duties and relevant rules +- Write command `check` + - Use check-jsonschema - Add graph with the number of players to website +- Add configuration to disable integration with mail client. +- Make date commands parse email date values ## Ditch neomutt diff --git a/README.md b/README.md @@ -1,10 +1,63 @@ # The Registrar's Repository +## Instructions for a new Registrar + +- Get familiarized with this repository (a description of the structure can be found later in this document). + +- Install dependencies: + - Lua 5.4, as it is required to run the `registrar` script. + - jq + - m4 + +- Ensure you are able to read Message IDs for emails in your client. + +- Setup weekly reminder for weekly report in whatever organizational + system you use. Any date is fine, but the deadline is always the end of + UTC sunday of that week. + + - Upon reminder, perform the relevant checklist. + +- Setup monthly reminder for monthly report in whatever organizational + system you use. Any date is fine, but the deadline is always the end of + the last day of that month. + + - Upon reminder, perform the relevant checklist. + +- Setup yearly reminders for announcing the birthdays of every active + player. + + - Upon reminder, perform the relevant checklist. + +- Continuously monitor the public fora for the following events: + + - Registration + - Messages where a person declares their intent to register (R869) + - Cantus Cygnei + - Messages clearly labeled as a Cantus Cygneus (R1789) + - Deregistration + - Messages where a player voluntarily deregisters (R869) + - Messages where an inactive player is deregistered without 3 objections (R2646) + - Messages where a player is banned (R2679) + - Messages where a player is exiled (R2556) + - Deactivation + - Messages where a player is deactivated (R2646) + - Reactivation + - Messages where a player reactivates emself (R2646) + - Changes + - Messages in which pertinent rules are changed. + + In case of any of these events, perform the relevant checklist. + +- Optinally, setup some way to keep track of player activity, for the + purposes of inactivating them. If you find a good procedure, update + this documentation and create the relevant checklists. For now, I + (juan) am leaving this to other players. ## Repository structure - `BACKLOG.md`. Notes on things to do to improve this repository and related things. - `README.md`. This file. - `archive`. Archive of old files; mainly reports. +- `checklists`. Checklists for various Registrar routines. - `cantus`. Cantus Cygneus (not complete). - `fora.json`. Data regarding fora, used by scripts. - `lib`. Scripts that are called directly or indirectly by the main `registrar` script. @@ -13,56 +66,4 @@ - `registrar`. The main Lua script for performing registrar actions. - `templates`. Templates used for generating reports and other messages. -## Registrar's obligations/routines - -- Weekly report - - When? Once a week - - Routine: - - Generate - - Send - - Archive (save copy and record in log) - -- Monthly report - - When? Once a month - - Routine: - - Generate - - Send - - Archive (save copy and record in log) - -- Writs - - When? When a cantus is received. - - Routine: - - Publish writ - - Record in log and players.json - -- Record new players - - When? When player registers - - Routine: - - Record in log and players.json - -- Record departing players - - When? When player deregisters or is deregistered - - Routine: - - Record in log and players.json - -- Record banned players - - When? When players are banned - - Routine: - - Record in log and players.json - -- Deactivate players - - When? N days after last public message - - Routine: - - Record in log and players.json - -- Intent to deregister players - - When? N days after deactivation - - Routine: - - Send message putting forth intent - - Record in log and players.json - -- Deregister players - - When? When intent is ripe and mature - - Routine: - - Send message deregistering players - - Record in log and players.json + diff --git a/checklists/index.md b/checklists/index.md @@ -0,0 +1,3 @@ +# Checklists + +- [Registration](registration.txt) diff --git a/checklists/registration.txt b/checklists/registration.txt @@ -0,0 +1,36 @@ +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + REGISTRATION +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + +———————————————————————————————————————— + 1 Conditions +———————————————————————————————————————— + +A person has expressed their intention +of registering in the game in one of the +public fora: + +- agora-official@agoranomic.org +- agora-business@agoranomic.org +- agoranomic@groups.io + +———————————————————————————————————————— + 2 Actions +———————————————————————————————————————— + +Working tree ..................... CLEAN + Verify git working tree is clean + of changes. + +Command ............................ RUN + See output of command: + ./registrar register -h + +Changes ......................... COMMIT + Commit changes to git with a + descriptive message like + “Register <playername>”. + +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ + FIM +━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━