Page MenuHomePhabricator

Source the "Main pages customized" impact tile from on-wiki attestation instead of analytics events
Open, HighPublic

Description

Background: why the tile reads 0

Tile 8 counts starterkit.wizard.publish success events. Audited on production (2026-08-03): the entire event era contains exactly 3 successes, all on test.wikipedia.org by staff — correctly excluded. Every real main-page customization predates 2026-05-27, when the analytics pipeline
first existed
, so the event source is structurally blind to all real usage. This is the same blind-window failure the infobox-imports tile had (pre-cta era) and the same cure applies: the kit's writes are durably attested on-wiki, so read the wiki, not the events.

On-wiki audit findings (all pre-analytics, all verifiable today):

wikidateuserhow
kaj2026-05-15***wizard publish, directly on the main page — summary Updated Main Page via StarterKit tool
kcg2026-05-03***wizard publish to the English-titled Main Page (the original flow hardcoded that title), then user-moved into Ta̱mpi̱let:A̱tsak wat wu 3, which the real main page transcludes
ff2026-05-13/15***kit initialised the Starter kit/* component templates (Initialised by StarterKit tool — ready for translation), user hand-assembled the main page from them two days later

Definition (DECIDED)

The tile counts wikis whose main page the kit materialized: the page the wiki serves as its
main page renders kit-written content, whether the wizard published it directly (kaj), the
published page was later moved/transcluded into place (kcg), or the community assembled the main
page out of kit-initialised templates (ff — counts)
. One per wiki, matching the current grain.

Rationale: the kit's on-wiki writes are the attestation in every variant — this is
mechanism-attested ("through the kit"), not contact-attested, consistent with the policy settled
for the interface-messages tile on 2026-08-03.

Attestation assets

  • Summary token Updated Main Page via StarterKit tool — publish edits, unchanged since 2026-03-11.
  • Summary token Initialised by StarterKit tool — ready for translation — template initialisation.
  • Change tags OAuth CID: 17481 (original consumer) and OAuth CID: 18127 (current) — unforgeable, survive even if a summary were ever edited out via revdel of comments.

Approach

  1. Scanner (joins the essential-work scan, same cadence/kill switch): per kit-known wiki (contributors ∪ settings), decide "is the main page kit-materialized?" and record ONE essential_work_items row (tile main-pages, scope = wiki, title = the real main-page title, item_ts = the revision that made the main page render kit content, username = the kit user who published/initialised — exclusions ride on it). Detection, in order:
    • kit token/OAuth-tag revision in the current main page's history;
    • same, on the English Main Page title, following move logs to where that content went and confirming the main page renders it (the kcg pattern);
    • main page (or a template it transcludes) transcluding kit-initialised Starter kit/* templates (the ff pattern), dated by the revision that introduced the transclusion — the tile-7 origin-resolution machinery is the precedent. A wiki that later replaces its main page entirely stays counted (items are insert-only history, like every reach tile); "currently still kit-derived" is a different metric, out of scope.
  2. Tile re-source: count/items switch from events to item rows (headline == drill-down stays structural). The drill-down can then link the actual localized main-page title instead of the site root. In-flow: the publish route inserts the item at publish time (strongest attestation, like the infobox in-flow credit); the scanner recovers history and event-less publishes.
  3. Events demoted, not removed: wizard.publish keeps feeding session summaries and the device stamp (see below).

Interactions

  • T433766 contributions rollup follows automatically (it sums this tile's count).
  • The mobile half of "contributions on mobile" stays event-based: device exists only on analytics events, so pre-analytics main pages read as desktop — the same accepted trade recorded on T433766. No change here.
  • Backfill and re-source must land in one deploy window (the tile flips source at boot), but the scanner self-backfills on its first pass, so no separate ops script is required — expect the three known wikis to appear within one pass.

Acceptance criteria

  • Production tile shows kaj, kcg and ff (3) with real on-wiki dates; test-wiki/staff publishes stay excluded at read time.
  • A fresh wizard publish appears in the tile without any analytics event arriving (in-flow item).
  • Headline == drill-down list; drill-down links the wiki's actual main page.
  • Windowing uses the materializing revision's timestamp, not discovery time.
  • A wiki whose main page merely links kit pages (no kit-written content rendered) does NOT count; detection requires the token/tag or a kit-initialised template transclusion.
  • Same production exclusions as every impact query, riding the item's username.

Details

Related Changes in GitLab:
TitleReferenceAuthorSource BranchDest Branch
T433819: Source the main-pages impact tile from on-wiki attestationrepos/lpl/starterkit-v1!170ngkountasfeat/T433819-main-pages-attestationmain
Customize query in GitLab

Event Timeline