build 039: complete Quotes Feed migration foundation

This commit is contained in:
2026-07-14 09:58:16 +03:00
parent 26deb861bc
commit 7b62873832
443 changed files with 80452 additions and 1335 deletions

View File

@@ -0,0 +1,194 @@
# Build 017.5 — Trading Rules
**Engineering Build Document**
---
# Контроль документа
| Свойство | Значение |
|----------|-----------|
| Build | 017.5 |
| Название | Trading Rules |
| Статус | **Accepted** |
| Подсистема | Trading |
| Layer | Trading |
| Тип | Architecture + Implementation |
| Версия | 1.0 |
| Язык | Русский |
---
# Цель Build
Создать компонент базового формирования `TradingDecision` из `CoordinatorResult`.
---
# Причина появления Build
После реализации `TradingValidation` Trading Layer получил механизм проверки входного `CoordinatorResult`.
Следующим шагом стал компонент, который преобразует:
```text
CoordinatorResult
```
в:
```text
TradingDecision
```
---
# Architecture
Создан компонент:
```text
TradingRules
```
В Build 017.5 реализован базовый каркас правил без BUY / SELL / HOLD / EXIT логики.
---
# Architecture Review
Подтверждено:
- Rules не выполняет Validation;
- Rules не обращается к Runtime;
- Rules не обращается к Coordinator internals;
- Rules не работает с биржей;
- Rules не исполняет сделки;
- Rules не управляет позицией;
- Rules формирует только базовый `TradingDecision`.
**Статус:** ✅ Passed
---
# ADR
Принято решение выделить правила формирования торгового решения в отдельный компонент Trading Layer.
`TradingRules` отвечает за формирование `TradingDecision` из `CoordinatorResult`.
**Статус:** Accepted
---
# Implementation
Создан файл:
```text
app/src/trading/market_intelligence/trading/rules.py
```
Реализован класс:
```text
TradingRules
```
Публичный метод:
```python
decide(coordinator_result)
```
Внутренние методы:
```text
_resolve_status()
_resolve_score()
_resolve_confidence()
_resolve_reason()
```
---
# Compile Check
```bash
python -m compileall src/trading/market_intelligence
```
Результат:
```text
Passed
```
---
# Domain Review
Подтверждено:
- компонент преобразует `CoordinatorResult` в `TradingDecision`;
- компонент не выполняет Validation;
- компонент не обращается к Runtime;
- компонент не обращается к Coordinator internals;
- компонент не исполняет сделки;
- компонент не управляет позициями;
- компонент не содержит BUY / SELL / HOLD / EXIT логики;
- компонент формирует только базовый каркас `TradingDecision`.
**Статус:** ✅ Passed
---
# Code Review
Проверка пройдена.
Подтверждено:
- компонент минимален;
- публичный метод только один;
- Validation не дублируется;
- торговая логика не добавлена преждевременно;
- лишние зависимости отсутствуют.
**Статус:** ✅ Passed
---
# Acceptance
Build завершён.
Выполнены:
- ✅ Architecture Design
- ✅ Architecture Review
- ✅ ADR
- ✅ Build Design
- ✅ Implementation
- ✅ Compile Check
- ✅ Domain Review
- ✅ Code Review
- ✅ Documentation
Статус Build:
```text
Accepted
```
---
# Следующий Build
```text
Build 017.6
Trading Service
trading/service.py
```