diff --git a/packages/scraper/src/scrapers/market-intelligence.ts b/packages/scraper/src/scrapers/market-intelligence.ts index 3e67c06..1972c2d 100644 --- a/packages/scraper/src/scrapers/market-intelligence.ts +++ b/packages/scraper/src/scrapers/market-intelligence.ts @@ -279,6 +279,9 @@ export async function computeReorderSignals(): Promise { if (reasons.length === 0) reasons.push("Insufficient data for strong signal"); + // Keep exactly one (latest) signal per transceiver — delete prior rows first. + // Without this the table grew to 4.5M rows (24h-TTL never cleaned up old runs). + await pool.query(`DELETE FROM reorder_signals WHERE transceiver_id = $1`, [row.id]); await pool.query( `INSERT INTO reorder_signals (transceiver_id, signal, signal_strength, reasons, stock_trend, price_trend, lead_time_weeks)