Current for category filtering in EditCheck we use mw.config.get('wgCategories') because the VE data model only includes editable categories, i.e. not template generated categories.
Description
| Status | Subtype | Assigned | Task | ||
|---|---|---|---|---|---|
| Open | None | T265163 Create a system to encode best practices into editing experiences | |||
| Open | None | T327959 Create ways for volunteers to audit, configure, and evaluate Edit Check | |||
| Open | None | T360799 [EPIC] Empower developers to author new Edit Checks and Suggestions and configure existing ones | |||
| Open | Esanders | T427626 Provide read access to template-generated categories in VE document model |
Event Timeline
Here's an example of a template that adds a hidden category:
<link rel="mw:PageProp/Category" href="./Category:All_articles_with_unsourced_statements" about="#mwt5" typeof="mw:Transclusion" data-mw='{"parts":[{"template":{"target":{"wt":"Citation needed","href":"./Template:Citation_needed"},"params":{"date":{"wt":"January 2026"},"reason":{"wt":"There is conflicting information about when this album was released, as sources such as Amazon list the release date as 2001 instead of 2000. If one has a reliable source per WP:RSPS that says 2000, please cite it."}},"i":0}}]}' id="mwDQ"/><link rel="mw:PageProp/Category" href="./Category:Articles_with_unsourced_statements_from_January_2026" about="#mwt5"/><sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;" about="#mwt5" id="mwDg"><span typeof="mw:Entity">[</span><i><a rel="mw:WikiLink" href="./Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="There is conflicting information about when this album was released, as sources such as Amazon list the release date as 2001 instead of 2000. If one has a reliable source per WP:RSPS that says 2000, please cite it. (January 2026)">citation needed</span></a></i><span typeof="mw:Entity">]</span></sup>
I.e. it about-groups a <link> with rel="mw:PageProp/Category" but typeof="mw:Transclusion" with the template-output. This gets picked up as a template, and the link gets ignored. But it's very detectable, and we should expose it somehow.
Ideally, whatever we do here should also serve as a foundation for exposing template-defined/used references, which is a very similar problem: a template needs to expose non-editable instances of something else.
To what extent would it be accurate for me to understand this ticket and T398195 as describing the same functionality?
These tickets describe completely different functionality -- this one talks about how VE can get list of categories included not directly in the page source for inCategory/ignoreCategory, while that one talks about getting EditChecks to work on text that's added through templates.