From 77917bf91f098cd33beb79f610ca513f2854196d Mon Sep 17 00:00:00 2001 From: airano Date: Thu, 19 Feb 2026 18:56:14 +0330 Subject: [PATCH] fix(indexer): persist quality score during skill upsert MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Quality was calculated by SkillAnalyzer during crawl but never saved to database — same class of bug as the securityStatus fix in Phase 2. Added qualityScore and qualityDetails to both the indexSkill upsert call and the onConflictDoUpdate set clause. Co-Authored-By: Claude Opus 4.6 --- packages/db/src/queries.ts | 2 ++ services/indexer/src/skill-indexer.ts | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/packages/db/src/queries.ts b/packages/db/src/queries.ts index ebaf745..38027a4 100644 --- a/packages/db/src/queries.ts +++ b/packages/db/src/queries.ts @@ -594,6 +594,8 @@ export const skillQueries = { githubForks: skill.githubForks, securityScore: skill.securityScore, securityStatus: skill.securityStatus, + qualityScore: skill.qualityScore, + qualityDetails: skill.qualityDetails, sourceFormat: skill.sourceFormat, contentHash: skill.contentHash, rawContent: skill.rawContent, diff --git a/services/indexer/src/skill-indexer.ts b/services/indexer/src/skill-indexer.ts index 2d9ae5a..2cdb545 100644 --- a/services/indexer/src/skill-indexer.ts +++ b/services/indexer/src/skill-indexer.ts @@ -91,6 +91,13 @@ export async function indexSkill( githubForks: content.repoMeta.forks, securityScore: analysis.security.score, securityStatus: analysis.security.status, + qualityScore: analysis.quality.overall, + qualityDetails: { + documentation: analysis.quality.documentation, + maintenance: analysis.quality.maintenance, + popularity: analysis.quality.popularity, + factors: analysis.quality.factors, + }, contentHash: analysis.meta.contentHash, rawContent: content.skillMd, indexedAt: new Date(),