The NOT clause was protecting both (team1,team2,date) and (team2,team1,date) from deletion, preventing the stale cleanup from removing reversed-order duplicates — e.g. both "France vs Spain" and "Spain vs France" stored for the same SF slot. Only the exact pairing being upserted needs protection; reversed entries with the same date are duplicates and should be deleted. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>