7.2 KiB
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.
Реализовано
Создан файл:
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 может сформировать несколько отдельных проверок.
Они объединяются в объект:
EngineCheckReport
Отчёт определяет общий инженерный статус выполнения без повторной проверки отдельных этапов.
Checks Layer не содержит предметной логики
Checks Layer не знает:
- что такое тренд;
- что такое волна;
- что такое ликвидность;
- что такое фаза рынка.
Он работает исключительно с инженерными этапами выполнения Runtime.
Checks Layer не зависит от конкретных Engine
Файл не содержит ссылок на:
- Trend Engine;
- Wave Engine;
- Liquidity Engine;
- Coordinator;
- Strategy;
- Execution.
Любой аналитический движок может использовать данный слой без изменений.
Compile Check
Статус:
PASSED
Проверка выполнена командой:
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 получил два независимых уровня контроля качества:
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