feat: add market data architecture and complete migration through build 039
This commit is contained in:
248
docs/market_intelligence/builds/build-007-common-validation.md
Normal file
248
docs/market_intelligence/builds/build-007-common-validation.md
Normal 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**
|
||||
Reference in New Issue
Block a user