SUL finalisation

SUL finalisation would unify user accounts across all Wikimedia wikis.

History
Originally, Wikimedia wikis operated completely independently from each other, with separate user accounts and passwords for each wiki. CentralAuth was created to let users log in with the same credentials across multiple wikis, but as the wikis operated independently for years there were thousands of clashing accounts, i.e. cases where different people had registered the same name on different wikis. These clashes prevent those affected from logging in with the same name across all wikis.

Project Goal
The goal of the SUL finalisation is to forcibly rename any clashing user accounts so that every single user has their own single unified login across all Wikimedia sites.

Project Duration
The project is currently blocked from proceeding due engineering resourcing issues. Kunal Mehta, the engineer assigned to the project, has commitments to other teams at the Wikimedia Foundation which he must first wrap up before he can commence engineering work on this project.

Due to the above, at this time there is no time estimate available for when the project will be complete.

Necessary prior code/ops steps

 * ✅ : ACTION: ?? to run the pass0 script to clean up data; updated stats review
 * : ACTION: ?? to run the migrateAccount script for non-conflicting users; updated stats review
 * : ACTION: CS to finalise the global rename user tool and get deployed
 * Note that renamed users MUST have their cookie invalidated.
 * ✅: CS/AS to deploy PG’s AccountAudit extension.
 * ❌: CS to write & deploy new code for auto-login-to-alternate account.
 * ("You logged in as 'Foo' but your username has been automatically changed to 'Foo~Barwiki' - please use this in future")
 * ❌: CS to write & deploy clashing-user-rename-and-globalise script.
 * Note that a single user with multiple local accounts that clash with a global account need to be renamed to a single global account named after the “home wiki” per the same code that Special:MergeAccount uses

Desirable prior code/ops steps

 * ❌: CS to write & deploy global user merging so two global users can be merged together
 * What to do when two clashing local instances under the global accounts?
 * ❌: CS to write & deploy a tool for local ‘losing’ users to check a proposed new account name (check against clashing global and local users, and also against the global user account name rules) and request it be done.
 * Does this get done by the script? Or should we let local bureaucrats do them and then clean up after them to globalise?