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 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**