feat: add market data architecture and complete migration through build 039
This commit is contained in:
248
docs/market_intelligence/builds/build-008-common-checks.md
Normal file
248
docs/market_intelligence/builds/build-008-common-checks.md
Normal file
@@ -0,0 +1,248 @@
|
||||
# Build 008 — Common Checks Layer
|
||||
|
||||
**Build ID:** 008
|
||||
|
||||
**Component:** `common/checks.py`
|
||||
|
||||
**Stage:** Stage 08.2 — Common Foundation
|
||||
|
||||
**Status:** **ACCEPTED**
|
||||
|
||||
---
|
||||
|
||||
# Цель Build
|
||||
|
||||
Создать единый слой инженерных проверок (**Checks Layer**) для аналитических движков подсистемы Market Intelligence.
|
||||
|
||||
Checks Layer предназначен для фиксации прохождения отдельных этапов обработки Engine и формирования единого инженерного отчёта о ходе выполнения анализа.
|
||||
|
||||
Данный слой не выполняет проверку корректности моделей и не анализирует состояние рынка.
|
||||
|
||||
---
|
||||
|
||||
# Контекст
|
||||
|
||||
К началу Build уже существовали:
|
||||
|
||||
- единые перечисления (`enums.py`);
|
||||
- общие типы (`types.py`);
|
||||
- архитектурные константы (`constants.py`);
|
||||
- единый словарь причин (`reasons.py`);
|
||||
- модели оценок (`scores.py`);
|
||||
- Runtime-модели (`models.py`);
|
||||
- Validation Layer (`validation.py`).
|
||||
|
||||
Следующим этапом стало создание отдельного слоя инженерных проверок выполнения Engine.
|
||||
|
||||
---
|
||||
|
||||
# Реализовано
|
||||
|
||||
Создан файл:
|
||||
|
||||
```text
|
||||
app/src/trading/market_intelligence/common/checks.py
|
||||
```
|
||||
|
||||
Добавлены модели:
|
||||
|
||||
- EngineCheck
|
||||
- EngineCheckReport
|
||||
|
||||
Добавлены функции:
|
||||
|
||||
- build_check()
|
||||
- build_check_report()
|
||||
|
||||
---
|
||||
|
||||
# Назначение Checks Layer
|
||||
|
||||
Checks Layer используется для фиксации результатов внутренних этапов обработки аналитического движка.
|
||||
|
||||
Он позволяет:
|
||||
|
||||
- описывать прохождение отдельных этапов Runtime;
|
||||
- объединять проверки в единый отчёт;
|
||||
- отделить инженерные проверки выполнения от проверки архитектурного контракта.
|
||||
|
||||
Checks Layer не анализирует рынок и не проверяет корректность входных данных.
|
||||
|
||||
---
|
||||
|
||||
# Архитектурные решения
|
||||
|
||||
Во время Build были подтверждены следующие решения.
|
||||
|
||||
## Checks Layer не заменяет Validation Layer
|
||||
|
||||
Validation Layer и Checks Layer имеют разные области ответственности.
|
||||
|
||||
Validation Layer отвечает на вопрос:
|
||||
|
||||
> **Корректен ли Runtime Contract?**
|
||||
|
||||
Checks Layer отвечает на вопрос:
|
||||
|
||||
> **Какие этапы обработки выполнил Engine?**
|
||||
|
||||
Таким образом оба слоя взаимно дополняют друг друга, не дублируя функциональность.
|
||||
|
||||
---
|
||||
|
||||
## Проверка выполняется по этапам обработки
|
||||
|
||||
Каждая проверка относится к одному значению `ProcessingStage`.
|
||||
|
||||
Например:
|
||||
|
||||
- INPUT
|
||||
- CALCULATION
|
||||
- VALIDATION
|
||||
- PAYLOAD
|
||||
- SNAPSHOT
|
||||
- RESULT
|
||||
- EVENT
|
||||
|
||||
Это позволяет анализировать работу Engine поэтапно.
|
||||
|
||||
---
|
||||
|
||||
## Отчёт агрегирует независимые проверки
|
||||
|
||||
Engine может сформировать несколько отдельных проверок.
|
||||
|
||||
Они объединяются в объект:
|
||||
|
||||
```text
|
||||
EngineCheckReport
|
||||
```
|
||||
|
||||
Отчёт определяет общий инженерный статус выполнения без повторной проверки отдельных этапов.
|
||||
|
||||
---
|
||||
|
||||
## Checks Layer не содержит предметной логики
|
||||
|
||||
Checks Layer не знает:
|
||||
|
||||
- что такое тренд;
|
||||
- что такое волна;
|
||||
- что такое ликвидность;
|
||||
- что такое фаза рынка.
|
||||
|
||||
Он работает исключительно с инженерными этапами выполнения Runtime.
|
||||
|
||||
---
|
||||
|
||||
## Checks Layer не зависит от конкретных Engine
|
||||
|
||||
Файл не содержит ссылок на:
|
||||
|
||||
- Trend Engine;
|
||||
- Wave Engine;
|
||||
- Liquidity Engine;
|
||||
- Coordinator;
|
||||
- Strategy;
|
||||
- Execution.
|
||||
|
||||
Любой аналитический движок может использовать данный слой без изменений.
|
||||
|
||||
---
|
||||
|
||||
# Compile Check
|
||||
|
||||
Статус:
|
||||
|
||||
**PASSED**
|
||||
|
||||
Проверка выполнена командой:
|
||||
|
||||
```bash
|
||||
python -m compileall src/trading/market_intelligence/common/checks.py
|
||||
```
|
||||
|
||||
Компиляция завершилась успешно.
|
||||
|
||||
---
|
||||
|
||||
# Architecture Review
|
||||
|
||||
Статус:
|
||||
|
||||
**PASSED**
|
||||
|
||||
Подтверждено:
|
||||
|
||||
- отсутствие циклических зависимостей;
|
||||
- корректное разделение Validation Layer и Checks Layer;
|
||||
- соблюдение Layer Isolation;
|
||||
- повторное использование моделей Common;
|
||||
- масштабируемость архитектуры.
|
||||
|
||||
Обязательные замечания отсутствуют.
|
||||
|
||||
---
|
||||
|
||||
# Domain Review
|
||||
|
||||
Статус:
|
||||
|
||||
**PASSED**
|
||||
|
||||
Подтверждено:
|
||||
|
||||
- отсутствует торговая логика;
|
||||
- отсутствует анализ рынка;
|
||||
- отсутствует взаимодействие с биржей;
|
||||
- отсутствует работа с позициями;
|
||||
- Checks Layer выполняет исключительно инженерную диагностику выполнения Engine.
|
||||
|
||||
---
|
||||
|
||||
# Engineering Review
|
||||
|
||||
После завершения Build №008 фундамент Common Layer получил два независимых уровня контроля качества:
|
||||
|
||||
```text
|
||||
Runtime Contract
|
||||
↓
|
||||
Validation Layer
|
||||
↓
|
||||
Checks Layer
|
||||
```
|
||||
|
||||
Validation Layer отвечает за корректность архитектурного контракта.
|
||||
|
||||
Checks Layer отвечает за фиксацию прохождения этапов обработки.
|
||||
|
||||
Такое разделение обеспечивает независимое развитие обоих компонентов и предотвращает смешивание архитектурных обязанностей.
|
||||
|
||||
---
|
||||
|
||||
# Рекомендации
|
||||
|
||||
В дальнейшем допускается развитие Checks Layer следующими возможностями:
|
||||
|
||||
- группировка проверок по Engine;
|
||||
- сохранение времени выполнения отдельных этапов;
|
||||
- интеграция с Runtime Review;
|
||||
- автоматическое формирование инженерных отчётов.
|
||||
|
||||
Данные возможности не входят в текущий Build.
|
||||
|
||||
---
|
||||
|
||||
# Итог
|
||||
|
||||
Build №008 завершает создание базового Checks Layer подсистемы Market Intelligence.
|
||||
|
||||
Компонент полностью соответствует:
|
||||
|
||||
- Development Process v2.0;
|
||||
- Architecture Principles;
|
||||
- Runtime Contract.
|
||||
|
||||
Build получает статус:
|
||||
|
||||
**ACCEPTED**
|
||||
Reference in New Issue
Block a user