From fa0b5d9c4511d88ed246d9790eb657a81b544e6d Mon Sep 17 00:00:00 2001 From: caty21 Date: Sun, 28 Jun 2026 15:01:44 +0200 Subject: [PATCH] fix: faux positif Discours BC ZeroHedge + timestamp devant le journal MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - newsfeed.ts: pré-filtre macro obligatoire avant applyRules pour ZeroHedge → articles non-financiers (social, politique) rejetés même si un prénom de gouverneur (ex: Bailey) apparaît dans le body - NewsTab: timestamp (il y a Xh) déplacé en première position avant le nom du journal sur la ligne de métadonnées; bouton Analyse reste avec le titre Co-Authored-By: Claude Sonnet 4.6 --- components/NewsTab.tsx | 19 +++++++++---------- lib/newsfeed.ts | 6 ++++++ 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/components/NewsTab.tsx b/components/NewsTab.tsx index e234ce6..453ff7a 100644 --- a/components/NewsTab.tsx +++ b/components/NewsTab.tsx @@ -333,7 +333,9 @@ function NewsCard({ item, secondary = false }: { item: NewsItem; secondary?: boo return (
+ {/* Heure · Source · Catégorie · Prioritaire */}
+ {formatRelativeTime(item.publishedAt)} {item.source} @@ -348,17 +350,14 @@ function NewsCard({ item, secondary = false }: { item: NewsItem; secondary?: boo )}
- {/* Heure + Analyse + Titre */} + {/* Analyse + Titre */}
-
- {formatRelativeTime(item.publishedAt)} - {!secondary && ( - - )} -
+ {!secondary && ( + + )} diff --git a/lib/newsfeed.ts b/lib/newsfeed.ts index d446459..6353f42 100644 --- a/lib/newsfeed.ts +++ b/lib/newsfeed.ts @@ -788,6 +788,12 @@ async function fetchZeroHedgeNews(): Promise { const summary = plainText.slice(0, 300); const analysisText = plainText.slice(0, 800); + // Pré-filtre macro : ZeroHedge couvre de nombreux sujets non-financiers. + // On exige qu'un mot-clé macro explicite soit présent AVANT d'appliquer les + // règles de noms de gouverneurs (évite "Bailey" dans un article social UK). + const MACRO_CONTEXT = /\b(rate|rates|dollar|euro|pound|yen|franc|currency|currencies|forex|fx\b|economy|economic|gdp|inflation|recession|central bank|fed\b|ecb\b|boe\b|boj\b|boc\b|rba\b|rbnz\b|snb\b|fomc|treasury|bond|yield|fiscal|monetary|tariff|trade war|deficit|debt|interest rate|rate cut|rate hike|basis point)\b/i; + if (!MACRO_CONTEXT.test(`${title} ${analysisText}`)) continue; + // Filtre de pertinence forex : garder seulement si une règle matche const { impacts, categories } = applyRules(`${title} ${analysisText}`); if (impacts.length === 0 && categories.length === 0) continue;