← story.propek
STORY MI-2.3
MI-2.3
Epic: Market Intel Macro v1
PENDING
ACCEPTANCE CRITERIA (10/10)
1. Script `scripts/fetch-fred-data.js` fetches 5 FRED series from `config/indicators.json` section `fred`
2. Reads API key from `FRED_API_KEY` environment variable -- never hardcoded, never logged
3. If API key is missing, prints setup instructions (URL to get free key) and exits with code 2
4. Uses rate limiter at 1 req/sec (safety margin vs 120 req/min limit)
5. Output `data/state/fred-latest.json` with all indicator values, timestamps, and errors
6. Output appends to `data/timeseries/fred-indicators.json` via `appendToSeries()`
7. Handles FRED missing data marker (`value: "."`) as null
8. Handles FRED error responses (`error_code` + `error_message` in JSON): log and skip series
9. Each series fetched independently
10. Supports `--dry-run`, `--verbose`, `--help` flags