Docs: correct PlatformConfig overlay scope (credentials never pass through the factory)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VPNF37MP9Kuv62B1VBrZ1b
This commit is contained in:
Harwinder Sekhon
2026-07-21 13:30:15 -04:00
parent 3f46505af4
commit 798f4dec99
2 changed files with 4 additions and 6 deletions
+1 -1
View File
@@ -112,7 +112,7 @@ Legacy fields kept for config-shape compatibility: `rsi_entry_threshold`, `min_e
### PlatformConfig (top level)
`symbol="XAU/USD"`, primary TF H1, confirmations [M15, H4], `data_lookback_days=60`, `scan_pairs=[XAUUSD]` (mirrors config.json `scanning.pairs` — see below), `scan_timeframes=[M5,M15,H1,H4]`, `candle_buffer_seconds=10`, `ws_cooldown_seconds=300`.
Deployment settings (credentials, scan pairs/TFs, per-pair base blocked hours, alert quality, log level) overlay from config.json via `app_config.apply_pair_overrides`, applied in the pair factory BEFORE per-TF deltas. `scanning.pairs` in config.json is now the actual deployment switch for what the bot scans — `PlatformConfig.scan_pairs` just carries the resolved value.
Per-pair base blocked hours plus `scan_pairs`/`scan_timeframes` overlay from config.json via `app_config.apply_pair_overrides`, applied in the pair factory BEFORE per-TF deltas. Credentials, alert quality, and log level never touch `PlatformConfig` — `telegram_bot.py` and `data_provider.py` read them directly from `app_config.get_app_config()` and its resolvers. `scanning.pairs` in config.json is the deployment switch for what the bot scans — `PlatformConfig.scan_pairs` just carries the resolved value.
---
+3 -5
View File
@@ -113,11 +113,9 @@ _CHANNEL_ID_RAW = telegram_channel_id()
CHANNEL_ID: Optional[int] = int(_CHANNEL_ID_RAW) if _CHANNEL_ID_RAW else None
# ── Pairs & buttons ───────────────────────────────────────────────────
# The scanned pair list is config-driven: `scanning.pairs` in config.json
# (read via app_config) is the single switch for single- vs multi-pair
# operation — `apply_pair_overrides` stamps it onto PlatformConfig.scan_pairs
# so the two stay in sync. Buttons, WS subscriptions, and scan loops all
# derive from it.
# The scanned pair list is config.json-driven (`scanning.pairs`, read via
# app_config) and is the single switch for single- vs multi-pair operation.
# Buttons, WS subscriptions, and scan loops all derive from it.
SCAN_PAIRS = list(_APP.scan_pairs)