- CurrencyCard: OIS toujours dans sigTabs (plus conditionnel à ratePath)
→ affiche état 'indisponible' quand données absentes, au lieu de disparaître
- NarrativeButton: couleur 'Résumé IA' blanc (#ffffff) au lieu d'amber
- NewsTab: Inflation/Géopolitique/Emploi/Énergie toujours visibles comme filtres
→ séparation TOP NEWS (articles avec étiquette macro) vs 'Autres actualités'
(articles boursiers sans tag FX) dans section repliable
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- drivers: switch Brent (cb.f) and WTI (cl.f) from stale FRED to Stooq
near-real-time futures — same stooqMetal() already used for gold/silver
- macro: add scrapePMI() to scrape Trading Economics meta description for
manufacturing-pmi and services-pmi for all 8 currencies (no API key needed)
- narrative: replace dead Bytez API with Groq (OpenAI-compatible, free tier)
env var renamed BYTEZ_API_KEY → GROQ_API_KEY, model llama-3.1-8b-instant
- NarrativeButton: rebrand "Erreur Bytez" / "Bytez AI" → "Erreur IA" / "Groq AI"
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>