Wikipedia:Bots/Requests for approval/CSDCheckBot


 * 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 Symbol neutral vote.svg Request Expired.

CSDCheckBot
Operator: Dycedarg   &#x0436; 

Automatic or Manually Assisted: Automatic

Programming Language(s): Python and python-wikitools

Function Overview: Notifies editors who have tagged a page for speedy deletion that was not deleted or was deleted for criteria differing from that for which they tagged it

Edit period(s): Continuously

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

Function Details: This bot was constructed in response to this bot request, which was made after this discussion. I've mostly coded it, and the implementation I went with is as follows:
 * The bot follows the recent changes IRC feed and scans the edit summaries to find edits in which an editor is adding a CSD tag. It finds these by searching for the words "db, "CSD", etc.
 * Upon finding such an edit, it checks the page to make sure that a tag was indeed added, and if it was it will add it to a list of articles it is following.
 * It will only follow pages in article space, and it will only start following pages where the initial tag was G[1-4, 10-12] or A[1,3,7,9].
 * It will follow the articles on this list until such time as the article is deleted or the article has had its tag removed for a reasonable amount of time (currently 1 hour) unless the user who removed the tag was an administrator, in which case it will consider the speedy to have been denied and cease following immediately. It will note actions that remove the tag from the article, and actions that restore the tag to the article, and adds every editor who adds a tag to the page on a list.
 * If the page was deleted, every editor who added a tag to the page for criteria that does not match the criteria under which the page was deleted will be added to the bot's list of editors to be notified (with some exceptions noted below).
 * If the page is kept, every editor who added a tag to the page for any criteria will be added to the bot's list of editors to be notified.
 * Any editor who has previously added a tag and later removes a tag will be removed from the aforementioned list, so editors who later revert themselves don't get a message.
 * For the purpose of determing whether or not the criteria used by the editor was the same as that used by the admin, the following criteria will be considered equivalent so as to reduce false positives: G1-G3 will be one group, G3 and G10 will be another, as will G11-G12, and G2 and A7.
 * If the page is deleted under G7 (author request) no one gets a message as I see that as overriding other concerns.
 * If the page is userfied or redirected, no one gets a message.
 * If the page is deleted and the admin does not reference CSD criteria in the deletion summary no one gets a message.
 * If an admin deletes a page and cites multiple criteria, editors who added a tag corresponding to any of the criteria in the admin's deletion reason will not get a message.
 * If the last time the tag was removed from the page the edit summary includes "correct/good speedy/tag" indicating that the removing editor believed that the tagging was good but the page has been salvaged or some such no one gets a message. The bot will note whether or not the page was prodded or AFD'd if the tag was removed or if the size of the page has altered substantially, and will note this in its message.
 * If there is a recent message from an admin who denied the page/deleted it for a different reason already present on the editor's talkpage, the bot will not leave a message to avoid duplicating messages.


 * Also, to catch edits adding a CSD tag that don't indicate what they're doing in their edit summary, the bot will scan pages in Category:Candidates for speedy deletion and add whatever pages in it that aren't already in its list to its list.
 * Once every three hours, the bot will notify every editor on its list who has not tagged a page for speedy deletion for the past 20 minutes.
 * If there were only one or two instances meriting a message, the bot will give all appropriate details in the message on the editor's talkpage and not create a subpage. If there were more than two, then the bot will create a subpage, place the details of the incidents on the subpage, and link to the subpage from the message in the editor's talkpage.
 * My thoughts for these subpages is that there will in fact only be one subpage: The bot will edit the subpage with the editor's info, place a permalink to that revision of the subpage in the message to the user, and then edit the subpage again for the next user. This way there won't be hundreds of extraneous single-use subpages in the bot's userspace, cluttering things up unnecessarily, there will be only one subpage.
 * There will be, however, an opt-in option that will create a subpage in the user's own userspace. This subpage will contain a cumulative record of the user's CSD results from the time they opt in to the service. These subpages will be updated every three hours when the bot issues its notices.


 * The primary service for the bot is currently intended to be opt-out. Opting out will require either putting your name on an opt-out list in the bot's userspace, or adding nobots or some proper construction of bots to their talkpage, which will get them added to the bot's userspace list automatically. Note that a user who has opted out through the use of a template would need to remove themselves from the bot's userspace list manually to opt back into the service; merely removing the template from their page would not suffice.
 * My current reasoning as to why the bot would be justified as an opt-in as opposed to opt-out bot: Firstly, there are currently multiple bots that leave unsolicited talkpage messages, and their operation is not particularly opposed or resented from what I can see. They prompt some annoyed replies, yes, but the vast majority of it that I've seen came about as a result of a difficult to use or unavailable opt-out method. If someone can easily opt out of such messages they don't usually complain about it too much. In any case I suspect that most of the people who really don't like bots will already have a nobots template on their talkpage. Secondly this service is rather important: Not only to the integrity of Wikipedia and to our sometimes overtaxed admin corp, but to the editors themselves. New editors who add pages that are immediately tagged for CSD are unsurprisingly discouraged and annoyed, and incorrect tagging provokes such a response for no adequate reason. Better feedback to editors can only improve their accuracy, and that benefits everyone. Furthermore, as the AFD discussion reveals, any editor running for adminship who has had difficulty with CSD will almost certainly fail. Finally various admins mention in the discussions linked above that they gave a large number of notifications like these themselves, and that they never received an unduly negative response from editors they gave them to. (I realize there's a difference between a warning from an admin and a warning from a bot, but still.) Now, with regards to the messages the bot will give: They aren't going to be phrased as "warnings" so much as notifications. The bot's accuracy simply can't be 100% because many times pages can be deleted for multiple reasons, and an admin could simply pick a different criteria than the tagger did. Furthermore pages could be substantially altered between the tagging and the tag removal or deletion, and the bot can't do anything except note this (and it won't even do that if the change is in substance not quantity). So these messages aren't intended to chastise or anything of the kind, this will be neutrally phrased feedback and nothing else.

If anyone wants to see the code, I wouldn't mind and it is now pretty much finished, but keep in mind that unless I get around to commenting it it's almost 900 lines of uncommented and probably difficult to follow code.

Discussion
This bot might produce a large number of unnecessary and annoying talk page messages, since, in a rather large number of cases, the retention of a page for which speedy deletion is requested, or the deletion of the page under some CSD other than that cited by the requester, does not indicate that the editor placing the speedy deletion tag has done anything wrong. For instance, CSD G1, CSD G2, CSD G3 are nowhere close to disjoint; CSD G3 and CSD G10 have a substantial intersection as well. Thus, a fairly large number of pages will quite legitimately be subject to speedy deletion under multiple criteria. Consequently, the bot's proposed function of warning "every editor who added a tag to the page for criteria that does not match the criteria under which the page was deleted" will result in many superfluous talk page messages for every editor who cannot divine which CSD the deleting administrator will cite. The bot's function of warning "every editor who added a tag to the page for any criteria" for pages that are kept is likewise objectionable, since this situation may frequently result from the improvement of the page for which speedy deletion is requested, rather than any fault by the editor placing the speedy deletion tag: for example, a page tagged under CSD A7 may have an assertion of notability added to it. While this request concedes that "The bot's accuracy simply can't be 100%", it is questionable whether, in view of these considerations, even 50 percent of the talk page notices would actually be merited. Finally, the proposed task seems to include no apparent protection against flooding user talk pages with warnings: if an editor tagged 50 pages for deletion under CSD G3, but the pages were subsequently deleted with a summary referencing CSD G10, would the hapless editor receive fifty individual warnings, each placed in a separate edit? Erik9 (talk) 15:59, 3 May 2009 (UTC)
 * This seems like a good idea; it's probably even something I've thought of when I patrol new pages, but you might want to change it a little in light of Eirk9's comment above. A few questions: do you have any prior programming experience with bots? I want to know this because it seems like something strange to do with pywikipedia, considering the fact that that framework is often used by inexperienced programmers and usually people only use the basic scripts that come with the installation. If you wrote your own code, can I see it? I'm very curious as to how you put the bot together. Thanks!  The Earwig  (Talk &#124; Contributions) 16:06, 3 May 2009 (UTC)
 * Well, if this task is going to be run, I would suggest the following alterations to minimize the number of incorrect warnings and prevent talk page flooding:
 * The following sets of CSDs have the property that if a speedy deletion request cites a CSD included in given set A, but the page is subsequently deleted with a summary referencing a different CSD which is also included in set A, no warning is produced.
 * {G1, G2, G3} (obviously useless pages in which no attempt to write an encyclopedia article is made)
 * {G3, G10} (severe personal attacks on the subject of the page, often accompanied by substantial use of profanity)
 * {G11, G12} (when someone creates an article that's a copy-and-paste from a corporate website, it's usually considered both advertising and a copyright violation)
 * {G2, A7} (is someone's vanity autobiography an article about a real person which doesn't assert notability, or were they just playing around when they wrote it?)
 * If a an editor places a request for speedy deletion on an article which is subsequently declined, a warning is produced only if the version of the page for which speedy deletion is declined does not differ except by white space and/or less than five non-whitespace characters from the version of the page for which the editor requested speedy deletion.
 * The bot must not post more than three notices to a single user talk page within any 24 hour period. If this limit would otherwise be exceeded, the third notice shall include a link to a sub-page of the bot's userspace to which all subsequent notices for the same user produced within the remainder of the 24 hour period will be posted.
 * However, the preceding three restrictions would not apply to the extent that editors have expressly opted in to receive messages outside the scope of the restrictions. Erik9 (talk) 16:57, 3 May 2009 (UTC)

To Erik9: I will take your input into consideration. Personally, I believe that G1-3 have less in common than you do. G1 states specifically that it does not cover vandalism, and in any case it has an extremely narrow scope. Patent nonsense and test pages likewise have very little in common. RFA is rife with examples of people abusing G1 and getting hammered for it. I do see your point about G3 and G10 though, and G11 and G12. Maybe G2 and A7, but I'd like more input on that; A7 would seem like it would override in that case. I'm not doing point 2 in your suggestions; pages are edited after the placing of a CSD tag all the time and very rarely are those edits substantial. In the case that they were, I already stated that I'm going to have the bot search for language in the edit that denies the speedy stating that the initial tagging was appropriate, and I'll make that search as expansive as I can. As for the third point, that's a good idea. I'll do that.

To The Earwig: I currently run another bot (User:DyceBot) that has somewhere on the order of 40,000+ edits. I realize that Pywikipedia caters a bit to people who have no programming experience, but it's also a rather robust and functional bot framework. Also it's written in Python and I like Python. As I said above the code for the bot is mostly written at this point, and after I fine-tune it a bit I'll put it up on the web somewhere for people to look at. I'll hopefully get around to commenting the code a bit before posting it too.-- Dycedarg   &#x0436;  17:18, 3 May 2009 (UTC)


 * Erik9's point 2 is a valid concern. If the article has changed substantially between the tagging and the removal of the tag, it is inappropriate for the bot to "warn" the placing user. The initial tag could have been appropriate and someone fixed the article. The suggestion that it will look for a "magic phrase" when the tag is removed is insufficient. Very few people are going to use one.
 * Other cases that need to be ignored are if the article is replaced with redirect or a wi template (there are probably others as well). It also needs to ignore cases where the original author removes the tag.
 * I must say that I am troubled by the entire language of "warnings" in the description.
 * I highly recommend that if this goes forward, it run for quite awhile in the bot's subpages only with no user notifications to ensure as many possible edge cases are detected as possible. -- JLaTondre (talk) 17:43, 3 May 2009 (UTC)


 * A quick note, I've been programming here for quite a while. G1 and G3 are more related then not. I think if you did talkpage messages for mistakes where its G1 to G3, you would be getting lots of spurious messages, nonsense is taken as vandalism sometimes, enough so that a bot should not be sending messages based on the difference unless the bot itself can tell what is and is not nonsense. (probably is not happening). The idea when making a bot that is going to give talk page notices is to make it accurate, even at the cost of missing an item or two, else you will get swamped with complaints.
 * The same principle holds for G2,G3 and G1,G2. Different people have different ideas on what is a test page. Sometimes a new user making vandalismish edits will have those pages tagged as a test, while its equally valid to delete as G3. The same thing happens with G2 and G1, nonsense by a brand new user can be taken as a test page, depending on the circumstances. :In short {G1,G2,G3} should be considered by the bot as the same unless it can tell with 99% accuracy what is a G1,G2 or G3. Failure to do so will result in a hit to the accuracy of the bot, and if its inaccurate then it might as well not be running. All the sets that are listed by Erik are important, the primary use of this bot is going to be letting taggers know that their tag was declined by an admin. That is a task that the bot can do with 100% accuracy. The rest of the functions are just icing on the cake. ——  nix eagle email me 17:47, 3 May 2009 (UTC)
 * A suggestion, for the first task this bot does, could we consider narrowing it down to just notifying taggers if the tag is removed by a sysop? This is the only task listed that can be done simply with 100% accuracy. The rest can be tested and listed as separate tasks. ——  nix eagle email me 17:50, 3 May 2009 (UTC)
 * Additionally that is something that could be logged somewhere (who was notified, what they added, and which sysop removed the tag), and items should be logged regardless if they opt-out or opt-in. This is useful information to identify problematic taggers. Taggings done by users that are deleted for other reasons are not as bad, as at least the tagger brought the article to the attention of an admin. Again I suggest that the first task this bot does is solely notify users if an admin removes their CSD tag. ——  nix eagle email me 18:00, 3 May 2009 (UTC)
 * (e/c)As for G1-3, if they're at all like me, admins and taggers aren't constantly flipping back and forth between newpages and the CSD policy to see what the exact wording of the criteria say. While not all vandalism is nonsense, most nonsense could be considered vandalism; the only difference being the lack of an assumption of good faith, which usually isn't obvious just by reading the page (and if there is an assumption of good faith, then it could qualify as a test page).
 * On a side note, I refactored your main description a bit, so it'll hopefully be a bit easier to read. And, there are other Python frameworks. Mr.Z-man 17:51, 3 May 2009 (UTC)


 * First of all, the "warnings" will not be not be phrased like warnings. They will be neutrally worded notifications. I called them warnings in the explanation above because using "neutrally worded notifications" every place I used "warnings" would have made the description even more awkward and difficult to follow than it was already. (On that note, thanks for the refactoring Mr. Z-man, I'm not particularly good at that sort of thing. On further reflection the "wall of text" method was probably a bad idea.)


 * As for G1-G3: If these are really that conflated in people's mind, then I will conflate them in code. Not a big deal, I'm simply more of a perfectionist when it comes to that things than some people apparently are. So G1-G3 will be equivalent, G3 and G10 will be equivalent, G11-G12 will be equivalent, G2 and A7 will be equivalent. If anyone wants me to conflate anything else, post it here with supporting reasoning and I'll look into it.


 * As for "substantial changes" between the version of a page that is tagged and the version from which the tag is removed: I can do that with regards to size, but I have no particular method available to me for checking for substantial alteration to content as opposed to superficial alterations. The magic phrase is as close as I can get to a solution to this; I would really rather not have it ignore every single page that is changed at all aside from the removal of the template or it will ignore an indordinate percentage of denied speedies, as most authors do at least something to the page after it is tagged.


 * In response to all concerns about accuracy: The first test run I do with the bot will be log-only. I'll dump a log of everything it would have done in a several-hour period to a subpage in the bot's userspace. After I've done this, specific causes of inaccuracy can be isolated and addressed; in particular we can see how often the problem in the point preceding this one causes a superfluous notification. If it is felt that a trial run in which it only warns people who have had a tag denied by a sysop would be helpful, then I can do that too.


 * Thanks for the note about other Python frameworks, Mr.Z-man. I'll look at them for future projects, but as for this one I'd like to stick with Pywikipedia, as I've already gotten the code mostly written, unless there is some particular reason that you feel Pywikipedia would be particularly unsuited to this task.-- Dycedarg  &#x0436;  19:05, 3 May 2009 (UTC)

Dycedarg, as far as the first edits this thing does, my suggestion about the admin removing the CSD tag is something you can activate right away without much logging to demonstrate accuracy (other then private logging you do to test it). I would like to request that while the bot edits and does notices and such, it also log somewhere as I described above. Again, notices on CSD tags removed by a sysop is something your bot can do and have 100% accuracy on notices. The only reason a sysop would remove a tag is if the sysop thinks it does not meet CSD criteria... something the tagger should know.

As far as your other features, please do log and test those. I have a feeling you are going to get a bunch of false hits, and I'd rather those get weeded out now before you annoy a bunch of users with notices. The groupings posted by Erik should be adhered to, as it does not matter much if you miss out on a mistake, but it matters if you notify someone when it was not a mistake. I would suggest to bag that then endorse a test run with the bot doing solely notices on admin removal of CSD tags... that can be tested live as I said without issues. ——  nix eagle email me 19:12, 3 May 2009 (UTC)

Sorry about this, but I was just checking out the frameworks Mr.Z-man linked to. Pywikipedia's speed (or rather lack there of) has always bothered me, and from my limited testing the wikitools framework is so much faster it's not even funny. I'm rewriting the bot to use this framework instead, and that will delay my having it ready. Fortunately the commands seem mostly analogous, so it shouldn't require any major overhaul. With any luck it should be done by the end of the week, unless life intervenes in which case definitely by the end of next week. I would appreciate any further comments people have in the meantime.-- Dycedarg  &#x0436;  01:46, 5 May 2009 (UTC)

I'm worried about this bot request. Not sure we want thousands of talk page posts constantly. I haven't had a chance to read everything written here, yet, though. --MZMcBride (talk) 13:34, 7 May 2009 (UTC)


 * I'm not convinced that most editors want to be notified when an article they nominate for deletion is kept. If this were an opt-in system I'd be fine with it, but I think as an opt-out system this is going to bother a lot of people unnecessarily. Unless there's wide consensus that this is wanted, I'm not inclined to approve it. – Quadell (talk) 15:42, 7 May 2009 (UTC)
 * I would take this as more of a teaching tool than anything else. Right now, declining administrators have to use uw-csd to warn people of bad or invalid taggings and rationales. This has started to become a real problem, and I would definitely support making this opt-out rather than opt-in. With opt-out, newbies to NNP, who actually need the advice, will not know to sign up for it. I for one would definitely support this idea; though I would think of the groups to ignore as too similar as: (G1, G2), (G3, G10), (G11, G12), (G11, A7) and anything deleted as G7. NW ( Talk ) (How am I doing?) 18:18, 7 May 2009 (UTC)


 * An editor who has mistagged an article for speedy deletion has wasted their own time and an administrator's time, and more importantly almost certainly offended and upset a new user, all for no purpose whatsoever. How would you suggest people learn to be more accurate except by feedback? As NuclearWarfare has mentioned, the people who most need these sorts of messages are precisely those who would have no clue where or how to opt in to receive them. Furthermore the experience of at least one admin who has informed many people of mistagged pages would seem to indicate that people don't mind this sort of feedback. Removing the message takes less than three seconds, opting out takes about the same amount of time. If you use the template method, they can even be done in the same edit.
 * A potential compromise, I suppose, if you think the volume of talk-page posts would be overkill, would be to have the bot log all incorrect speedies and only warn people who have exceeded a certain number in a certain period, say 3 in 24 hours or some such, to filter out the "mistake every once in a while" people.
 * In any case, if you have decided that a discussion to determine consensus on this is necessary, I would be more than willing to have it. Which forum would you suggest? I already advertised on the talkpages of RFA and the new page patrol. I suppose the CSD talkpage itself is a possibilty, if anyone actually reads that. I'm not sure where else would be appropriate.-- Dycedarg   &#x0436;  18:30, 7 May 2009 (UTC)


 * WT:CSD is very active; I'd definitely put a note there.
 * In general, I think replacing human notes with automated ones is not the best trend (speaking generally about the entire project). It really isn't too much work to type a note out to someone if their taggings are problematic. If this is implemented, some type of throttle (as you mentioned) is definitely needed. Nobody wants to tag ten pages only to suddenly have their talk page flooded. --MZMcBride (talk) 18:35, 7 May 2009 (UTC)
 * I understand about the problem with that kind of a trend, and this system is not intended to completely replace personal messages. I hadn't mentioned this yet, but I had come up with the idea earlier to have the bot search for a message on the user's talkpage from the declining admin before leaving the bot message, to avoid duplicating warnings already left personally. I would still encourage admins to leave notes personally if they feel inclined to do so; getting the reason straight from the admin saves the user from wondering about it later. All this bot is intended to do is provide the feedback in the case that the admin was too busy or didn't think to do it.
 * When you get time to read my full implementation notes above, you'll see that there was always a throttle in place to ensure talkpage spamming: The bot will only warn in batches once every three hours, and it will warn for all mistakes in one combined message, and furthermore it will not leave its message if the user has last tagged a page for deletion less than 20 minutes before to avoid interrupting a user in the middle of a prolonged CSD session. It will even dump the full output to a subpage if there are more than two instances and leave only a short message with link to that subpage to prevent the messages from getting too long. The compromise I stated above would further decrease the possibility of spamming, but I don't really think it would be necessary. I will go ahead and leave a note on CSD in the meantime.-- Dycedarg  &#x0436;  19:30, 7 May 2009 (UTC)
 * I agree with McBride that the frequency makes me uneasy; I think it might put off some taggers, and that's a bad thing, we need them. It wouldn't bother me for the notification to say something like "Click this link for information about your recent work with speedy deletions", and the link would run a filter tool on a page to show that user just the entries relevant to that user.  They'd get notification the first time soon after the first such tagging incident, and then not again for say two days, if there's one or more incidents within the next two days.
 * Also, it's often a complete judgment call whether it will be easier to justify db-notability or db-spam to the article creator; whether extra criteria should be added to a db-copyvio; or for that matter, whether the article should be speedied at all. I'm not sure what needs to be done about that, and that's not really an issue for the bot to solve, but the bot will bring this issue into focus, so more (two-way!) communication with taggers will be necessary. - Dank (formerly Dank55) (push to talk) 20:41, 7 May 2009 (UTC)

Wrong focus A couple of things: 1) BOTS should never warn but rather notify. A warning implied a mistake, error, or potential negative consequences.  2) The bot should not be informing of mistakes, but rather differences. The bot is not going to be forming an opinion as to whose action was correct. I don't know if the bot is using those words, but your use here makes me a little wary. 3) This should be an opt in only process wherein a separate page is used---eg not on a users main talk page. We don't want to clutter talk pages with "warnings" we also don't want this to feel like an attack, or be perceived by others who might come to a users page as an attack... it must be very carefully worded.  The wording should include something to the effect that the message is being posted there so that they can keep track of their past CSD noms.  I would sell it not as a means to "correct" others, but rather as a way that users can know if they need to follow-up on a CSD? Did an admin incorrectly deny it did the author remove the tag? Do they need to send an article to AFD/PROD?  As such, I say leave the reason the way it is.  If it was nommed G1, let them know that it was deleted G3.  While the two do have overlap, if the article is deleted by a different criteria consistently, the receipient might start to learn, but the focus HAS to move away from "You made a mistake" to a means in "how can you do your job better." You can do you job better by being notified of how your CSD's were handled.--- I'm Spartacus!  NO! I'm Spartacus! 21:12, 7 May 2009 (UTC) FU: We don't want a user to be able to go to a CSD'ers talk page and see a 100 cases where they tagged an article G1 and the article was deleted as G3 and have the user say, "I see you have a problem with CSD." To that end, we really need to make sure this is a tool CSD'ers would want to use to help them keep track of their nominations---and worded/done in such as manner that it not a "warning."--- I'm Spartacus!  NO! I'm Spartacus! 21:14, 7 May 2009 (UTC)
 * One way to avoid the problem of the taggee getting a negative impression from the tagger's talk page would be to use a link to a tool as I mentioned; that way, if the taggee runs the tool, he or she may see that admins are agreeing with the tagger in a large number of cases, and it will support rather than undermine the tagger. Also, if the taggee sees that the tagger has only made 2 reports in the last month and they were both rejected, then I think it would be better for the taggee not to take the tag too seriously.  Also (lot of also's), I see the valid concerns over opt-in vs. opt-out being less of an issue over time if this works right; I'm hoping the number of disagreements over tagging go down over time.  And for the many taggers who only tag once or occasionally, I expect their percentages won't improve over time, but that's fine; then the goal becomes letting them know that we don't consider tagging good-faith attempts for deletion to be a casual thing that we'll always overlook, and letting the taggees know that they're dealing with people who might not know what they're doing, despite the scary and authoritative-looking deletion tag.  However, I do agree with Spartacus's thrust that we're going to get an earful if we start implying that deleting admins are right and the taggers are wrong; it's the wrong tone. - Dank (push to talk) 21:27, 7 May 2009 (UTC)
 * My first thought when I read your idea of a report that people run like the reports that show how often a user supported/opposed an RfA or how many contributions a user had, I liked the idea. I mean, I could see a grid showing the number of articles nominated by criteria and the number deleted per that criteria.  That would help people with knowing how their edits are being handled, but I think one of the purposes of this should be to help users follow the outcome of their CSD noms.  Thus, a proactive response would IMO be helpful.--- I'm Spartacus!  NO! I'm Spartacus! 21:45, 7 May 2009 (UTC)
 * I do not recall ever having stated that the messages would be phrased like a "warning". Not once. I have referred to the messages themselves vaguely as warnings a few times because it's a word I associate with what the bot is doing (because the implications of that word are apparently less absolute to me than they are to other people) but I never intended for their content to be interpreted as warnings. Nor were they ever intended to state with any degree of certainty that the editor's action was a "mistake"; the bot has no way of interpreting who is correct in the case of a conflict between a tag and a deletion. The situations that the bot logs are referred to as "mistakes" because it is the easiest term to refer to them as, generally they will be a mistake on someone's part in the absence of editing between the tagging and the later removal/deletion. The focus was never on chastisement or implications of retributive action upon failure to improve, the focus was on providing useful feedback to people who would otherwise not receive it. Any implications that my focus was elsewhere were utterly unintentional. However, I'm not going to start using "neutrally worded notification" and "situation that the bot detects" as a replacement for "message" and "mistake" in every post I leave here, that far exceeds my patience for such things.
 * If people are really going to have such a problem with receiving messages for every instance of a denial/deletion for alternative criteria, I still think that the second alternative I mentioned would be acceptable. That being that the bot keeps a log of CSD errors and notifies editors when that has happened to them enough times in a certain period of time. Assuming I'm able to divine the mysteries of merging MySQL and Python, said log will be maintained in a database that will be accessible on a toolserver page by everyone.-- Dycedarg  &#x0436;  22:42, 7 May 2009 (UTC)

