Files
dzentra_bot/docs/market_intelligence/builds/build-008-common-checks.md

7.2 KiB
Raw Permalink Blame History

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