fix(data): respect the configured vendor chain and log vendor failures

The router silently extended every request to all available vendors regardless
of config, so an explicit single-vendor choice still fell back to others and
returned data from an unexpected source (#988, #289), and serious primary-vendor
errors were swallowed without a trace (#989). The configured vendor list is now
the exact chain (list several for ordered fallback; "default" uses all), unknown
vendors raise, and swallowed vendor errors are logged. Adds an autouse config
isolation fixture so vendor config can't leak between tests.
This commit is contained in:
Yijia-Xiao committed 2026-06-13 21:11:25 +00:00
1 parent 76add9048f
commit 65608831f8
4 files changed
+159 -16

No files matched your search

+4 -1
View File
@@ -97,7 +97,10 @@ DEFAULT_CONFIG = _apply_env_overrides({
"oil commodities supply chain energy",
],
# Data vendor configuration
# Category-level configuration (default for all tools in category)
# Category-level configuration (default for all tools in category).
# The configured value is the exact vendor chain — requests are NOT silently
# routed to vendors you didn't choose. For ordered fallback, list several,
# e.g. "yfinance,alpha_vantage". "default" uses all available vendors.
"data_vendors": {
"core_stock_apis": "yfinance", # Options: alpha_vantage, yfinance
"technical_indicators": "yfinance", # Options: alpha_vantage, yfinance