**Project title:** //Rewriting PendingChangesBot from PHP to Python //
**Description of project:** // Wikimedia Finland rewriting the PendingChangesBot (ie. [[ https://en.wikipedia.org/wiki/fi:user:SeulojaBot | SeulojaBot ]] which is automatically reviewing edits in Finnish Wikipedia, and the target is that we could deprecate the old PHP version in 2026.
**Background**
Some Wikipedias (dewiki, plwiki, huwiki, fiwiki, ruwiki; see the [[ https://meta.wikimedia.org/wiki/Flagged_Revisions | full list ]]) use an extension named [[ https://en.wikipedia.org/wiki/fi:user:SeulojaBot | mw:FlaggedRevisions ]] for tracking changes to articles. There are two different modes. In the first mode, edits need to be approved before they are shown by default to unregistered users. In the second mode, edits are directly visible to all users, and FlaggedRevs is used for approving changes. In most configurations, regular users are approved automatically, while edits from unregistered and new users are reviewed via FlaggedRevs.
However, Flaggedrews tends to generate a huge [[ https://fi.wikipedia.org/wiki/special:ValidationStatistics?uselang=en | backlog ]], which is handled in Finnish Wikipedia by SeulojaBot—originally developed as a proof-of-concept at a hackathon in 2016 using PHP. The world has moved forward, and notably there are now LLMs that can be used for analyzing edits. Therefore, it is time to rewrite it using Python, with a proper end-user web interface and support for multiple different Wikipedias.
**Projects slack channel**
Connection info is in outreachy's project description. If you have problems in joining to slack channel and you don't get answer via email then please comment here or in Wikimedias Zullip. (ie. in some cases Gmail delivers emails with delay and/or sets emails to spam folder so this is secondary channel)
//
**Expected outcomes:** // In first quarter of 2026 we can deprecate old PHP bot //
**Required skills and/or preferred skills:** //Python, Django, Pywikibot, mediawiki API and open source LLM model knowledge is nice to have //
**Mentor(s):**
* @Zache (Bots original developer in 2016 and maintainer. Mentoring Cat-a-lot Outreachy in the round 30)
* @Adiba_anjum (Wikimedia Outreachy intern in round 30, knowledge with LLM:s and mediawiki API)
* @Ademola (Wikimedia Outreachy in round 30, knowledge with python)
* @Ipr1 (finnish wikipedist and Wikimedia Finlands fiwiki developer/helpdesk person)
**Selected intern:**
**Size of project:**350
**Add a rating of difficulty for the project - easy, medium, or hard.** //medium//:
**Homepage**
* https://github.com/Wikimedia-Suomi/PendingChangesBot-ng
**Contribution documentation**
* https://github.com/Wikimedia-Suomi/PendingChangesBot-ng/blob/main/CONTRIBUTING.md
**Microtasks:**
**Filter rule tasks (easy): **
Approve article edits if :
[X] ... edit was made by autopatrolled or autoreviewed user
[X] ... edit was made by bot
[ ] ... edit was made by former bot T406445
[ ] ... edit was made by global bot or former global bot T406443
[ ] ... edit was revert or reverted and newer version is identical to already reviewed version T406450
[X] ... edit was patrolled
[ ] ... edit was done to whitelisted articles
[ ] ... edit did not make substantial changes ( old test was if the all of the words changed were already used in the article )
Do not approve edit automatically if :
[X] ... edit was done to article which is in ''important'' (ie. Featured articles, Good articles ... )
[ ] ... edit was done by editor who was blocked after the edit ( T406329 )
[ ] ... edit changed the existing article to redirect ( T406336 )
[ ] ... edit removed all categories from existing article (T406438)
[ ] ... in html rendered version there is text with CSS `class=error` and in old version did not have it. (ie broken wikicode test) (T406440)
[ ] ... if the edit was previously approved, but approval was manually removed (T406442)
[ ] ... if edit added words to to article which havent never used in this language version before. (ie. likely typos detection)
[ ] ... edit has high revertrisk score from API (and other similar edit filters) T406446
Missing rules (never implemented before in any form)
[ ] ... no content from the edit is in the latest version of the article
**UI tasks**
[ ] Polish the user interfece (current UI is ugly, fix the table layouts etc
[ ] Add Wikipedias which are using FlaggedRevs to selection UI T406295
[ ] Add FlaggedRevs info links to UI T406294
**Other tasks**
[ ] Create unique word list from Finnish Wikipedia dump T406447
[ ] Add Test Data Mode with Revision ID List T406665
**More complex**
**Complex tasks**
**PendingChangesBot testing requests**
IMPORTANT: GSoC / Outreachy candidates are required to complete micro-tasks during the application period to prove their ability to work on a three month long project.