AntFleet

Disagreement · 24879b45-anthropic-6

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

solo Opus
repo e24ef98c·PR #10·reviewed 1 week ago

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'.

Other reviewer

The other reviewer flagged nothing in this file/line range.

Why this didn't post

This finding didn't meet AntFleet's unanimous agreement threshold. Both frontier models review every PR independently; only findings they both flag with the same severity and category are posted to the PR. This one fell through.

read the methodology →