Promote tracker patterns to org third parties via worker
Manual moves of a non-extension TrackerPattern lacking a ThirdPartyID now request mapping, which the tracker-mapping worker resolves with a four-stage pipeline: exact common_third_party_id link, heuristic ranking, agent disambiguation, and finally CreateFromCommon. Existing fuzzy-matched org rows are tagged with common_third_party_id so the next promotion takes the O(1) exact-link path. The matching primitives live in pkg/thirdparty (RankCandidates, LinkToCommon, CreateFromCommon, ScoredCandidate, threshold constants) so the disambiguation agent and the heuristic share one candidate type. Cookiebanner orchestrates them; cookie-banner-specific concerns (pattern -> common-pattern -> common-party navigation, the EXTENSION gate, and structured logs) stay in the worker. Signed-off-by: Émile Ré <emile@probo.com>
This commit is contained in:
@@ -645,6 +645,7 @@ func (v *ThirdParty) Update(
|
||||
q := `
|
||||
UPDATE third_parties
|
||||
SET
|
||||
common_third_party_id = @common_third_party_id,
|
||||
name = @name,
|
||||
description = @description,
|
||||
category = @category,
|
||||
@@ -675,6 +676,7 @@ WHERE %s
|
||||
args := pgx.StrictNamedArgs{
|
||||
"third_party_id": v.ID,
|
||||
"updated_at": time.Now(),
|
||||
"common_third_party_id": v.CommonThirdPartyID,
|
||||
"name": v.Name,
|
||||
"description": v.Description,
|
||||
"category": v.Category,
|
||||
|
||||
Reference in New Issue
Block a user