The watchlist is the mechanism by which any editor can see what happens to an article. Anyone that knows Wikipedia well enough to be adding any sort of deletion tag should know how to use it. Phil Bridger (talk) 22:17, 7 May 2009 (UTC)
 * To find out what happens to a page you tagged for speedy deletion, you first have to put every page you tag on your watchlist; this could get to be a large number of articles if you do it long enough. Then you have to remember which pages on your watchlist were the ones you tagged, and remember to check what happened if they are not deleted. And if you want to know whether or not a page was speedied for the criteria you tagged it for, you need to memorize the criteria you used for every page you tagged, and keep that in memory for the 15-20 minutes (or even longer at some times of day) it can take for a page to get deleted, so that you can go back and check to see if the criteria used by the deleting admin matches the criteria you tagged it for. It is not a surprise that people don't typically keep track of what happens to the page they tag.-- Dycedarg  &#x0436;  22:42, 7 May 2009 (UTC)


 * I wouldn't object to this but would recommend opt-in only. Stifle (talk) 14:51, 10 May 2009 (UTC)

I'm unconvinced that this will be more helpful than annoying. But I'm not deeply involved in the afd process, so I could be wrong. It seems to me that the best way to find out would be to run a trial, and include (just for the trial) an additional sentence at the bottom of the message left on users' talkpages, in it's own paragraph: " Was this message helpful to you or not? We want to know. Please comment at Bots/Requests for approval/CSDCheckBot. " I think this will help is get a sense of what people think of the bot. – Quadell (talk) 15:40, 10 May 2009 (UTC)

