# Build №003 — Common Constants ## Файл ```text app/src/trading/market_intelligence/common/constants.py ``` ## Назначение Создание общего набора архитектурных констант Market Intelligence. Файл определяет безопасные диапазоны значений, ограничения диагностики, базовые настройки свежести данных и защитные ограничения аналитического слоя. --- ## Реализовано Добавлены группы констант: - диапазоны `score`; - диапазоны `confidence`; - диапазоны `probability`; - диапазоны `weight`; - значения по умолчанию; - пороги человекочитаемой оценки; - время устаревания аналитического результата; - время жизни аналитического сигнала; - ограничения количества зависимостей Engine; - ограничения количества метрик; - ограничения количества предупреждений и ошибок; - базовая конфигурация таймфреймов; - запрещённые торговые поля. --- ## Архитектурные решения - `common/constants.py` содержит только архитектурные ограничения платформы; - файл не содержит параметров технических индикаторов; - файл не содержит параметров торговых стратегий; - файл не содержит настроек открытия или закрытия сделок; - константы не зависят от конкретного Engine; - `FORBIDDEN_TRADING_FIELDS` вводит защиту границ между аналитикой и торговыми действиями. --- ## Compile Check ```text PASSED ``` ## Architecture Review ```text PASSED ``` ## Domain Review ```text PASSED ``` ## Обязательные замечания Нет. ## Post Review Notes ### Решение №001 Архитектурные константы должны содержать только ограничения платформы. В `common/constants.py` запрещается размещать: - параметры технических индикаторов; - параметры торговых стратегий; - настройки открытия и закрытия сделок; - параметры биржи; - параметры управления позицией. Такие константы должны размещаться внутри соответствующих Engine. ### Решение №002 Константы должны быть сгруппированы по смысловым разделам: ```text Score Confidence Probability Runtime Diagnostics Architecture Timeframes Safety ``` ### Решение №003 Таймфреймы являются частью конфигурации платформы, а не жёстким ограничением архитектуры. `DEFAULT_TIMEFRAMES` описывает базовую конфигурацию первого этапа Market Intelligence. ### Решение №004 Возраст результата анализа и возраст торгового сигнала являются разными понятиями. - `DEFAULT_STALE_AFTER_SECONDS` — когда аналитический результат считается устаревшим. - `DEFAULT_SIGNAL_TTL_SECONDS` — когда влияние аналитического сигнала начинает уменьшаться. ### Решение №005 Константы, относящиеся только к одному Engine, не должны находиться в `common/constants.py`. Они должны переноситься в каталог соответствующего Engine. --- ## Статус ```text ACCEPTED ```