← story.propek
STORY MI-2.2
MI-2.2
Epic: Market Intel Macro v1
PENDING
ACCEPTANCE CRITERIA (11/11)
1. Script `scripts/fetch-rss-news.js` fetches all enabled RSS feeds from `config/feeds.json`
2. Parses each feed using `rss-parser.parseRSS()` from lib
3. Filters articles older than `max_age_hours` (default 72h from config)
4. Limits results to `max_items_per_feed` (default 10 from config) per feed
5. Output `data/state/rss-latest.json` with articles grouped by category, item counts, and statuses
6. Each feed fetched independently -- failure in one does not block others
7. Rate limiting at 0.5 req/sec (1 request per 2 seconds)
8. Handles non-XML responses gracefully (log warning, set status="error")
9. Handles empty feeds (no parsed items) with status="empty"
10. Supports `--dry-run`, `--verbose`, `--help`, `--category {name}` flags
11. No API key required