under the terms above. – Quadell (talk) 15:40, 10 May 2009 (UTC)
 * Thank you. I should have the bot ready to run the trial by tomorrow at the latest.-- Dycedarg  &#x0436;  16:04, 10 May 2009 (UTC)
 * (e/c) Objection. Before leaving any messages on user talk pages, it should first be tested in the bot's user space only. Given the above expressed disagreement for automatic notifications, we should at least first determine the notifications will be correct. -- JLaTondre (talk) 16:06, 10 May 2009 (UTC)


 * I don't object to the trial and I think the nature of the bot is helpful. I have a suggestion.  Instead of widespread warnings (at first), we should have the bot populate a log of deletions, denials and mistaggings.  Basically we log all actions to get a flavor for the volume of messages we can expect this bot to generate.  If the bot is fairly accurate and the number of notifications will be fairly large, we both avoid flooding talk pages immediately and we have a local record of how and why the problem exists.  once we get a feel for how many mistagged articles there are per day, we can decide whether or not to keep the record.  I would recommend keeping the record so we can determine what the biggest contributors to poor tagging are (speed of tagging, topic, editor, tool, etc).  Thoughts? Protonk (talk) 22:21, 10 May 2009 (UTC)
 * I suggest we make the first trial only with the keeping ofarticles/removal of speedy tags, not with replacement of reasons. thats the more important part, and we should keep it simple at first. DGG (talk) 00:20, 11 May 2009 (UTC)

