From 12cc15f39c8a28af5dd8d8155da16bc54a50e665 Mon Sep 17 00:00:00 2001 From: Joana Maia Date: Tue, 29 Sep 2026 18:10:01 +0100 Subject: [PATCH 1/7] fix: match repo urls case-insensitively when linking packages for impact (IN-1420) Signed-off-by: Joana Maia --- services/libs/tinybird/pipes/health_score_v2_impact.pipe | 2 +- .../tinybird/pipes/project_insights_impact_breakdown_copy.pipe | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/libs/tinybird/pipes/health_score_v2_impact.pipe b/services/libs/tinybird/pipes/health_score_v2_impact.pipe index 8d769a15bf..b409b8162a 100644 --- a/services/libs/tinybird/pipes/health_score_v2_impact.pipe +++ b/services/libs/tinybird/pipes/health_score_v2_impact.pipe @@ -15,7 +15,7 @@ SQL > ( SELECT DISTINCT url FROM repositories FINAL WHERE deletedAt IS NULL AND excluded = false ) AS base - INNER JOIN repos r ON r.url = base.url + INNER JOIN repos r ON lower(r.url) = lower(base.url) INNER JOIN packageRepos pr ON pr.repoId = r.id INNER JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId GROUP BY base.url diff --git a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe index e4df8a7ad4..1346fc1f3d 100644 --- a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe +++ b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe @@ -94,7 +94,7 @@ SQL > ON rep.insightsProjectId = ip.id AND rep.enabled = true AND rep.excluded = false - LEFT JOIN repos r ON r.url = rep.url + LEFT JOIN repos r ON lower(r.url) = lower(rep.url) LEFT JOIN packageRepos pr ON pr.repoId = r.id LEFT JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId GROUP BY ip.id, ip.slug, ip.name From b2e8b05727307ea711e869b05c9839f7c3099e4a Mon Sep 17 00:00:00 2001 From: Joana Maia Date: Tue, 29 Sep 2026 18:15:03 +0100 Subject: [PATCH 2/7] fix: limit case-insensitive repo url match to github and gitlab (IN-1420) Signed-off-by: Joana Maia --- services/libs/tinybird/pipes/health_score_v2_impact.pipe | 2 +- .../tinybird/pipes/project_insights_impact_breakdown_copy.pipe | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/libs/tinybird/pipes/health_score_v2_impact.pipe b/services/libs/tinybird/pipes/health_score_v2_impact.pipe index b409b8162a..640e30f0c9 100644 --- a/services/libs/tinybird/pipes/health_score_v2_impact.pipe +++ b/services/libs/tinybird/pipes/health_score_v2_impact.pipe @@ -15,7 +15,7 @@ SQL > ( SELECT DISTINCT url FROM repositories FINAL WHERE deletedAt IS NULL AND excluded = false ) AS base - INNER JOIN repos r ON lower(r.url) = lower(base.url) + INNER JOIN repos r ON r.url = if(domain(base.url) IN ('github.com', 'gitlab.com'), lower(base.url), base.url) INNER JOIN packageRepos pr ON pr.repoId = r.id INNER JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId GROUP BY base.url diff --git a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe index 1346fc1f3d..91c4cb1417 100644 --- a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe +++ b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe @@ -94,7 +94,7 @@ SQL > ON rep.insightsProjectId = ip.id AND rep.enabled = true AND rep.excluded = false - LEFT JOIN repos r ON lower(r.url) = lower(rep.url) + LEFT JOIN repos r ON r.url = if(domain(rep.url) IN ('github.com', 'gitlab.com'), lower(rep.url), rep.url) LEFT JOIN packageRepos pr ON pr.repoId = r.id LEFT JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId GROUP BY ip.id, ip.slug, ip.name From 54366f4a2f47c1ecad8c9b4a76836002c1590036 Mon Sep 17 00:00:00 2001 From: Joana Maia Date: Tue, 29 Sep 2026 18:20:16 +0100 Subject: [PATCH 3/7] fix: normalize host casing and tb fmt joins in impact pipes (IN-1420) Signed-off-by: Joana Maia --- services/libs/tinybird/pipes/health_score_v2_impact.pipe | 4 +++- .../pipes/project_insights_impact_breakdown_copy.pipe | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/services/libs/tinybird/pipes/health_score_v2_impact.pipe b/services/libs/tinybird/pipes/health_score_v2_impact.pipe index 640e30f0c9..5889d6628b 100644 --- a/services/libs/tinybird/pipes/health_score_v2_impact.pipe +++ b/services/libs/tinybird/pipes/health_score_v2_impact.pipe @@ -15,7 +15,9 @@ SQL > ( SELECT DISTINCT url FROM repositories FINAL WHERE deletedAt IS NULL AND excluded = false ) AS base - INNER JOIN repos r ON r.url = if(domain(base.url) IN ('github.com', 'gitlab.com'), lower(base.url), base.url) + INNER JOIN + repos r + ON r.url = if(lower(domain(base.url)) IN ('github.com', 'gitlab.com'), lower(base.url), base.url) INNER JOIN packageRepos pr ON pr.repoId = r.id INNER JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId GROUP BY base.url diff --git a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe index 91c4cb1417..92f2a8e75e 100644 --- a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe +++ b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe @@ -94,7 +94,9 @@ SQL > ON rep.insightsProjectId = ip.id AND rep.enabled = true AND rep.excluded = false - LEFT JOIN repos r ON r.url = if(domain(rep.url) IN ('github.com', 'gitlab.com'), lower(rep.url), rep.url) + LEFT JOIN + repos r + ON r.url = if(lower(domain(rep.url)) IN ('github.com', 'gitlab.com'), lower(rep.url), rep.url) LEFT JOIN packageRepos pr ON pr.repoId = r.id LEFT JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId GROUP BY ip.id, ip.slug, ip.name From 61e2388a8fd5042af105192e935d64c6dc21c707 Mon Sep 17 00:00:00 2001 From: Joana Maia Date: Tue, 29 Sep 2026 18:24:36 +0100 Subject: [PATCH 4/7] fix: lowercase both sides of github and gitlab repo url join (IN-1420) Signed-off-by: Joana Maia --- services/libs/tinybird/pipes/health_score_v2_impact.pipe | 3 ++- .../tinybird/pipes/project_insights_impact_breakdown_copy.pipe | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/services/libs/tinybird/pipes/health_score_v2_impact.pipe b/services/libs/tinybird/pipes/health_score_v2_impact.pipe index 5889d6628b..65d4115dd5 100644 --- a/services/libs/tinybird/pipes/health_score_v2_impact.pipe +++ b/services/libs/tinybird/pipes/health_score_v2_impact.pipe @@ -17,7 +17,8 @@ SQL > ) AS base INNER JOIN repos r - ON r.url = if(lower(domain(base.url)) IN ('github.com', 'gitlab.com'), lower(base.url), base.url) + ON if(r.host IN ('github', 'gitlab', 'gitlab.com'), lower(r.url), r.url) + = if(lower(domain(base.url)) IN ('github.com', 'gitlab.com'), lower(base.url), base.url) INNER JOIN packageRepos pr ON pr.repoId = r.id INNER JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId GROUP BY base.url diff --git a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe index 92f2a8e75e..0219a8d3c3 100644 --- a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe +++ b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe @@ -96,7 +96,8 @@ SQL > AND rep.excluded = false LEFT JOIN repos r - ON r.url = if(lower(domain(rep.url)) IN ('github.com', 'gitlab.com'), lower(rep.url), rep.url) + ON if(r.host IN ('github', 'gitlab', 'gitlab.com'), lower(r.url), r.url) + = if(lower(domain(rep.url)) IN ('github.com', 'gitlab.com'), lower(rep.url), rep.url) LEFT JOIN packageRepos pr ON pr.repoId = r.id LEFT JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId GROUP BY ip.id, ip.slug, ip.name From 61f5f813d16234f995d8680c4c1edee2c06f507e Mon Sep 17 00:00:00 2001 From: Joana Maia Date: Tue, 29 Sep 2026 18:29:10 +0100 Subject: [PATCH 5/7] fix: gate repo url case folding by url domain on both join sides (IN-1420) Signed-off-by: Joana Maia --- services/libs/tinybird/pipes/health_score_v2_impact.pipe | 2 +- .../tinybird/pipes/project_insights_impact_breakdown_copy.pipe | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/services/libs/tinybird/pipes/health_score_v2_impact.pipe b/services/libs/tinybird/pipes/health_score_v2_impact.pipe index 65d4115dd5..35b7d5f316 100644 --- a/services/libs/tinybird/pipes/health_score_v2_impact.pipe +++ b/services/libs/tinybird/pipes/health_score_v2_impact.pipe @@ -17,7 +17,7 @@ SQL > ) AS base INNER JOIN repos r - ON if(r.host IN ('github', 'gitlab', 'gitlab.com'), lower(r.url), r.url) + ON if(lower(domain(r.url)) IN ('github.com', 'gitlab.com'), lower(r.url), r.url) = if(lower(domain(base.url)) IN ('github.com', 'gitlab.com'), lower(base.url), base.url) INNER JOIN packageRepos pr ON pr.repoId = r.id INNER JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId diff --git a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe index 0219a8d3c3..eea66094a2 100644 --- a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe +++ b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe @@ -96,7 +96,7 @@ SQL > AND rep.excluded = false LEFT JOIN repos r - ON if(r.host IN ('github', 'gitlab', 'gitlab.com'), lower(r.url), r.url) + ON if(lower(domain(r.url)) IN ('github.com', 'gitlab.com'), lower(r.url), r.url) = if(lower(domain(rep.url)) IN ('github.com', 'gitlab.com'), lower(rep.url), rep.url) LEFT JOIN packageRepos pr ON pr.repoId = r.id LEFT JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId From b2d9f0c33a0f1cfdb3e3b9f711ff43f802fbda26 Mon Sep 17 00:00:00 2001 From: Joana Maia Date: Tue, 29 Sep 2026 18:48:17 +0100 Subject: [PATCH 6/7] fix: exclude soft-deleted repositories from impact breakdown join (IN-1420) Signed-off-by: Joana Maia --- .../tinybird/pipes/project_insights_impact_breakdown_copy.pipe | 1 + 1 file changed, 1 insertion(+) diff --git a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe index eea66094a2..f81f05ad35 100644 --- a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe +++ b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe @@ -94,6 +94,7 @@ SQL > ON rep.insightsProjectId = ip.id AND rep.enabled = true AND rep.excluded = false + AND rep.deletedAt IS NULL LEFT JOIN repos r ON if(lower(domain(r.url)) IN ('github.com', 'gitlab.com'), lower(r.url), r.url) From b4bb1482356c1412870837271cb0fa57656d760d Mon Sep 17 00:00:00 2001 From: Joana Maia Date: Wed, 30 Sep 2026 09:39:55 +0100 Subject: [PATCH 7/7] fix: dedupe project packages before summing downloads in impact breakdown (IN-1420) Signed-off-by: Joana Maia --- ...roject_insights_impact_breakdown_copy.pipe | 39 +++++++++++-------- 1 file changed, 22 insertions(+), 17 deletions(-) diff --git a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe index f81f05ad35..6dcf926f28 100644 --- a/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe +++ b/services/libs/tinybird/pipes/project_insights_impact_breakdown_copy.pipe @@ -80,28 +80,33 @@ DESCRIPTION > SQL > SELECT - ip.id AS projectId, - ip.slug AS slug, - ip.name AS name, + project_packages.projectId AS projectId, + project_packages.slug AS slug, + project_packages.name AS name, max(pk.dependentCount) AS directDependents, max(pk.transitiveDependentCount) AS transitiveDependents, sum(pk.downloadsLast30d) AS downloads, max(toFloat64OrNull(pk.centralityScore)) AS centrality, max(toFloat64OrNull(pk.sonatypePopularityScore)) AS sonatypePopularityScore - FROM insightsProjects ip FINAL - LEFT JOIN - repositories rep FINAL - ON rep.insightsProjectId = ip.id - AND rep.enabled = true - AND rep.excluded = false - AND rep.deletedAt IS NULL - LEFT JOIN - repos r - ON if(lower(domain(r.url)) IN ('github.com', 'gitlab.com'), lower(r.url), r.url) - = if(lower(domain(rep.url)) IN ('github.com', 'gitlab.com'), lower(rep.url), rep.url) - LEFT JOIN packageRepos pr ON pr.repoId = r.id - LEFT JOIN ossPackages_enriched_ds pk ON pk.id = pr.packageId - GROUP BY ip.id, ip.slug, ip.name + FROM + ( + SELECT DISTINCT + ip.id AS projectId, ip.slug AS slug, ip.name AS name, pr.packageId AS packageId + FROM insightsProjects ip FINAL + LEFT JOIN + repositories rep FINAL + ON rep.insightsProjectId = ip.id + AND rep.enabled = true + AND rep.excluded = false + AND rep.deletedAt IS NULL + LEFT JOIN + repos r + ON if(lower(domain(r.url)) IN ('github.com', 'gitlab.com'), lower(r.url), r.url) + = if(lower(domain(rep.url)) IN ('github.com', 'gitlab.com'), lower(rep.url), rep.url) + LEFT JOIN packageRepos pr ON pr.repoId = r.id + ) AS project_packages + LEFT JOIN ossPackages_enriched_ds pk ON pk.id = project_packages.packageId + GROUP BY project_packages.projectId, project_packages.slug, project_packages.name NODE project_impact_ranked DESCRIPTION >