The following discussion is an archived debate. Please do not modify it. Subsequent comments should be made in a new section. The result of the discussion was Approved.

--Maxim(talk) 19:15, 30 September 2008 (UTC)[reply]

Operator: Cyde Weys

Automatic or Manually Assisted: Automatic

Programming Language(s): Python

Function Summary: Automatic implementation of category deletions as a result of listings on Wikipedia:Categories for discussion/Working.

Edit period(s) (e.g. Continuous, daily, one time run): Once every hour

Already has a bot flag (Y/N): Y

Function Details: This bot has been running for at least two years now. It long ago received approval for implementing the results of CFD debates as entered on Wikipedia:CFDW (a page which, I might add, is only editable by administrators). However, I became increasingly frustrated at having to go back through after the bot ran and manually delete all of the old category names. So I simply flipped a configuration switch and had the bot automatically delete the obsoleted category pages as well. The only problem is, I never technically received approval for this (and thus the admin bit for the bot), and so all of the deletions still gum up my personal administrator account to this day. I have filed this BFRA to take advantage of the brand new Bot approvals rules that allow admin bits to be handed out to bots through the BFRA process. Just to make absolutely clear, this BFRA is simply to approve the task that my bot has already been performing successfully for a long time.

For the technically curious, and to allay the concerns of anyone who may be opposed on the basis of secret admin bots, I have released the entire source code of my bot under the MIT License as part of the PyWikipediaBot framework. The only other part of my bot is a single line in crontab that executes it on a schedule. I will leave this part as an exercise for the reader :-)

Cyde Weys 19:44, 23 September 2008 (UTC)[reply]

Discussion

[edit]

I'm here to answer any questions that anyone may have. Allow me to anticipate one question, if you will: What exactly does this functionality of Cydebot do? In the simplest terms, Cydebot is a mechanism that allows other administrators (and only other administrators) to direct a bot to take actions (such as renaming, deleting, merging, etc.) on categories as a result of the Categories for discussion process by simply editing a page on-wiki rather than having to have all of the know-how to run a bot. Cydebot makes no decisions on its own: everything it does is a result of other administrators having given it instructions. In my opinion, Cydebot is probably the least controversial type of admin bot possible. --Cyde Weys 20:05, 23 September 2008 (UTC)[reply]

What about the problems with the edit summary that to my memory happen from time to time? This is a minor annoyance, but still, if we're going pro with this, could you perhaps add a sanity check of some sort (and refuse to run if the request on Wikipedia:CFDW is malformed)? Миша13 20:11, 23 September 2008 (UTC)[reply]

This bug is caused by a human error in modifying Wikipedia:CFDW. As you can see in this edit, the user has removed the day's subheading but left behind a task that has not been completed yet. So when Cydebot got to the task, it no longer had a day associated with it. There are two possible options for handling such an occurrence:
  • Perform the task anyway, but handle the resultant edit summary a little better (e.g. by not linking to a date at all, instead of linking to a nonsensical one).
  • Refuse to perform the task until a human has corrected Wikipedia:CFDW.
I suppose we can hash out in this discussion which avenue would be preferred? Either way though, it's an error that happens very infrequently. --Cyde Weys 20:22, 23 September 2008 (UTC)[reply]
My preference is that, when a bot encounters an unexpected situation, it should do nothing and ask for human assistance rather than possibly do the wrong thing. --Carnildo (talk) 20:33, 23 September 2008 (UTC)[reply]
Actually, here's my proposal. The date subheadings can remain on Wikipedia:CFDW as an aid for human editors of the page, but my bot will ignore them as comments and instead grab the date directly from inside the ((cfd)) template on each respective category page. This should protect against an entire category of listing date errors (not just the case of them being missing together). At the very least, it will always guarantee that the bot's edit summary links to the correct discussion page. Give me a day or two to code this solution up, but I consider this bug resolved. --Cyde Weys 20:47, 23 September 2008 (UTC)[reply]
I agree with Carnildo that a reaction to an unexpected situation should be to skip the page. Also, we as I mentioned on IRC, we don't know how often someone causes a page to end up under a *wrong* day header (this does not result in a redlink and is not immediately visible). Maybe instead the date could be pulled from the category page itself (using a quick query to api.php for the page's contents) - the ((cfd)) template includes a link to the daily log. Миша13 20:44, 23 September 2008 (UTC)[reply]
All right, let's continue along this line of reasoning. What other unexpected situations are there? The only ones I can think of involve the date subheading, which the aforementioned change will render moot. Either each listing matches one of the listing regular expressions — in which case it is acted upon — or it does not match one of the listing regular expressions, in which case nothing happens. To my knowledge, in two years of execution, Cydebot has never made an error of this sort that did not involve a bad date subheading. I just don't see any other way for things to go wrong, and that's not just idle speculation; given more than ample opportunity, nothing else has. --Cyde Weys 20:58, 23 September 2008 (UTC)[reply]

