feat: origin tracing on all market_events

- DB: colonne origin (migration + UPDATE heuristique sur données legacy)
- save/update_market_event: persist origin
- Tous les points de création taguent leur origine:
    bootstrap_macro/eco/ma/legacy | detector_news/eco/technical/report | manual
- UI MarketEvents: badge d'origine avec icône + description dans le panneau détail,
  icône tooltip dans la liste gauche, message explicite si pas de source_refs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
OpenSquared
2026-06-25 20:58:05 +02:00
parent d5da4737ef
commit bd28b6a73a
8 changed files with 78 additions and 16 deletions

View File

@@ -288,6 +288,7 @@ def bootstrap_macro_events(force: bool = False) -> Dict[str, Any]:
"market_impact": ev["description"][:80],
"affected_assets": assets_list,
"impact_score": ev.get("impact_score", 0.75),
"origin": "bootstrap_macro",
})
inserted += 1
except Exception as e: