# Build 017.1 — Trading Models / TradingDecision

**Engineering Build Document**

---

# Контроль документа

| Свойство | Значение |
|----------|-----------|
| Build | 017.1 |
| Название | Trading Models / TradingDecision |
| Статус | **Accepted** |
| Подсистема | Trading |
| Layer | Common / Trading Contract |
| Тип | Architecture + Implementation |
| Версия | 1.0 |
| Язык | Русский |

---

# Цель Build

Добавить базовые модели Trading Layer.

Основной результат Build:

```text
TradingDecision
```

---

# Причина появления Build

После утверждения архитектуры Trading Layer потребовался официальный выходной контракт слоя.

`TradingDecision` является межслойной моделью:

```text
CoordinatorResult
        ↓
Trading Layer
        ↓
TradingDecision
        ↓
Execution / Risk / Portfolio
```

Поэтому модель размещена в Common Layer.

---

# Реализованные модели

В файл:

```text
app/src/trading/market_intelligence/common/models.py
```

добавлены:

```text
TradingDiagnostics
TradingEvaluationMeta
TradingDecision
```

---

# Architecture Review

Проверка подтвердила:

- модели корректно размещены в Common Layer;
- `TradingDecision` является результатом Trading Layer;
- `TradingDecision` не является ордером;
- `TradingDecision` не исполняет сделку;
- `TradingDecision` не управляет позицией;
- модель не зависит от Execution / Risk / Portfolio слоёв.

**Статус:** ✅ Passed

---

# ADR

Принято решение добавить модели Trading Layer в Common Layer, так как `TradingDecision` является межслойным контрактом между Trading Layer и будущими слоями Execution / Risk / Portfolio.

**Статус:** Accepted

---

# Implementation

Добавлены модели:

```text
TradingDiagnostics
TradingEvaluationMeta
TradingDecision
```

`TradingDecision` содержит:

- `coordinator_result`;
- `diagnostics`;
- `meta`;
- `payload`;
- `status`;
- `score`;
- `confidence`;
- `reason`.

---

# Compile Check

```bash
python -m compileall src/trading/market_intelligence
```

Результат:

```text
Passed
```

---

# Domain Review

Подтверждено:

- `TradingDecision` использует `CoordinatorResult` как входной аналитический контракт;
- модель не является ордером;
- модель не исполняет сделку;
- модель не содержит биржевой логики;
- модель не управляет позицией;
- модель не содержит Risk Plan / Entry Plan / Exit Plan.

**Статус:** ✅ Passed

---

# Code Review

Проверка пройдена.

Замечаний, блокирующих Build, нет.

**Статус:** ✅ 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.2

Trading Protocol
```