-
Notifications
You must be signed in to change notification settings - Fork 7.4k
feat(regulatory): seed-regulatory-actions.mjs — RSS fetch + parse #2492
Copy link
Copy link
Open
Labels
area: AI/intelAI analysis, intelligence findings, summarizationAI analysis, intelligence findings, summarizationarea: feedsRSS feeds, news aggregationRSS feeds, news aggregationarea: marketsMarkets, commodities, crypto, financeMarkets, commodities, crypto, financeenhancementNew feature or requestNew feature or request
Description
Context
Part of the Regulatory RSS pipeline — a new signal source for seed-cross-source-signals.mjs that surfaces financial regulatory enforcement actions (SEC fraud charges, FDIC bank failures, CFTC manipulation findings) as market-moving intelligence signals.
This is task 1/4.
What to build
Create scripts/seed-regulatory-actions.mjs — the fetch and parse layer.
Feeds (5, all free, no auth)
| Agency | URL |
|---|---|
| SEC | https://www.sec.gov/cgi-bin/browse-edgar?action=getcurrent&type=&dateb=&owner=include&count=40&output=atom |
| CFTC | https://www.cftc.gov/rss/pressreleases.xml |
| Federal Reserve | https://www.federalreserve.gov/feeds/press_all.xml |
| FDIC | https://www.fdic.gov/news/rss.xml |
| FINRA | https://www.finra.org/rules-guidance/rss |
Requirements
- Fetch all 5 feeds concurrently via
Promise.allSettledwithAbortSignal.timeout(15_000)per feed - Lightweight XML field extractor for
<title>,<link>,<pubDate>/<updated>— no new npm deps, native string parsing only - Normalize to common item shape:
{ id: string, agency: string, title: string, link: string, publishedAt: string }
- Dedup by
link(same release can appear in multiple feeds) - Include
User-Agent: CHROME_UAon all requests (pattern from_seed-utils.mjs) - Graceful degradation: a failed feed does not abort the run —
Promise.allSettledhandles this
Acceptance criteria
- All 5 feeds fetched concurrently
- Items normalized to consistent shape
- Duplicates removed by link
- Single failed feed does not crash the seeder
- No new npm dependencies
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
area: AI/intelAI analysis, intelligence findings, summarizationAI analysis, intelligence findings, summarizationarea: feedsRSS feeds, news aggregationRSS feeds, news aggregationarea: marketsMarkets, commodities, crypto, financeMarkets, commodities, crypto, financeenhancementNew feature or requestNew feature or request