chore: drop unreachable branches outside the signal core (no behaviour change)

- providers: _to_oanda_instrument / _to_tiingo_ticker / _to_td_symbol no longer
  guess a wire symbol for pairs that are not registered — the registries are
  the only source, so an unknown symbol raises the provider's DataIntegrityError
  instead of silently fetching something else. Every scanned symbol is validated
  against PAIR_INFO at import, so nothing reachable changes.
- main / telegram_bot _fmt_price: the sub-$10 five-decimal branch could never
  fire for gold.
- news_engine._parse_pair: BASE/QUOTE only; the Yahoo "=X" fallback was
  unreachable (its test goes with it).
- dashboard_publisher.event_to_dict: drop minutes_until (frozen at publish
  time, misleading) and is_high_impact — dashboard.js never read either.
- static/dashboard.html: unused id="cal-table".

Tried and reverted: trimming the LogRow fields nothing in analyze_signal_log
reads — the tests read them to verify the loader round-trips those DB columns,
so they stay.

Suite: 460 passed, 0 failed.

Claude-Session: https://claude.ai/code/session_0156YhogLytzj9P2iH1skGbL
This commit is contained in:
Harwinder Sekhon
2026-09-06 17:47:45 -04:00
parent c2f98938a3
commit 35f1eb17b8
10 changed files with 30 additions and 33 deletions
+4 -2
View File
@@ -93,9 +93,11 @@ class OandaDataProvider(BaseDataProvider):
return self._fetch_oanda_candles(symbol, timeframe, outputsize)
def _to_oanda_instrument(self, symbol: str) -> str:
if symbol in self.OANDA_INSTRUMENT:
try:
return self.OANDA_INSTRUMENT[symbol]
return symbol.replace("/", "_")
except KeyError:
raise OandaDataError(
f"Unsupported symbol {symbol!r} for Oanda") from None
def _fetch_oanda_candles(
self,
+4 -2
View File
@@ -91,9 +91,11 @@ class TiingoDataProvider(BaseDataProvider):
})
def _to_tiingo_ticker(self, symbol: str) -> str:
if symbol in self.TIINGO_TICKER:
try:
return self.TIINGO_TICKER[symbol]
return symbol.replace("/", "").replace("=X", "").lower()
except KeyError:
raise TiingoDataError(
f"Unsupported symbol {symbol!r} for Tiingo") from None
# ── Raw fetch ──────────────────────────────────────────────────
+4 -4
View File
@@ -58,10 +58,10 @@ class TwelveDataProvider(BaseDataProvider):
@staticmethod
def _to_td_symbol(symbol: str) -> str:
if "/" in symbol:
return symbol
clean = symbol.replace("=X", "")
return f"{clean[:3]}/{clean[3:]}"
if "/" not in symbol:
raise DataIntegrityError(
f"Unsupported symbol {symbol!r} for Twelve Data")
return symbol
# ── Raw fetch ──────────────────────────────────────────────────