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:
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
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━