diff --git a/lib/queue.mjs b/lib/queue.mjs index 91feeac..5f5f2c5 100644 --- a/lib/queue.mjs +++ b/lib/queue.mjs @@ -92,6 +92,9 @@ export function dedupeAfterFilter() { let deduped = 0; for (const jobs of Object.values(byUrl)) { if (jobs.length < 2) continue; + // Only dedup if ALL copies have been scored — skip groups with unscored members + if (jobs.some(j => j.filter_score == null && j.status !== 'filtered')) continue; + // Keep the one with highest filter_score; if tied, prefer 'new' over 'filtered' jobs.sort((a, b) => { const sa = a.filter_score ?? -1;