Most of the changes made to Growth feature configuration via Special:EditGrowthConfig are effective immediately.
But some changes related to link recommendation only take effect after the task pool has been rebuilt. This would changes to:
- minimum threshold per link recommendation
- section names in which links should no longer be recommended
- minimum/maximum links per task
The task pool is currently rebuilt regularly as users complete link recommendation tasks, or as non-link recommendation edits are made to relevant articles. That means it can take a long time for the pool to be completely rebuilt.
Ideally, there would be a mechanism that would allow for rapidly removing pre-configuration-change tasks and replacing them with post-configuration-change tasks. Since that's an expensive process, we need some kind of protection on who could invoke the changes, and also how often it can be done. And we'd want some kind of monitoring so users can see how far along the process is.
We currently store a hash of the dataset IDs used for creating a cached link recommendation, we should probably also store a hash related to the link-recommendation settings in Special:EditGrowthConfig.
Acceptance Criteria
- EditGrowthConfig users should be able to adjust link-recommendation settings and see the changes take effect within 24 hours
- Monitoring should be available to see how far long task pool regeneration is after a config switch
- ...?
Completion checklist
Functionality
- The patches have been code reviewed and merged
- The task passes its acceptance criteria
Engineering
- There are existing and passing unit/integration tests
- Tests for every involved patch should pass
- Coverage for every involved project should have improved or stayed the same
Design & QA
- If the task is UX/Design related: it must be reviewed and approved by the UX/Design team
- Must be reviewed and approved by Quality Assurance.
Documentation
- Related and updated documentation done where necessary
- Internal technical changes: internal repository documentation must be updated (README.md, JSDoc, PHPDoc)
- Infrastructure technical changes: technical changes that reflect on environment, infrastructure, endpoints or any other area of interest for technical contributors should be reflected on Extension:GrowthExperiments or Extension:GrowthExperiments/Technical documentation pages.