I agree that a log-only run is essential to confirm that the bot is functioning as intended before it actually posts on talkpages. After I finish going over the code for bugs later today, I intend to run it for twenty-four hours in that manner. After I've had a chance to go over the data that produces, I'll start the 7-day trial. I'll figure out what the specific parameters of the trial will be (what the bot will post messages for, etc) after I've gone over the data for the log run. Also, Protonk, I do intend to have the bot maintain some sort of a permanent centralized log. I have not yet determined precisely what form that log will take.-- Dycedarg  &#x0436;  19:35, 11 May 2009 (UTC)
 * Thank you. I, for one, would appreciate it if you gave folks a day to look at the results of the 24hr run & provide feedback before moving on to the second step. I think the less debate there is about the validity of what it is reporting, the better off it will be in the long run. -- JLaTondre (talk) 20:45, 11 May 2009 (UTC)

And now I'm finally finished. Part of the problem was the amount of time testing the various parts of the code took; to obtain results in real world scenarios requires hours of testing for each run. Given the amount of time I had to devote to the project, this made the whole thing take much longer than I had hoped. I will start the 24 log-only test tomorrow when I wake up, probably about noon EST. It will update a log of what it would have done every three hours; I will place a link to that log on the bot's user page. I will leave the results available for review for 24 hours after the bot is finished per JLaTodre's request. In the absence of any major problems I'll then start the 7-day trial with messages and all on Wednesday.-- Dycedarg  &#x0436;  02:32, 25 May 2009 (UTC)
 * D What is the current status of this request? Q  T C 17:45, 18 May 2009 (UTC)
 * Sorry, I was delayed in finishing the code. I hit some difficult to trace errors, and there were more demands on my time in the past week than I had anticipated. I should be able to begin the test tomorrow or the day after if nothing else crops up.-- Dycedarg  &#x0436;  23:45, 18 May 2009 (UTC)
 * I forgot last night that my family was doing stuff for Memorial Day today. The log test will start tomorrow instead, will be left up for 24 hours, then the full test will start Thursday.-- Dycedarg  &#x0436;  00:15, 26 May 2009 (UTC)

