Opus finding
RSS pubDate sort uses Date.getTime() — same-repo items with null closedAt are filtered, but if every receipt has null closedAt and crossRepo also empty, lastBuildDate falls back to `new Date()` causing feed mtime churn
lowmaintainabilityhigh
- apps/web/app/receipts.rss/route.ts:60-70
When both newestSameRepo and newestCrossRepo are null, lastBuildDate becomes `new Date()`. Coupled with `Cache-Control: max-age=300`, every cache-miss request rewrites lastBuildDate to 'now', defeating RSS reader change-detection in the no-content state (would show 'updated' every 5 minutes despite zero new items). Minor — affects only the empty-feed bootstrap phase.
Recommendation
Use a stable epoch (e.g., `new Date(0)` or the app build timestamp) when there are zero items, so the feed advertises 'never updated' rather than 'updated right now'.