Just a comment: Kudos to Cyde for bringing this forward for official community approval. I hope all bots are eventually approved like this. -- how do you turn this on 21:57, 23 September 2008 (UTC)[reply]

Yeah, epic cheers, d00d. I hope all people commenting on adminbot BRFAs will be similarly insightful. Миша13 22:52, 23 September 2008 (UTC)[reply]
I hope they wouldn't be so sarcastic in response to people as you are, but one can only wish. I'll be sure to comment on yours if/when you decide to let the community have a say on whether you run your bots. -- how do you turn this on 23:07, 23 September 2008 (UTC)[reply]

As a regular CFD closer, I've been "working" with Cyde's bot for a long time now. I have no issues with the bot or the admin tasks it performs. And I second User:How do you turn this on's Kudos for going for approval. --Kbdank71 20:33, 25 September 2008 (UTC)[reply]

All right, I have a new version of the bot available for your perusal that resolves the above-identified issue regarding links to per-day CFD pages in the edit summaries. The bot now grabs the per-day CFD links directly from the CFD templates on the category pages instead of from the working page (though it uses the ones on the working page as a fall back if for some reason the CFD template isn't there). This should definitely be more fool-proof. Oh, and the simplest way to add this functionality ended up being to rewrite the whole bot in Python and then leveraging the rest of PyWikipediaBot, so I did. This has the double advantage of making the source mode shorter, more comprehensible, and more easily maintainable. I'm going to check it into the PyWikipediaBot main branch soon, because I feel it could be useful on some of the other languages. --Cyde Weys 21:49, 25 September 2008 (UTC)[reply]

I haven't been working on CfD much lately, but thinking back to when I did I can only endorse with what Kbdank71 says. Cydebot is no muss, no fuss, and does exactly what it says on the tin. I applaud Cyde's recent work to address the points raised here. Outstanding! Angus McLellan (Talk) 22:16, 25 September 2008 (UTC)[reply]

Oppose. While I'm sure nothing is wrong with the code and definitely nothing is wrong with Cyde's intentions, I am opposed to any bots having the admin bit. Now I know I'm going to take a lot of flak for that, so here are my responses. No, I'm not afraid of Skynet and yes, I'm aware of User:RedirectCleanupBot and how it hasn't gone on a rampage. I also do not offer any other solutions nor workarounds, aside from doing it manually and I am not volunteering to do it myself because I have more interesting things I want to accomplish on Wikipedia. Those typically cover what I need to say to the usual responses to my opposing of admin bots. Sorry to sound curt, I just didn't want to get into an argument, I only want to voice my opinion, which is that I don't like adminbots. Useight (talk) 06:43, 26 September 2008 (UTC)[reply]
Could you please explain why you don't like adminbots --Chris 07:38, 26 September 2008 (UTC)[reply]
(e/c with Chris G) Ok, so you acknowlegde that adminbots exist and are doing a good job, and that this one isn't any different. I hope you will also agree that your opinion is entirely irrational (as in deprived of logic and emotionally loaded). Миша13 07:43, 26 September 2008 (UTC)[reply]
Seeing as how admin bots are now endorsed as policy, this makes just about as much sense as opposing all RfAs because you don't think Wikipedia ought to have administrators — in other words, people aren't going to take you seriously. Take advantage of the fact that I've made the source code to this bot public and look at it to verify that it's doing exactly what I say it is. Then look at its proven track record. Oh, and go talk to some of the regulars at Wikipedia:CFDW and get their opinion on it. I bet you'll find that they did not enjoy having to manually run a bot separately on each listing, nor did they enjoy having to manually delete the old category page after a move, either. --Cyde Weys 12:41, 26 September 2008 (UTC)[reply]
Terribly sorry, I forgot to include the most important part of my comment. If you take a look at my contribs, it was my last edit of the day (nearly 1AM) before I went to bed. I meant to add that I oppose adminbots because I believe the most important trait of adminship is judgement and bots can't make judgement calls. Useight (talk) 14:50, 26 September 2008 (UTC)[reply]
I think you may be unclear on the concept here then. I'm not trying to get Cydebot be declared as an administrator. That is, of course, ridiculous, and isn't even possible until the advent of strong AI, which is probably still decades off. Rather, I'm trying to get approval for Cydebot to perform the specific administrative tasks specified in this bot request for approval, that is to say, deleting empty categories after all of their contents have been moved to the new ones. This is quite clearly a task that a bot can handle (unlike general administrative duties), and the proof of that is that Cydebot has been doing it for over a year now. So I don't understand the nature of your opposition. --Cyde Weys 15:07, 26 September 2008 (UTC)[reply]
I just don't like the idea of a bot deleting. Yes, I'm aware that is all it will be doing and that it will be non-controversial. I also understand the concept of consensus, that it appears this bot will go forward even though I don't like it. I didn't show up to try to torpedo the adminbot or prevent it from operating. I just wanted to say that I am not a fan of the idea. I'm not going to go around trying to take its ability to do these deletions. I would much rather it just tag them for speedy deletion and let a human do the actual deletions. I'm not going to fight it or run around posting messages trying to get mob rule to lynch it. (As a side note, I took a look at the code, but couldn't really make much sense of it, I only know C++ and a little Java). Anyway, I'm a man of few words, so I don't like talking in huge blocks, but my whole point is that I don't like the idea of bots deleting. Useight (talk) 16:59, 26 September 2008 (UTC)[reply]
I'm afraid you don't realize that there are already bots (on admins accounts) that have the admin bit. What's wrong with adding some transparency to them? --Coffee // have a cup // ark // 00:34, 29 September 2008 (UTC)[reply]
Don't be afraid of that. I'm fully aware that there are "secret admin bots". I'm not opposing because of transparency, I'm opposing because it is an adminbot. I don't want "secret admin bots" and I don't want transparent ones. If it is a bot doing admin tasks, I don't want it. I don't even allow Huggle to do my blocking for me, I do it manually. However, the community is obviously moving towards having approved admin bots (I watch the Bureaucrat Noticeboard carefully). I don't like it, but consensus is consensus. Useight (talk) 04:24, 30 September 2008 (UTC)[reply]
If it did, it would surely get blocked like any other unapproved bot. -- how do you turn this on 13:36, 26 September 2008 (UTC)[reply]
I sure hope so. I just want to make sure that the bot operator agrees with this. :) --Conti| 13:38, 26 September 2008 (UTC)[reply]
Short answer: No. Long answer: I might do some testing of other bots I end up writing before going through formal approval, but I could just as easily do the testing on my main administrator account like I have been for awhile, so this won't really change anything except which account the edits come from. Oh, and if the bot malfunctions during the testing, you can block it without having to worry about the repercussions of blocking an administrator's main account. Win-win all around, really. --Cyde Weys 14:35, 26 September 2008 (UTC)[reply]
Thanks, that sounds good to me. Although now another thing comes to mind: Will the bot stop working when it is blocked? As far as I know, admins can still perform admin actions when they are blocked. At least it was like that a year ago or so, it might as well not be possible anymore, making this a non-issue. --Conti| 16:33, 26 September 2008 (UTC)[reply]
As far as I'm aware, the only administrative action you can take when you are blocked is to unblock yourself. I'd like to see a confirmation of this. This won't matter for Cydebot (because it won't even get to the point where it tries to delete categories if it can't even make edits on the articles in the categories), but it might matter for future admin bots. --Cyde Weys 16:44, 26 September 2008 (UTC)[reply]
I think the ability to block others while you're blocked was recently removed. However, you can still unblock yourself, I believe. It was a fairly recent bug, but I don't have the initiative to go looking for it. Giggy (talk) 22:50, 26 September 2008 (UTC)[reply]
bugzilla:15642. I believe that means you can still unblock others. Миша13 09:37, 27 September 2008 (UTC)[reply]
I'm not so much concerned about a bot unblocking itself (If a bot would do that it would very, very quickly lose its admin bit), but rather about a bot continuing its work after it's being blocked. But this doesn't seem to be an issue here, so I fully support this bot getting the admin bit. --Conti| 11:51, 27 September 2008 (UTC)[reply]
This looks like a fix. Someone mind testing it? -- how do you turn this on 12:23, 27 September 2008 (UTC)[reply]
It's pretty trivial, even though it does a pretty dumb check that the user being blocked is not the admin himself. Миша13 19:07, 27 September 2008 (UTC)[reply]
Or not that trivial at all; seems that the commit was mostly b0rked after all. Still, it's entirely out of scope of this discussion, because (as seen clearly from the source code) Cydebot does not posess or call any (un-)blocking subroutines. Миша13 19:38, 27 September 2008 (UTC)[reply]

Minor update, I've committed the new Python version to the PyWikipediaBot repository, so I'm not going to be keeping the source I uploaded to my personal server up to date. To access the latest version of the bot use this link, which goes directly to Wikimedia's SVN. --Cyde Weys 03:01, 29 September 2008 (UTC)[reply]

The above discussion is preserved as an archive of the debate. Please do not modify it. Subsequent comments should be made in a new section.