feat: add market data architecture and complete migration through build 039

This commit is contained in:
2026-07-14 09:58:16 +03:00
parent 26deb861bc
commit a996f2f797
443 changed files with 80452 additions and 1335 deletions

View File

@@ -0,0 +1,248 @@
# Build 007 — Common Validation Layer
**Build ID:** 007
**Component:** `common/validation.py`
**Stage:** Stage 08.2 — Common Foundation
**Status:** **ACCEPTED**
---
# Цель Build
Создать единый слой архитектурной проверки (**Validation Layer**) для компонентов Market Intelligence.
Validation Layer отвечает за проверку соблюдения Runtime Contract и архитектурных ограничений Common Layer.
Данный слой не анализирует рынок и не принимает торговых решений.
---
# Контекст
К моменту начала Build уже существовали:
- единые перечисления (`enums.py`);
- общие типы (`types.py`);
- архитектурные константы (`constants.py`);
- единый словарь причин (`reasons.py`);
- модели оценок (`scores.py`);
- единые Runtime-модели (`models.py`).
Следующим необходимым компонентом стала централизованная проверка корректности этих моделей.
---
# Реализовано
Создан файл:
```text
app/src/trading/market_intelligence/common/validation.py
```
Добавлены модели:
- ValidationIssue
- ValidationResult
Добавлены проверки:
- validate_engine_context()
- validate_engine_result()
- validate_payload_has_no_trading_fields()
---
# Назначение Validation Layer
Validation Layer выполняет исключительно архитектурную проверку.
Он отвечает за:
- проверку обязательных полей Runtime Contract;
- проверку ограничений Common Layer;
- проверку запрещённых торговых полей;
- формирование диагностического результата проверки.
Validation Layer не анализирует состояние рынка.
---
# Архитектурные решения
Во время Build были подтверждены следующие решения.
## Validation не принимает торговых решений
Validation Layer не выполняет:
- анализ рынка;
- расчёт сигналов;
- принятие торговых решений;
- взаимодействие с биржей.
Он проверяет только соблюдение архитектурного контракта.
---
## Validation возвращает результат проверки
Проверка не использует исключения как основной механизм обработки.
Результатом проверки всегда является объект:
```text
ValidationResult
```
Это позволяет Coordinator и Runtime безопасно обрабатывать ошибки без остановки всей платформы.
---
## Validation использует единые модели Common
Validation Layer повторно использует:
- EngineContext
- EngineResult
- ReasonCode
- CheckStatus
- EngineStatus
Новые дублирующие модели не создаются.
---
## Validation защищает границы Market Intelligence
Добавлена централизованная проверка запрещённых торговых полей.
Используется архитектурная константа:
```text
FORBIDDEN_TRADING_FIELDS
```
Это предотвращает случайное проникновение торговой логики в аналитический слой.
---
## Validation не зависит от конкретных Engine
Validation Layer не содержит:
- знаний о Trend Engine;
- знаний о Wave Engine;
- знаний о Liquidity Engine;
- знаний о Strategy;
- знаний о Execution.
Он одинаково применим для любого аналитического движка платформы.
---
# Compile Check
Статус:
**PASSED**
Проверка выполнена командой:
```bash
python -m compileall src/trading/market_intelligence/common/validation.py
```
Компиляция завершилась успешно.
---
# Architecture Review
Статус:
**PASSED**
Проверено:
- отсутствие циклических зависимостей;
- соблюдение Layer Isolation;
- повторное использование моделей Common;
- соблюдение Runtime Contract;
- отсутствие нарушения зон ответственности.
Обязательные замечания отсутствуют.
---
# Domain Review
Статус:
**PASSED**
Подтверждено:
- отсутствует торговая логика;
- отсутствуют торговые решения;
- отсутствует взаимодействие с биржей;
- отсутствует работа с позициями;
- Validation выполняет только проверку архитектурного контракта.
---
# Engineering Review
Подтверждено формирование законченного архитектурного фундамента Common Layer.
На текущем этапе сформирована следующая последовательность компонентов:
```text
types
enums
constants
reasons
scores
models
validation
```
Validation Layer завершает базовый уровень проверки архитектурного контракта.
---
# Рекомендации
В дальнейшем допускается развитие Validation Layer следующими возможностями:
- специализированные проверки отдельных Engine;
- расширенная проверка Runtime Contract;
- интеграция с будущим Review Layer;
- автоматическая генерация диагностических отчётов.
Данные возможности не входят в текущий Build.
---
# Итог
Build №007 завершает создание базового Validation Layer подсистемы Market Intelligence.
Компонент полностью соответствует:
- Development Process v2.0;
- Architecture Principles;
- Runtime Contract.
Build получает статус:
**ACCEPTED**