Wikibase is not an appropriate repository for a generic page split tester. This task tracks the effort to move the code from Wikibase to Core and also a few minor improvements:
- A rename should be considered. Perhaps PageSplitter / PageSplitterTest? This might remove some ambiguity around whether PageSplitTester is for unit tests or production code but may decrease grep visibility for A/B or split test code.
- Make the bucket order either more explicit or irrelevant. I had to carefully note the order used for config patches and calculate the page_random values for that given order.
- Add documentation and examples (some of this lives in the tests), clarify what’s the same and what differs from client A/B tests, clarify that bucket assignments are monotonic.
- Remove wikibase-debug reporting for PageRandomLookup. There don't seem to be any reports of bad values.
- Revise PageRandomLookupTest to use an actual database instead of a mock.
Questions
Is there a nicer way for PageSplitTester users to obtain page_random than to manually use PageRandomLookup?
Acceptance criteria
- No PageSplitTester / PageSplitTesterTest or PageRandomLookup / PageRandomLookupTest code, configuration, or strings in Wikibase
- PageSplitTester (or whatever it's now called) exists in Core and can be used by any extension
- Bucket order specified by the config is as clear and safe as possible
- Documentation is revised and added where needed
- PageRandomLookup doesn't report bad values
- PageRandomLookupTest tests using a real database like other tests in MediaWiki