f7b76c572f
rss.Poller.seen held every undated item ever seen, one entry per id, for as long as mavend ran. fresh() added and nothing removed. A feed that ships items with no <pubDate> grew it forever. seenIDs is the same set with a bound: the map answers the lookup, a slice remembers insertion order, and the oldest id falls out past 512. The cap has to stay above any one feed's front page or an item still listed there would be written a second time, and a few hundred covers the largest page anyone publishes. The set only ever had to span one poll window plus the resync guard, not all of history. Dedupe behaviour is unchanged. The comment at fresh() explains why the set does not survive a restart; it never bounded it within one run.