The log test has been started. Assuming it doesn't crash the first log update should be posted in about three hours. The log is here. It will continue to update every three hours for the next 24 hours assuming it continues to not crash and I don't stop it for some reason.-- Dycedarg  &#x0436;  04:55, 27 May 2009 (UTC)
 * Seems like it crashed or something went wrong. There was an update at 9:33 (UTC) but none around 12:30 (UTC). Regards  So Why  14:25, 28 May 2009 (UTC)
 * The toolserver is offline. I'll post here when it's back up and the bot is going again.-- Dycedarg  &#x0436;  17:41, 28 May 2009 (UTC)
 * Hmm, now that I can get into the Toolserver finally it seems it did crash. UnicodeEncodeError in the framework, I'll have to see if I can figure out what caused it.-- Dycedarg  &#x0436;  20:19, 28 May 2009 (UTC)

I added comments to the current log on the log's talk page. It has a number of issues that need to be fixed. Some are logic issues that could be debated, but it is having problems identifying the tagging and removing edits. -- JLaTondre (talk) 01:08, 29 May 2009 (UTC)
 * No, the bot is not yet perfect in determining who has added and removed the tags. I'm currently working to fix this issue, and it will not be issuing any messages until this is fixed. As for the logic issues you mentioned, I'll be commenting on those on the talk page in a bit.-- Dycedarg  &#x0436;  01:54, 29 May 2009 (UTC)

