Wikipedia:Bots/Requests for approval/ClerkBot
- The following discussion is an archived debate. Please do not modify it. To request review of this BRFA, please start a new section at Wikipedia:Bots/Noticeboard. The result of the discussion was
Approved.
New to bots on Wikipedia? Read these primers!
- Approval process – How this discussion works
- Overview/Policy – What bots are/What they can (or can't) do
- Dictionary – Explains bot-related jargon
Operator: L235 (talk · contribs · SUL · edit count · logs · page moves · block log · rights log · ANI search)
Time filed: 22:16, Saturday, September 13, 2025 (UTC)
Function overview: ClerkBot will keep a running log of protection actions that are taken as arbitration enforcement (AE) actions on behalf of the Arbitration Committee (sample). ClerkBot will also notify admins if they take AE protection actions that forget to specify which arbitration case their AE action arose from (sample).
Automatic, Supervised, or Manual: Automatic
Programming language(s): Python
Source code available: GitHub repo
Links to relevant discussions (where appropriate): Wikipedia:Arbitration/Requests/Motions#CTOP/AE_page_protection_logging (current permalink)
Edit period(s): Daily
Estimated number of pages affected: Approximately 1-10 per day (the log page, plus one user talk page per admin who has neglected to specify the WP:CTOP under which the AE action was taken). For a rough upper bound, 73 admins have taken at least one AE protection action this year.
Namespace(s): Wikipedia and User talk
Exclusion compliant (Yes/No): No
Function details: This bot maintains the table currently present at User:ClerkBot/AE protection report (which may move to Wikipedia:Arbitration enforcement log/Protections if the currently pending ArbCom motion passes). Specifically, the bot examines every protection action taken since its last run (specifically, new protections and modified protections, not unprotections). If it appears based on the edit summary to be an Arbitration Enforcement (AE) action, it logs the action to the table.
It also attempts to determine the topic code that applies to the action based on the edit summary. If the protection edit summary links to the appropriate contentious topic page as required by the pending motion, or one of several other heuristics allows the bot to detect the appropriate topic code, then it automatically logs the topic code. If not, then the bot will notify the protecting admin of the protection action(s) that require manual labeling (sample). The notifications will only become active if the pending motion, which requires that the protection action link to the applicable contentious topic page (e.g., WP:CT/BLP)
, passes.
If the motion passes, the functionality of the bot will be mandated by ArbCom's procedures (it requires that protection actions will be automatically logged at Wikipedia:Arbitration enforcement log/Protections
).
The bot is not exclusion compliant, as the notifications should not be subject to opt-out because they relate to recent administrator actions that will not have complied with ArbCom's procedure relating to the appropriate way to log protection actions.
Discussion
edit- For BAG's information, I am currently running this as an exempt bot in the bot's userspace, with the table living at User:ClerkBot/AE protection report and the notificatons going to User:ClerkBot/AE protection report/notifications dryrun. If the motion passes, the bot will need to update Wikipedia:Arbitration enforcement log/Protections and the notifications will go live to admins. Best, KevinL (aka L235 · t · c) 22:16, 13 September 2025 (UTC)[reply]
- Isn't this a bit premature to file a BRFA before the motion has passed or being anywhere near a majority? Tenshi! (Talk page) 16:14, 14 September 2025 (UTC)[reply]
- I don't think so, for two reasons.
- Ideally, the bot would be fully ready to go (approved) by the time the motion passes, because when the motion passes, administrators will no longer need to log any protections to WP:AELOG, so it would be ideal to avoid a gap in coverage. Approving a bot takes time, so I wanted to get the process started now.
- Even if the motion doesn't pass, the bot could still operate the Wikipedia:Arbitration enforcement log/Protections log part (not the notifications part) under our general remit as arbitration clerks. This could be valuable to, for example, note when AE protections aren't being logged as currently required, which based on a glance seems to happen quite frequently. Running the bot as an EXEMPTBOT in the bot's userspace is a bit awkward for this purpose.
- The bot is functional and operational (though obviously its functionality might continue to get fleshed out by e.g. breaking out actions onto different pages by year or topic code), so I don't think a BRFA is hampered by a difficulty of testing the bot either. Best, KevinL (aka L235 · t · c) 21:21, 14 September 2025 (UTC)[reply]
- Thanks for replying. How would the bot handle cases where Protection Helper Bot reprotects a page? Tenshi! (Talk page) 21:47, 14 September 2025 (UTC)[reply]
- Currently, Protection Helper Bot is treated as any other admin taking any normal protection action. This means that, because it restates the original protection reason, if it is reinstating an AE action, it will be tagged in the log. (It shows up 17 times in the log so far for 2025.)This works great so long as the original protection reason includes the topic page link or topic code in the block summary. However, if the summary is lacking, then the current implementation would notify Protection Helper Bot. This is non-ideal functionality. I think the options are:
- Thanks for replying. How would the bot handle cases where Protection Helper Bot reprotects a page? Tenshi! (Talk page) 21:47, 14 September 2025 (UTC)[reply]
- I don't think so, for two reasons.
In my capacity as a clerk, noting that the motion has carried.
In my capacity as an interested editor and admin, it has been two weeks since this was opened. Tagging with {{BAG assistance needed}}—and thank you for all the work you BAGers do! HouseBlaster (talk • he/they) 21:29, 25 September 2025 (UTC)[reply]
Approved for trial (30 days). Please provide a link to the relevant contributions and/or diffs when the trial is complete. – DreamRimmer ■ 02:12, 26 September 2025 (UTC)[reply]
- In this edit, it added a protection which had an invalid CT code (albeit it would be a valid GS code). Tenshi! (Talk page) 16:20, 21 October 2025 (UTC)[reply]
- @Tenshi Hinanawi: Is that referring to this protection? WP:CT/SA is a valid CT code, and the bot detected that, even though "GCASTE" was a typo by the admin. Or were you referring to a different protection? Best, KevinL (aka L235 · t · c) 16:39, 21 October 2025 (UTC)[reply]
- Sorry, I linked to the wrong revision, 1317943753 and this protection which used WP:CT/RUSUKR (which doesn't exist, but WP:GS/RUSUKR and WP:RUSUKR does). Tenshi! (Talk page) 16:50, 21 October 2025 (UTC)[reply]
- The RUSUKR -> EE resolve seems to have arisen from HouseBlaster's edit here, which added the override, so this seems to be behaving as designed. Though HouseBlaster, perhaps we should revert that configuration change? Given that unlike e.g. WP:GSCASTE, which ArbCom fully assumed as a subtopic of WP:CT/SA, WP:RUSUKR still exists as an independent extant community GS authorization. Best, KevinL (aka L235 · t · c) 17:01, 21 October 2025 (UTC)[reply]
- Hmm. If you say something like "arbitration enforcement" while also including "RUSUKR", you might intend that as an AE action under EE, but you might also mean it in the colloquial, "this is enforcing a specific decision even though it was made by the community rather than ArbCom" sense. I've reverted for now, and we can reevaluate if a host of admins respond to ClerkBot's invitations saying they want "RUSUKR" plus "arbitration enforcement" to autocorrect to EE. Best, HouseBlaster (talk • he/they) 17:10, 21 October 2025 (UTC)[reply]
- I'd argue that a RUSUKR sanction is also an EE sanction, but it should be specifically marked and logged as both - same with CT/A-A and GS/A-A, and CT/KURD and GS/KURD. It's a community-defined enhancement to (in this case, a part of) the Arbcom-defined CT, so while the ECR on the topic is community-applied, the resulting ECPs on individual pages are an Arbcom sanction per "Standard set of restrictions > Page restrictions > page protection". - The Bushranger One ping only 01:07, 28 October 2025 (UTC)[reply]
- Having thought it over, I think we'd need community consensus to log community-authorized GSes at WP:AELOG/P. Assuming that the current RfC (Wikipedia:Village pump (proposals)#RfC: Aligning community CTOPs with ArbCom CTOPs) passes, I will consider raising this at a subsequent RfC. KevinL (aka L235 · t · c) 01:57, 28 October 2025 (UTC)[reply]
- Yeah, that's logical, with regard to the GSes that don't "overlap" CTs (WP:GS/ASCS, for instance). Having looked into it more as part of this I've realised that the "overlapping" GSes - A-A, KURD, and (partially with EE) RUSUKR - don't actually authorize protection, per se, they simply impose ECR. Which kind of does with the "ECR is preferably enforced by ECP" thing, but for those I'd say that the actual protection of pages is solely an Arbcom CT remedy. But either way, I would like for the GS sanctions to be automatically logged and "folded in" to the protection log here, it's an extremely handy tool and I would absolutely support that proposal if and when you make it. - The Bushranger One ping only 07:05, 28 October 2025 (UTC)[reply]
- Having thought it over, I think we'd need community consensus to log community-authorized GSes at WP:AELOG/P. Assuming that the current RfC (Wikipedia:Village pump (proposals)#RfC: Aligning community CTOPs with ArbCom CTOPs) passes, I will consider raising this at a subsequent RfC. KevinL (aka L235 · t · c) 01:57, 28 October 2025 (UTC)[reply]
- I'd argue that a RUSUKR sanction is also an EE sanction, but it should be specifically marked and logged as both - same with CT/A-A and GS/A-A, and CT/KURD and GS/KURD. It's a community-defined enhancement to (in this case, a part of) the Arbcom-defined CT, so while the ECR on the topic is community-applied, the resulting ECPs on individual pages are an Arbcom sanction per "Standard set of restrictions > Page restrictions > page protection". - The Bushranger One ping only 01:07, 28 October 2025 (UTC)[reply]
- Hmm. If you say something like "arbitration enforcement" while also including "RUSUKR", you might intend that as an AE action under EE, but you might also mean it in the colloquial, "this is enforcing a specific decision even though it was made by the community rather than ArbCom" sense. I've reverted for now, and we can reevaluate if a host of admins respond to ClerkBot's invitations saying they want "RUSUKR" plus "arbitration enforcement" to autocorrect to EE. Best, HouseBlaster (talk • he/they) 17:10, 21 October 2025 (UTC)[reply]
- The RUSUKR -> EE resolve seems to have arisen from HouseBlaster's edit here, which added the override, so this seems to be behaving as designed. Though HouseBlaster, perhaps we should revert that configuration change? Given that unlike e.g. WP:GSCASTE, which ArbCom fully assumed as a subtopic of WP:CT/SA, WP:RUSUKR still exists as an independent extant community GS authorization. Best, KevinL (aka L235 · t · c) 17:01, 21 October 2025 (UTC)[reply]
- Sorry, I linked to the wrong revision, 1317943753 and this protection which used WP:CT/RUSUKR (which doesn't exist, but WP:GS/RUSUKR and WP:RUSUKR does). Tenshi! (Talk page) 16:50, 21 October 2025 (UTC)[reply]
- @Tenshi Hinanawi: Is that referring to this protection? WP:CT/SA is a valid CT code, and the bot detected that, even though "GCASTE" was a typo by the admin. Or were you referring to a different protection? Best, KevinL (aka L235 · t · c) 16:39, 21 October 2025 (UTC)[reply]
Trial complete. I wasn't sure whether 30 days meant 30 days from the trial approval or 30 days from starting the trial, so although I started the trial on Oct 6th, I'm ending it here to be safe. 27 edits were made (see , search for "task 3"). Contribs are listed here:
On the whole, the trial went well. The heuristics for detecting topic codes were improved during the trial (see Wikipedia_talk:Arbitration_Committee/Clerks/archive_12#Enforcement_log_not_updating), and I brought the configuration on-wiki at User:ClerkBot/T3/config.json.
One minor request: if the bot is fully approved I'd appreciate it if the approval covers updating to subpages of Wikipedia:Arbitration enforcement log/Protections (e.g., if the bot directly adds to Wikipedia:Arbitration enforcement log/Protections/2025/October rather than Wikipedia:Arbitration enforcement log/Protections). Best, KevinL (aka L235 · t · c) 22:25, 26 October 2025 (UTC)[reply]
- {{BAG assistance needed}} I'd appreciate BAG review once a BAG member has a moment, since during the time between trial and approval the bot is not performing the function mandated by ArbCom procedure. Thank you! Best, KevinL (aka L235 · t · c) 19:24, 29 October 2025 (UTC)[reply]
Approved. Approval also covers updating subpages of the protections log. – DreamRimmer ■ 04:22, 30 October 2025 (UTC)[reply]
- The above discussion is preserved as an archive of the debate. Please do not modify it. To request review of this BRFA, please start a new section at Wikipedia:Bots/Noticeboard.