Files
dzentra_bot/docs/market_intelligence/builds/build-007-common-validation.md

6.7 KiB
Raw Permalink Blame History

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).

Следующим необходимым компонентом стала централизованная проверка корректности этих моделей.


Реализовано

Создан файл:

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 возвращает результат проверки

Проверка не использует исключения как основной механизм обработки.

Результатом проверки всегда является объект:

ValidationResult

Это позволяет Coordinator и Runtime безопасно обрабатывать ошибки без остановки всей платформы.


Validation использует единые модели Common

Validation Layer повторно использует:

  • EngineContext
  • EngineResult
  • ReasonCode
  • CheckStatus
  • EngineStatus

Новые дублирующие модели не создаются.


Validation защищает границы Market Intelligence

Добавлена централизованная проверка запрещённых торговых полей.

Используется архитектурная константа:

FORBIDDEN_TRADING_FIELDS

Это предотвращает случайное проникновение торговой логики в аналитический слой.


Validation не зависит от конкретных Engine

Validation Layer не содержит:

  • знаний о Trend Engine;
  • знаний о Wave Engine;
  • знаний о Liquidity Engine;
  • знаний о Strategy;
  • знаний о Execution.

Он одинаково применим для любого аналитического движка платформы.


Compile Check

Статус:

PASSED

Проверка выполнена командой:

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.

На текущем этапе сформирована следующая последовательность компонентов:

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