Require old-flow completion before backfilling a TWN link

The backfill's candidate bar was any TWN-task event contact, on the argument that artifacts, not clicks, are what count. For OFF-WIKI work that bar is too low (maintainer decision, 2026-08-03): creating a link row claims a translatewiki account's output as kit-seeded, and for a long-standing translatewiki regular — Soul Train, the case that surfaced this, id 8428 with ~195 core messages before the kit existed — a single kit page-open followed by same-day translations proves too little; they may have been translating that day regardless. On-wiki tiles don't have this problem because their scanners verify the work itself against a kit anchor; here the link IS the attribution, so the gate must carry the burden.

Candidates now additionally require an old-flow completion (a .complete analytics event for that wiki+user). The anchor stays the FIRST task contact, so translations made between opening the task and clicking done still count. Users below the bar lose nothing permanently: they can link themselves, and the scanner sees them from linked_at like any fresh link.

Re-verified on a DB copy: Soul Train (2 contact events, 0 completions) is excluded before any API call; Kambai Akau (completed 2026-07-17) still passes with the same evidence (11 aligned post-anchor /kcg translations) and the same anchor. eslint + prettier clean.

Not yet applied anywhere: prod ran only the dry run of the previous revision, so no Soul Train rows exist to remove.

Bug: T433621 Co-Authored-By: Claude Fable 5

Merge request reports

Loading