Anyway, I'm going to have it run a full 24 hour log run before I work further on the mixed-up tagging business. I want as much data as possible to figure out what is getting screwed up where. I will be starting it later tonight; I fixed the error that stopped it earlier, I'm just going to check a bit of other stuff before having it go.-- Dycedarg  &#x0436;  02:07, 29 May 2009 (UTC)
 * The bot has been started logging again. I'm going to bed imminently, so if it crashes again I will be unable to fix it until tomorrow.-- Dycedarg  &#x0436;  04:46, 29 May 2009 (UTC)

Just an update: I'm presently working on rooting out why it's making mistakes, and that's taking a fair bit of bug-testing. I've got some other stuff that's keeping me busier than I would like, but I should be able to devote enough attention to this to get it sorted out by the end of the week.-- Dycedarg  &#x0436;  00:03, 2 June 2009 (UTC)

D How's it going? – Quadell (talk) 14:25, 16 June 2009 (UTC)
 * Work is progressing. Some stuff came up and I didn't have any time to work on it over the last couple weekends like I'd planned, but I'm hoping to get it done within the next two weeks if nothing else happens.-- Dycedarg  &#x0436;  19:04, 16 June 2009 (UTC)

OperatorAssistanceNeeded - Status? Mr.Z-man 04:55, 16 July 2009 (UTC)
 * Further to my previous note, while I think this should be opt-in only, I would be OK with an optout version (but not with a non-optoutable version). Stifle (talk) 11:09, 24 June 2009 (UTC)
 * I've been busier with work than I had thought I would be lately. I'd been working on figuring out a particular bug in the works, but not being able to work on it consistently made it rather difficult and I stopped for a bit. Now that this has been brought to the forefront of my attention again, I'm going to devote some time this weekend to it. I should be able to get it going. Sorry about how long this is taking.-- Dycedarg  &#x0436;  18:58, 17 July 2009 (UTC)

Given the slowness of this trial (open for 2.5 months with no new runs in 2 months) and that the operator has had little Wikipedia activity lately, I think the BAG needs to consider Dycedarg's ability to maintain the bot in its decision process. This bot is supposed to run continuously and, as such, will require prompt maintenance for bugs, MediaWiki software updates, and WP:CSD changes. Also, as this bot will be leaving messages on user talk pages, it is bound to receive comments, criticisms, etc. in response. Its operator needs to be available to respond to those in a timely fashion. -- JLaTondre (talk) 23:40, 31 July 2009 (UTC)
 * Good call. I hadn't realized there had been no activity since July 17th; this entire request has been pending for quite long enough. This request may be re-opened at any time that the operator is more available. &mdash; madman bum and angel 23:43, 31 July 2009 (UTC)